自动化-Appium-通过WiFi连接真机进行自动化测试(Java版)

2022-07-25 13:34:40 浏览数 (1)

通过WiFi连接真机进行自动化测试

本章示例为Android版本进行讲解(Windows与Mac环境下操作基本一致,此次示例为在Windows环境)。

1、开启设备端口

1、将真机用USB线连接到电脑,cmd打开命令行,输入adb devices,查询连接设备的名称。

如图:真机udid为316d9073

2、开启端口(端口不能被占用),输入adb -s 316d9073 tcpip 5556

2、无线连接设备

1、开启端口后用无线连接(保证设备和PC机在同一个局域网,可以用ping验证是否相通)。打开真机,查看IP地址。如图:IP为10.106.17.26

2、通过查询到的真机IP与设置的端口号,输入adb connect 10.106.17.26:5556

3、连接上后就可以拔掉USB线了,查看连接状态,输入adb devices

说明已经连接上了。然后可以继续用上面方法无线连接其他的设备。

3、执行测试脚本

1、在脚本设置参数里,连接物理设备udid的取值填写真机IP与端口号。

capabilities.setCapability("udid", "10.106.17.26:5556");

2、本章以操作Chrome为示例,真机设备里如没有Chrome应用程序,可以在执行自动化测试前先安装到设备里,安装Chrome输入安装命令 adb install -r 进行安装,或者使用手机助手进行安装。

3、脚本代码:

代码语言:javascript复制
package com.test.wifi;
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;
/**
 * 通过WiFi连接真机进行自动化测试
 *
 * @author wangmcn
 *
 */
public class WiFi {
       public static void main(String[] args) throws Exception {
              AndroidDriverdriver;
              DesiredCapabilities capabilities = new DesiredCapabilities();
              capabilities.setCapability("automationName", "Appium");
              capabilities.setCapability("platformName", "Android");
              capabilities.setCapability("platformVersion", "6.0");
              capabilities.setCapability("deviceName", "Galaxy C7");
              capabilities.setCapability("udid", "10.106.17.26:5556");
              capabilities.setCapability("unicodeKeyboard", true);
              capabilities.setCapability("resetKeyboard", true);
              capabilities.setCapability("sessionOverride", true);
              capabilities.setCapability("newCommandTimeout", 60);
              capabilities.setCapability("browserName", "Chrome");
              capabilities.setCapability("nativeWebScreenshot", true);
              capabilities.setCapability("recreateChromeDriverSessions", true);
              driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
              System.out.println("启动Chrome");
              driver.get("https://www.baidu.com");
              driver.findElement(By.id("index-kw")).sendKeys("Appium");
              driver.findElement(By.id("index-bn")).click();
              Thread.sleep(2000);
              driver.quit();
       }
}

4、cmd打开命令行,输入appium,开启appium服务。

5、执行测试脚本,此时appium服务日志可以看到以无线的方式在执行脚本。

0 人点赞