通过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服务日志可以看到以无线的方式在执行脚本。