2017-03-27 9 views
0

私は、次のコードを使用して要素にスクロールしようとしています:Appium-uiAutomatorは、アンドロイドのため正常に動作していないが、iOSの

@AndroidFindBy(uiAutomator = "新しいUiScrollable(新UiSelector())のscrollIntoView(。" + "新しいUiSelector()"、 "新しいUiSelector()"、 "新しいUiSelector()"、新しいUiSelector() "));") public MobileElement orgContact;

これは、Androidで完璧に動作しますが、iOSの上で、私は次のエラーを取得する: org.openqa.selenium.NoSuchElementException:ロケータマップ:この戦略によって要素が見つかりません を - ネイティブコンテンツ:「By.IosUIAutomation:新しいUiScrollable(新しいUiSelector())。scrollIntoView(新しいUiSelector()。text( "Contacts")); "

私も使ってスクロールしようとしています: ます。public void verticalScroll(AppiumDriverドライバ){

this.driver=driver; 
dimensions = driver.manage().window().getSize(); 
Double screenHeightStart = dimensions.getHeight() * 0.5; 
int scrollStart = screenHeightStart.intValue(); 
System.out.println("s="+scrollStart); 
Double screenHeightEnd = dimensions.getHeight() * 0.2; 
int scrollEnd = screenHeightEnd.intValue(); 
driver.swipe(0,scrollStart,0,scrollEnd,5000); 

} をしかし、それはまた、動作しません。 誰でも私がここで間違っていることを提案できますか?

答えて

0

Shalom Ronit。

あなたのコードがうまくいかない理由は、間違った、間違っている@iOSFindByのAndroidロケーター戦略も使用しているためです。

あなたのXcodeのバージョンに応じて、あなたはID /アクセシビリティID、あるいはのXpathを使用する必要があります

(8アップルは、このオプションを削除したXcodeで)iOSの上UiAutomatorを使用することができない場合があります。時間をかけてロケータ戦略を調べたり、例を検索したり、iOSの要素を正しく見つける方法を調べてください。

私はあなたが自動化しようとしているアプリに精通していないので、これ以上の支援はできません。この要素はIDを持っていますか?あなたはそれを見つけるためにスクロールする必要がありますか?あなたは使い方を知っていますかdriver.findBy()?

関連する問題