Art*_*tem 6 selenium ios selenium-webdriver appium appium-ios
我正在通过 Appium 使用原生 iOS 应用程序。
我有以下结构:
UIAApplication ->
UIAWindow ->
UIATextBox
UIALabel
UIAWindow ->
SomethingElse
Run Code Online (Sandbox Code Playgroud)
我找到了一种获取第一个 UIAWindow 的方法,我想获取该窗口中所有元素的列表。我怎么做?
我想从第一个 UIAWindow 获取 UIATextBox 和 UIALabel 但不是SomethingElse元素。
我如何做一般的子元素列表?
@Test
public void testListWindows() {
List<MobileElement> windows = driver.findElementsByClassName("UIAWindow");
List<MobileElement> elements = windows.get(0).?????
}
Run Code Online (Sandbox Code Playgroud)
您快到了。当你想要的是第一个 UIAWindow 的所有元素的列表时,你所拥有的是给你一个所有 UIAWindows 的列表。我建议使用带有通配符的 Xpath。
这将为您提供第一个 UIAWindow 的直接子元素的每个元素:
List<MobileElement> elements = driver.findElements(MobileBy.xpath("//UIAWindow[1]/*");
Run Code Online (Sandbox Code Playgroud)
这将使您获得第一个 UIAWindow 的每个孩子和子孩子以及子子孩子等:
List<MobileElement> elements = driver.findElements(MobileBy.xpath("//UIAWindow[1]//*");
Run Code Online (Sandbox Code Playgroud)
额外提示:如果您为 iOS 进行自动化,我认为这意味着您可以访问 OS X,您可以在其中安装 Appium dot 应用程序并使用检查器。检查器是一个很好的工具,可以在将 xpath 查询放入代码之前对其进行测试。
归档时间: |
|
查看次数: |
17500 次 |
最近记录: |