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();
  }
   
}
复制代码

 

posted @   hjhsysu  阅读(381)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示