0

我正在尝试自动化使用 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 一起使用吗?

4

1 回答 1

2

如果您有多个具有相同特定属性的元素,您可以将它们收集到一个列表中.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());
于 2019-11-27T04:15:34.930 回答