【soloπ】app自动化无线连接手机
Pre-condition: 手机与电脑wifi在同一局域网
1. 数据线连接手机并允许调试 cmd命令行执行:adb devices
List of devices attached
设备号 device
2. 执行以下命令分配ip port(5558未被占用):adb -s 设备号 tcpip 5558
restarting in TCP mode port: 5558
3. 执行使用端口连接手机(192.168.xx.xx手机的ip地址):adb connect 192.168.xx.xx:5558
connected to 192.168.xx.xx:5558
4. 拔掉数据线,查看已用wifi连接的设备:adb devices
List of devices attached
192.168.xx.xx:5558 device
步骤一:开启设备端口
-
手机用USB线连接到电脑,cmd打开命令行,输入adb devices,查询连接设备的名称。
如图:名称为316d9073
-
开启端口(端口不能被占用),输入adb -s 316d9073 tcpip 5556
END
步骤二:无线连接设备
-
开启端口后用无线连接(保证设备和PC机在同一个局域网,可以用ping验证是否相通)。打开手机,查看IP地址。如图:IP为10.106.17.26
-
通过查询到的手机IP与设置的端口号,输入adb connect 10.106.17.26:5556
-
连接上后就可以拔掉USB线了,查看连接状态,输入adb devices
如图说明已经连接上了。然后继续用上面方法无线连接其他的设备。
END
步骤三:执行测试脚本
-
在设置参数里,连接物理设备唯一设备标识符的取值填写手机IP与端口号。
capabilities.setCapability("udid", "10.106.17.26:5556");
脚本完整代码(JAVA):
public class Chrome {
protected AppiumDriver
driver; @BeforeTest
protected void setDriver() throws MalformedURLException,InterruptedException {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("deviceName", "Galaxy C7");
capabilities.setCapability("udid", "10.106.17.26:5556");
capabilities.setCapability("platformVersion", "6.0.1");
capabilities.setCapability("noReset", "true");
capabilities.setCapability("fastReset", "false");
capabilities.setCapability("fullReset", "false");
capabilities.setCapability("browserName", "Chrome");
capabilities.setCapability("appPackage", "com.android.browser");
capabilities.setCapability("appActivity", ".BrowserActivity");
capabilities.setCapability("newCommandTimeout", 24000);
driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);
System.out.println("App is launched!");
}
@Test
public void miniProgramTest() throws Exception {
Thread.sleep(2000);
driver.get("http://m.baidu.com");
Thread.sleep(2000);
driver.findElementByCssSelector("#index-kw").sendKeys("selenium");
Thread.sleep(2000);
}
@AfterTest
public void afterTest() {
driver.quit();
}
-
cmd打开命令行,输入appium,开启appium服务。
-
执行测试脚本,此时appium服务日志可以看到以无线的方式在执行脚本。