У меня есть два вопроса, относящихся к одной и той же проблеме, которые я не могу решить. Я создаю программу appium для тестирования нативного приложения для Android. Я использую Java.
Перед входом в приложение есть возможность изменить среду. Я передаю в своем классе appium имя среды как параметр, и я использую Xpath, чтобы найти элемент, соответствующий предоставленной среде.
Проблема: не имеет значения, какое имя среды я передаю в качестве параметра, каждый раз, когда оно меняется на конкретное (промежуточное).
Вопросы:
Что может быть причиной этого?
Почему, когда я использую xpath с параметром text, appium не может найти элемент, несмотря на то, что инструмент uiautomatorviewer имеет это свойство text.
selectEnv = androidDriver.findElement (By.xpath ("// android.widget.LinearLayout [@ text = 'QA']"));
Я предоставил 2 скриншота. Первый - это экран приложения со списком сред и свойств из Android Studio Layout Inspector.
Второй - скриншот свойств uiautomatorviewer для одного из элементов списка.
new WebDriverWait(androidDriver, 30).until(ExpectedConditions.presenceOfElementLocated(id("md_contentRecyclerView")));
envContainer = androidDriver.findElement(By.id("md_contentRecyclerView"));
Assert.assertTrue(envContainer.isDisplayed());
if (env.equals("dev")) {
selectEnv = androidDriver.findElement(By.xpath("//android.widget.LinearLayout[@index='0']"));
selectEnv.click();
}
if (env.equals("QA")) {
selectEnv = androidDriver.findElement(By.xpath("//android.widget.LinearLayout[@index = '1']"));
selectEnv.click();
}
if (env.equals("Staging")) {
selectEnv = androidDriver.findElement(By.xpath("//android.widget.LinearLayout[@index='2']"));
selectEnv.click();
}
if (env.equals("Prod")) {
selectEnv = androidDriver.findElement(By.xpath("//android.widget.LinearLayout[@index='3']"));
selectEnv.click();
}