zoukankan      html  css  js  c++  java
  • appium 使用findElementByAndroidUIAutomator 定位元素示例

    appium 使用findElementByAndroidUIAutomator 定位元素示例

    import io.appium.java_client.remote.MobileCapabilityType;
    import io.appium.java_client.remote.MobilePlatform;
    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.remote.DesiredCapabilities;
    
    import java.io.File;
    import java.net.URL;
    import java.util.List;
    
    import static org.junit.Assert.assertEquals;
    import static org.junit.Assert.assertTrue;
    
    /**
     * Test -android uiautomator locator strategy
     */
    public class AndroidUIAutomatorTest {
    
      private AppiumDriver driver;
    
      @Before
      public void setup() throws Exception {
        File appDir = new File("src/test/java/io/appium/java_client");
        File app = new File(appDir, "ApiDemos-debug.apk");
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability(MobileCapabilityType.BROWSER_NAME, "");
        capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "Android Emulator");
        capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, MobilePlatform.ANDROID);
        capabilities.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());
        driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
      }
    
      @After
      public void tearDown() throws Exception {
        driver.quit();
      }
    
      @Test
      public void findElementTest() {
        WebElement element = driver.findElementByAndroidUIAutomator("new UiSelector().index(0)");
        assertEquals("android.widget.FrameLayout", element.getTagName());
      }
    
      @Test
      public void findElementsTest() {
        List<WebElement> elements = driver.findElementsByAndroidUIAutomator("new UiSelector().clickable(true)");
        assertTrue(elements.size() > 11);
      }
    
      @Test
      public void findElementByTest() {
        WebElement element = driver.findElement(MobileBy.AndroidUIAutomator("new UiSelector().index(0)"));
        assertEquals("android.widget.FrameLayout", element.getTagName());
      }
    
      @Test
      public void findElementsByTest() {
        List<WebElement> elements = driver.findElements(MobileBy.AndroidUIAutomator("new UiSelector().clickable(true)"));
        assertTrue(elements.size() > 11);
      }
    
      @Test
      public void findChainedElementsTest() {
          MobileElement el1 = (MobileElement) driver.findElementByAndroidUIAutomator("resourceId("android:id/content")");
          MobileElement el2 = (MobileElement) el1.findElementByAndroidUIAutomator("text("Accessibility")");
          el2.click();
          MobileElement el3 = (MobileElement) driver.findElementByAndroidUIAutomator("text("Custom View")");
          assertTrue(el3.isDisplayed());
      }
    
      @Test(expected = IllegalArgumentException.class)
      public void ErrorTest() {
        driver.findElementByAndroidUIAutomator(null);
      }
    
    }
  • 相关阅读:
    燃料
    Widgets学习
    莫比乌斯反演与杜教筛
    jade在命令行实时编译
    jade文档声明和头尾标签
    团队成员之间的对抗与互助的鼓励
    jade简介
    node入口文件分析和目录初始化
    搭建一个项目的前期准备
    判断团队适不适合使用node
  • 原文地址:https://www.cnblogs.com/testway/p/6225415.html
Copyright © 2011-2022 走看看