2017-02-13 39 views
0

ApproidでアンドロイドのUIテストを自動化していて、マップからユーザー入力をテストする必要があります。地図は通常のGoogleマップビューで、アプリに統合されており、その地図の少なくとも3つのポイントで1秒間押す必要があります。 私の問題は、今、私のコードがこの部分をスキップし、エラーなしで次の行に移動することです。 は、ここに私のコードAppium androidのマップ座標をタップする

WebElement punto1=driver.findElement(By.className("android.widget.RelativeLayout")); 
    TouchAction touchAction=new TouchAction((MobileDriver) driver); 
    touchAction.longPress(punto1, 309, 910, 3).perform(); 


    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 

    WebElement punto2=driver.findElement(By.className("android.widget.RelativeLayout")); 
    TouchAction touchAction2=new TouchAction((MobileDriver) driver); 
    touchAction2.longPress(punto2, 320, 890, 3).perform(); 
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 

    WebElement punto3=driver.findElement(By.className("android.widget.RelativeLayout")); 
    TouchAction touchAction3=new TouchAction((MobileDriver) driver); 
    touchAction3.longPress(punto3, 299, 880, 3).perform(); 
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 

私はlongPress(要素、X、Y、int型の継続時間)を使用していますし、私はそれが押された取得しています。 見ることができますが、自分のエリアにタッチ入力を設定しようとしましたが、同じ問題が発生します。

どうすればこの問題を解決できますか? ありがとうございます

答えて

0

TouchAction - 継続時間はミリ秒ですので、1000秒に1秒を入力してください。 3秒が必要な場合は、期間は3000になります。

あなたのコードから:touchAction.longPress(punto1, 309, 910, 1000).perform();

+0

私はそれが正しいことを知っているが、私の地図は押されていない(私は2-3秒の押されたタップの後にピンが表示されるはずです)。私のコードはエラーを送信しません。それは何でしょうか? – Feanor

+0

** release()**を試してもよろしいですか? touchAction.longPress(punto1、309、910、3).release()。perform(); –

+0

はい、まだ何も教えてくれません – Feanor

関連する問題