APPIUM控制多台安卓设备进行自动化测试

一.设置APPIUM服务器

1.打开APPIUM,点击’Advanced’;

在这里插入图片描述
2.以一定规律设置’Sever Port’,‘Bootstrap Port’(我个人是按照递增加1的规律,方便快捷),开始一个APPIUM占用两个端口号,依次增加,这是为了方便后面写代码时,自动连接APPIUM端口,然后点击’Save As Presets’,接着会弹窗让你命名,这个命名对你往后的操作没影响,可以瞎**命名,不重复就行;

在这里插入图片描述
在这里插入图片描述

3.设置完几个默认端口之后,点击’Presets’,选中想要启动的预设值端口,点击’Start Server V1.13.0’,这就启动一个APPIUM了,后面你可以根据自己需要控制几个安卓手机进行自动化测试,开启几个APPIUM。

在这里插入图片描述

二.设置代码参数

1.设置代码参数的首要思路是把变量都抽离出来,如下图我的设置,'platform_version’是安卓版本,'device_name’是设备名称,'app_package’是被测APP的包名,'app_activity’是被测APP的启动名,'device_index’是我为了控制代码连接APPIUM服务器端口用的。

在这里插入图片描述

三.自动获取参数变量

1.获取所有连接电脑的安卓手机设备名(手机必须已处于开发者模式,并打开了USB调试模式),利用subprocess.Popen调用cmd执行ADB命令,再将返回的数据进行处理,最终return一个装有所有设备名称的list。注意的是,我是在windows系统下写的代码,如果你是在linux之类的系统,代码需要做调整。

在这里插入图片描述

2.获取设备名称list对应的安卓版本list,和获取设备的方法差不多,只是它是在已获取设备list的前提下,把设备list当作参数传进去得出来的;

在这里插入图片描述

3.获取APP包名及启动名,一般我们要测试的APP是固定的,如果是自家产品可以直接找开发要package,activity,如果是别人家的产品,那可以打开这个app,然后再cmd上面输入下面的命令(只连接一台安卓设备的情况下,多台设备要加-s 设备名),然后如图,com开头的‘/’左边是包名,右边是启动名,需注意的是,启动名一般情况下因为你所处的界面不同而不同,一般是你要定位启动后第一次出现的界面;当然还有其他ADB命令能精准定位启动名的,这里就不展开细讲了。

// An highlighted block
adb shell dumpsys window windows | findstr "Current"

在这里插入图片描述

四.利用多进程运行代码

根据连接的设备数,生成相应数目的进程去处理,这里我就不PO代码了,如果你们特别需要,那就在留言板CALL我吧,到时我再PO上来。

发布了4 篇原创文章 · 获赞 0 · 访问量 490

猜你喜欢

转载自blog.csdn.net/weixin_42579304/article/details/100555762