testng - 如何在appium中的多个设备中运行脚本
问题描述
脚本未在两台设备上并行运行,尽管在两台设备上都打开了应用程序,但仅在一台设备上执行了操作。其他设备空闲。
期望的能力:
@Parameters({ "deviceName_", "udid_", "platformVersion_", "URL_" })
@BeforeMethod
public void beforeMethod(String deviceName_,String udid_,String platformVersion_,String URL_) throws MalformedURLException, InterruptedException {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("deviceName", deviceName_);
capabilities.setCapability("platformVersion", platformVersion_);
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("browserName", "");
capabilities.setCapability("appPackage", "com.*******"); //Replace with your app's package
capabilities.setCapability("appActivity", "com.******.login.SplashScreen");
capabilities.setCapability("udid", udid_);
driver = new AndroidDriver(new URL("http://"+URL_), capabilities);
}
Testng xml:
<suite name="Suite" parallel="tests" thread-count="2">
<test name="Test1">
<parameter name="deviceName_" value="ZX1D649DLB"/>
<parameter name="udid_" value="192.168.50.232:5151"/>
<parameter name="platformVersion_" value="6.0"/>
<parameter name="URL_" value="127.0.0.1:4723/wd/hub"/>
<classes>
<class name="com.bm.search_592.ParallelDevice"/>
</classes>
</test>
<test name="Test2">
<parameter name="deviceName_" value="BEPN557TU8SOR4CE"/>
<parameter name="udid_" value="192.168.50.201:5252"/>
<parameter name="platformVersion_" value="6.0.1"/>
<parameter name="URL_" value="127.0.0.1:4726/wd/hub"/>
<classes>
<class name="com.bm.search_592.ParallelDevice"/>
</classes>
</test>
</suite>
解决方案
我认为 udid 参数是错误的,为了找到每个设备的正确 udid,请在终端或 CMD 上执行以下命令:
亚行设备
序列号是您在输出中需要的。
而且我看到您正在使用不同的端口,这就是您所需要的,但是与选定的端口和上限并行打开 2 个 appium 服务器。
推荐阅读
- python - 'pip3 install patool' 后无法使用 patoolib
- python - 如何有条件地从列表中删除项目
- php - 我正在尝试使用教义和查询生成器在 symfony 中创建列表过滤器
- firebase - 如何从 ERP 系统登录 Firebase?
- java - 缺少依赖版本 - io.vertx:vertx-stack-depchain:jar 的“dependencies.dependency.version”缺失
- android - 在 Android 中更快地对 DocumentFiles 数组进行排序
- python - 句子中单词之间的关系
- wpf - WPF。GeometryDrawing 的画笔总是只有透明的
- visual-studio-code - 我必须更改哪些设置才能使 Visual Studio Code 自动运行正确目录中的文件?
- css - 如何根据屏幕大小加载不同的 css 文件 - 仍然缺少好的答案