zoukankan      html  css  js  c++  java
  • Appium——主从控制执行

    1.客户端(Eclipse)机器A, 服务端(appium、Genymotion)机器B

    2.设置Appium,Server Address为192.168.17.123,重新启动Appium

     

    3.在客户端机器A浏览器中输入:http://192.168.17.123:4723/wd/hub,

    说明配置成功。

    JAVA代码:

    其中driver= new AndroidDriver<WebElement>(new URL("http://192.168.17.123:4723/wd/hub"), capabilities);

    capabilities.setCapability("app", "F:\ContactManager.apk");F:\ContactManager.apk为服务端APK的路径

    public class AppiumTest {
        
        public AndroidDriver<WebElement> driver;
        
          @BeforeClass
          public void startTest() throws MalformedURLException{
              
             // File classpathRoot= new File(System.getProperty("user.dir"));
             // File appDir= new File(classpathRoot, "res/app");
            //  File app= new File(appDir, "ContactManager.apk");
              DesiredCapabilities capabilities= new DesiredCapabilities();
              capabilities.setCapability("automationName", "Appium");
              capabilities.setCapability("platformName","Android");
              capabilities.setCapability("deviceName","Android Emulator");
              capabilities.setCapability("platformVersion", "4.4.2");
              // 根据这个app capabilities,Appium会在启动测试之前安装好app到设备 
              capabilities.setCapability("app", "F:\ContactManager.apk");
              //设置安卓app的包名的capability,告诉appium你要运行哪个app。
              capabilities.setCapability("appPackage", "com.example.android.contactmanager");
              capabilities.setCapability("appActivity", ".ContactManager");
              driver= new AndroidDriver<WebElement>(new URL("http://192.168.17.123:4723/wd/hub"), capabilities);
          }
        
      @Test
      public void addContact() {
         // WebElement el= driver.findElement(By.xpath(".//*[@text='Add Contact']"));
          WebElement el = driver.findElementByAndroidUIAutomator("new UiSelector().text("Add Contact")");
          el.click();
          List<WebElement> textFieldsList= driver.findElementsByClassName("android.widget.EditText");
          textFieldsList.get(0).sendKeys("Some Name");
          textFieldsList.get(2).sendKeys("Some@example.com");
          driver.swipe(100, 500, 100, 100, 2);
          driver.findElementByXPath(".//*[@text='Save']").click();
     
      }
      
    
      @AfterClass
      public void afterClass() {
          driver.quit();
      }
       
    }
  • 相关阅读:
    学习:恢复被孤立的数据库dbo (转)
    学习:SharePoint编程提升权限的方法(转)
    SQL行列互换
    前台用js、jquery出现错误很多是由于IE缓存
    关于dialog首次加载的时候隐藏的一个问题
    要取某个对象的值,先要判断对象是否为空的简便写法(记)
    写js或者jquery的时候最重要的调试,再也不用alert弹出对象
    嵌入式软件测试的十大秘诀
    SIMULINK sfunction的设计
    关于java解压zip与rar的问题
  • 原文地址:https://www.cnblogs.com/hjhsysu/p/5777095.html
Copyright © 2011-2022 走看看