Locator Strategy 'css selector' is not supported for this session issue with appium

前端 未结 2 1833
借酒劲吻你
借酒劲吻你 2020-12-20 01:21

Since I\'m new to mobile automation, I\'ve been trying to run simple activities using appium maven and eclipse. But When I try to run Calculator app opens but the elements a

相关标签:
2条回答
  • 2020-12-20 02:21

    By.name("text") is removed from Appium v1.5.0 onwards.

    Also just to add cssSelector strategy + methods like getAttribute("color/background") present in Selenium are not supported in Appium for native apps as these are not supported by underlying unit testing framework of Android i.e. UIAutomator.

    You can use below options for clicking digits of calculator

    driver.findElement(By.id(“com.android.calculator2:id/digit5”)).click();
    driver.findElement(By.xpath(“//android.widget.Button[contains(@resource-id,'digit5') and @text='5']”)).click();
    driver.findElementByAccessibilityId(“plus”).click();
    driver.findElement(By.xpath(“//android.widget.Button[@text='5']”)).click();
    
    0 讨论(0)
  • 2020-12-20 02:25

    Appium is not Selenium: they both implemented using JSON wire protocol and has similar APIs, but not the same ones:

    Supported locator strategies for Native android app:

    • id (resource-id View attribute);
    • accessbilityId (content-desc View attribute);
    • uiAutomator (better to read about UiSelector);
    • className (ui component type);
    • XPath.

    So you cannot use By.name locator strategy for Android driver session, it's not supported.

    To make it easy, I suggest using MobileBy in place of By in Appium native tests: you will get the proper options.

    0 讨论(0)
提交回复
热议问题