2016-11-09 1 views
0

私の目的は、TNのような状態がユーザに見えるようになるまで、ドロップダウンをスクロールダウンします。 scrollTo()メソッドが動作していても現在のAppiumビルドでは非推奨になっています。私はdriver.swipe()を試しましたが、何も起こりません。私はiOSの述語に精通していませんが、それらを使って試しました。Appium:Javaを使ってiOSアプリケーションをスクロールダウンする方法

enter image description here

代替は、これまでに試したが、どれも働いた:

#1

MobileElement element = wd.findElementByIosUIAutomation(
       ".tableViews()[0]" + ".scrollToElementWithPredicate(\"name CONTAINS 'TN'\")"); 
     element.tap(1, 1); 

#2:

JavascriptExecutor js = (JavascriptExecutor) wd; HashMap <String, String> scrollObject = new HashMap <String, String>(); 
scrollObject.put("element", ((RemoteWebElement) 
wd.findElementByAccessibilityId("TN")).getId()); js.executeScript(
"mobile: scroll", scrollObject); 
+0

は、Androidでこれを行ったがIOSのためのアイデアを持っていません。このリンクをチェックして、スクロールを使ってテキストに行くことを示すappiumソース内のテストを確認してください。 https://github.com/appium/java-client/blob/master/src/test/java/io/appium/java_client/ios/IOSScrollingSearchingTest.java – Grasshopper

+0

ありがとうございますが、私はすでに 'scrollByDriver()'を試しています。それはあまりにも機能しませんでした。 ** Slider **と書かれているのは、検索するテキストを意味するのでしょうか、それとも別のものですか? –

+0

これについてはわかりませんが、テスト中のSliderはスクロール可能なコンテナの内部要素の名前を参照しています。 scrollByElement()を試したことがありますか?あなたはオプションを見つけることができますか? IOSUiAutomationによるfindElementを使用した状態コード。 – Grasshopper

答えて

0

[OK]を私は解決策を考え出したが、解決策の欠如を考えると見つけることは非常に困難でした。

String path = "UIATarget.localTarget().frontMostApp().mainWindow().popover().tableViews()[0].cells()[\"TN\"]"; 
driver.executeScript(path + ".scrollToVisible();"); 

MobileElement state = driver.findElementByIosUIAutomation(path); 
state.tap(1, 1); 
0

yができそれを試してみる?

String uiAutoLocator = ".tableViews()[0].firstWithPredicate(\"name CONTAINS 'TN'\")"; 
driver.executeScript(uiAutoLocator + ".scrollToVisible();"); 

は、ロケータuiAutoLocator要素が得られていることを確認します。

関連する問題