Ошибка консоли: «Не удалось найти элемент на странице с использованием заданных параметров поиска».в аппиуме - PullRequest
0 голосов
/ 30 января 2019

Попытка найти элемент в мобильном приложении.

`открытый класс Ovex {частный статический драйвер AndroidDriver;

public static void main(String[] args) throws MalformedURLException, InterruptedException {


     DesiredCapabilities capabilities = new DesiredCapabilities();
     capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
     capabilities.setCapability("deviceName", "Glaxy S7 edge");
     capabilities.setCapability("platformVersion", "8.0.0");
     capabilities.setCapability("platformName", "Android");
     capabilities.setCapability("appPackage", "com.ovex_rn");
     capabilities.setCapability("appActivity", "com.ovex_rn.MainActivity");



     driver = new AndroidDriver(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);
     driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS) ;
     driver.findElement(By.xpath("//android.widget.TextView[contains(text(), 'Markets']")).click();

    // driver.quit();

} ` 

Вот путь из пользовательского интерфейса AUtomator Нажмите на ссылку, чтобы посмотретьXpath от UIAutomator

В этой строке отладчик показывает ошибку и отображает следующие сообщения об ошибке:

Exception in thread "main" org.openqa.selenium.NoSuchElementException: An element could not be located on the page using the given search parameters.

For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '3.5.2', revision: '10229a9', time: '2017-08-21T17:29:55.15Z'
System info: host: 'DESKTOP-45IINVJ', ip: '192.168.210.2', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_201'
Driver info: io.appium.java_client.android.AndroidDriver
Capabilities [{appPackage=com.ovex_rn, deviceScreenSize=1440x2560, networkConnectionEnabled=true, warnings={}, databaseEnabled=false, deviceName=ce051605b4cc832c04, platform=LINUX, deviceUDID=ce051605b4cc832c04, appActivity=com.ovex_rn.MainActivity, desired={appPackage=com.ovex_rn, appActivity=com.ovex_rn.MainActivity, platformVersion=8.0.0, platformName=Android, deviceName=Glaxy S7 edge}, platformVersion=8.0.0, webStorageEnabled=false, locationContextEnabled=false, takesScreenshot=true, javascriptEnabled=true, deviceModel=SM-G935F, platformName=Android, deviceManufacturer=samsung}]

 Session ID: 5b780d61-b329-4a8c-8614-928084365cf8
*** Element info: {Using=xpath, value=//TextView[contains(text(),'Markets')]}

1 Ответ

0 голосов
/ 31 января 2019

Пожалуйста, измените xpath на driver.findElement(By.xpath("//android.widget.TextView[@text='Markets']");, и если вы хотите использовать contains, используйте xpath следующим образом: driver.findElement(By.xpath("//android.widget.TextView[contains(@text,'Markets')]");

Вы использовали text() в xpath, который работает для автоматизации веб / mweb, в приложении для Android @text работает вместо text()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...