首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >多进程启动设备和appium实现自动化测试

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

作者头像
测试开发社区
发布2020-08-27 00:08:30
1.1K0
发布2020-08-27 00:08:30
举报
文章被收录于专栏:测试开发社区测试开发社区

前言

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

安装环境

测试环境:

  • Windows

安装工具:

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

具体流程

多进程启动多设备

1. Appium配置

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

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

2.多进程启动多手机

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

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

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

3.启动多进程测试

多进程启动多服务

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

Appium原理如下:

根据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.启动多进程测试

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档