我正在尝试自动化使用Pega PRPC构建的iOS应用程序。但是我找不到一些元素。
以下是 appium 中的元素部分,
Appium 检查器视图
下面是我用来引用该元素的代码,
private IOSDriver<MobileElement> driver;
URL url = new URL(configFileReader.getAppiumUrl());
driver = new IOSDriver<MobileElement>(url, cap);
MobileElement enterValueToHeadOnWeir = driver.findElementByClassName("XCUIElementTypeTextField");
enterValueToHeadOnWeir.sendKeys(configFileReader.getHeadOnWeirValue());
使用上面的代码,我能够获取该元素。但是在同一屏幕中,我在具有相同类名的文本字段上有相同的种类,并且它没有任何唯一标识符。对于第一个元素,这将起作用,但我无法处理其他文本字段。
由于这是一个 PEGA 应用程序,我对这些元素有"data-test-id"属性,我可以在 Appium 中使用它吗?
如果您有多个具有相同特定元素的元素,则可以将它们收集到一个列表中,其中包含.findelementsBy*
:
List<MobileElement> enterValueToHeadOnWeir = driver.findElementsByClassName("XCUIElementTypeTextField");
//example to second element
enterValueToHeadOnWeir.get(1).sendKeys(configFileReader.getHeadOnWeirValue());
这是元素的索引:.get(1)
。
但是,如果您想仍然使用您的意思"data-test-id"
,您可以通过xpath
来实现:
MobileElement enterValueToHeadOnWeir = driver.findElementByXPath("//*[@elementId='enter_value_here']");
enterValueToHeadOnWeir.sendKeys(configFileReader.getHeadOnWeirValue());