Всем хорошего дня, у меня появился следующий вопрос.
Мой тест вызывает следующий метод:
@Override
@Step("Проверка: элемент {0} присутствует на экране")
public boolean isElementPresent(AndroidElement element) {
try {
element.isDisplayed();
return true;
} catch (Exception e){
return false;
}
}
Метод отрабатывает возвращая на выходе нужный мне результат. Если возвращается “true” то всё ок. а вот если метод возвращает “false”, то получаю следующий стектрейс:
org.openqa.selenium.NoSuchElementException: Can't locate an element by this strategy: Locator map:
- native content: "By.xpath: //*[@resource-id='ru.tfw_mob.devtest:id/menu_overflow']"
- html content: "by id or name "mainMenuBtn""
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '2.53.1', revision: 'a36b8b1cd5757287168e54b817830adce9b0158d', time: '2016-06-30 19:26:09'
System info: host: 'vitekes', ip: '192.168.200.1', os.name: 'Windows 10', os.arch: 'x86', os.version: '10.0', java.version: '1.8.0_102'
Driver info: driver.version: unknown
at io.appium.java_client.pagefactory.AppiumElementLocator.findElement(AppiumElementLocator.java:110)
at io.appium.java_client.pagefactory.interceptors.InterceptorOfASingleElement.intercept(InterceptorOfASingleElement.java:57)
at io.appium.java_client.android.AndroidElement$$EnhancerByCGLIB$$c898a80.toString(<generated>)
at java.text.MessageFormat.subformat(MessageFormat.java:1280)
at java.text.MessageFormat.format(MessageFormat.java:865)
at java.text.Format.format(Format.java:157)
at java.text.MessageFormat.format(MessageFormat.java:841)
at ru.yandex.qatools.allure.aspects.AllureAspectUtils.getTitle(AllureAspectUtils.java:65)
at ru.yandex.qatools.allure.aspects.AllureStepsAspects.createTitle(AllureStepsAspects.java:70)
at ru.yandex.qatools.allure.aspects.AllureStepsAspects.stepStart(AllureStepsAspects.java:42)
at tfw.qa.mobile.core.drivers.commands.DriverCommandsImpl.isElementPresent(DriverCommandsImpl.java:144)
at tfw.qa.mobile.pages.elements.MainPageElements.isMainMenuOpenerVisible(MainPageElements.java:149)
at tfw.qa.mobile.pages.android.MainPage.isMainMenuOpenBtnVisible(MainPage.java:29)
at tfw.qa.mobile.pages.android.LoginPage.logout(LoginPage.java:42)
at tfw.qa.mobile.demo.BaseTest.tearDownAction(BaseTest.java:60)
...
В данном случае это пример показывающий падение.
Поиск в интернете показал что такого быть в общем-то не должно, по крайней мере есть примеры в которых указан код аналогичный моему.
Поиск по коду аллюра показал две вещи, первая: я не очень хорошо знаю яву, и второе: там выставляются аспекты на каждое брошенное исключение.
Знает ли кто почему происходит то что происходит и как это поправить