多进程启动设备和appium实现自动化测试

本文介绍了如何在自动化测试中利用多进程启动不同设备,并通过Appium实现自动化。首先,文章讲解了安装环境和所需工具,接着阐述了如何动态获取手机信息以配置Appium的desired_caps,并通过多进程启动多台手机。此外,还讨论了如何根据手机数量创建相应数量的Appium服务,检测和释放端口,以及启动多进程测试的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

测试过程中,难免遇到多机型兼容测试。如果拿很多手机轮流做手工测试,耗费时间长,重复工作量大,占用人工多。网上已有较多手机测试的文章,基本会根据多个手机参数在配置文件中写死。这样的方式不够灵活,本篇文章动态获取手机信息,形成多份desired_caps,便于多手机启动读取不同参数。同时通过代码维护appium服务,检测端口,释放端口等。本篇文章致力于一键启动,但仍有很多功能不尽人意,后期尽力维护。

安装环境

测试环境:

  • Windows
     

安装工具:

  • Node.js安装- Python安装- Appium安装- Appium-Python-Clinet安装- Jdk安装- Android Sdk安装- appium-doctor 安装
     

具体流程

多进程启动多设备

1. Appium配置

创建yaml文件:此处的yaml文件中,只需要将常用的参数罗列出即可,后续会根据不同的手机参数,动态修改其中的值。

初始化appium:该方法需要在调用时,根据不同手机动态传入所需参数。

974×539 65.5 KB

2.多进程启动多手机

需要根据当前连接的手机数量,创建对应个数的进程。首先,获取当前手机个数。此方法会获取当前系统中在线手机的系统版本号、手机名称、唯一序列号,封装到PhoneInfo类中, 并循环添加到列表中。例如,此时有三台手机,可据此创建三个进程启动手机。

根据手机数量创建多个进程,此处需要注意两点:

  1. 端口号会根据手机数量,逐步累加。例如,有三台手机,则启动端口号为:4725,4727,4729;1. 传入的参数为上一步封装的系统版本号、手机名称、唯一序列号,以此在多进程中匹配并启动不同的手机;

996×423 24.2 KB

3.启动多进程测试

**
**

多进程启动多服务

想要进行多手机测试,需要启动对应手机数量的多个服务。

Appium原理如下:

969×484 39 KB

根据appium原理可知,appium服务端口号默认为4723,想启动多个appium服务,只需要增加端口号,便可启动多个服务。同时,多个appium需要对应多个手机,因此多个手机端也需要指定多个端口号,即形成:

Server client

4723 4724

4725 4726****

1.启动服务的命令。

appium -a 127.0.0.1 -p 4723 --bootstrap-port 4724

2.封装单进程启动服务的方法

**
**

3.多进程启动服务

需要根据当前手机数量,启动多少进程(前面已经看过如何获取手机数量,现在可直接使用)

4.检测端口、释放端口

检测端口:通过socket连接,如果连接通过,则说明当前端口被占用,如果连接失败,会抛异常,则说明当前端口未占用,可以在该端口下启动appium服务。

释放端口:该命令可杀掉所有appium服务。

5.启动多进程测试

Qtest是360旗下的专业测试团队!

是WEB平台部测试技术平台化、效率化的先锋力量!

### 完整环境配置教程 #### 一、软件依赖安装 为了确保Appium能够顺利与模拟器交互并执行自动化测试,需先完成一系列必要的软件安装。 对于Python开发环境而言,应安装特定版本的`selenium`以及`appium-python-client`来保障兼容性。具体命令如下: ```bash pip install selenium==4.9.0 pip install appium-python-client==2.9.0 ``` 上述操作会下载指定版本的库文件至本地环境中[^1]。 #### 二、Java与Android SDK准备 考虑到部分驱动程序(如UiAutomator2)依赖于Java环境的支持,在此之前还需确认已正确设置了Java路径,并且其版本不低于1.8.x系列;与此同时,也得准备好对应版本的Android SDK工具集,包括但不限于SDK Platform Tools中的ADB工具等组件,这些都将用于后续设备管理及调试工作之中[^3]。 #### 三、连接模拟器 针对不同类型的模拟器产品线,存在多种方式可实现与其建立稳定链接的目的。例如对于某些品牌下的模拟器来说,可以通过简单的替换策略——即用官方提供的最新版`adb.exe`覆盖原有同名文件的方式达成目的;而对于其他情况,则更倾向于采用标准网络通信模式,利用`adb connect IP地址:端口号`指令来进行远程接入尝试[^2][^4]。 #### 四、启动服务 当一切准备工作就绪之后,便可以着手开启核心的服务进程了。这一步骤主要涉及到两个方面的工作:一方面是要保证目标应用程序能够在选定的目标平台上正常加载运行;另一方面则是要激活后台监听状态下的Appium Server实例以便接收来自客户端发出的各种控制请求[^5]。 最后值得注意的是,在实际部署过程中可能还会遇到各种意想不到的问题,因此建议开发者们随时关注官方文档更新动态技术社区交流平台上的讨论话题,从而获取更多实用技巧解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值