前言

测试过程中,难免遇到多机型兼容测试。如果拿很多手机轮流做手工测试,耗费时间长,重复工作量大,占用人工多。网上已有较多手机测试的文章,基本会根据多个手机参数在配置文件中写死。这样的方式不够灵活,本篇文章动态获取手机信息,形成多份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.启动多进程测试

点个“在看”支持一下?

adroid 如何测试端口号_多进程启动设备和appium实现自动化测试相关推荐

  1. mysql数据库怎么查看端口号_怎么查看数据库端口号(mysql怎么查看端口号)

    怎么查看数据库端口号(mysql怎么查看端口号) 2020-05-08 11:20:02 共9个回答 如何查看自己数据库的端口号 navicat,找到服务器,右键->连接属性,就找到端口号了 如 ...

  2. windows上使用telnet测试端口号通不通

    windows上有自带的telnet工具的,可以直接用,如果你无法使用只是没有启用而已. telnet启用过程: 打开控制面板,选择程序与功能 点击启用或关闭Windows功能 勾选上Telnet C ...

  3. windows 修改nginx端口号_分享Nginx搭建图片服务器简单实现

    第一步:安装vsftpd提供ftp服务 https://www.cnblogs.com/lyq159/p/12070791.html 第二步:安装Nginx提供http服务 1.安装准备:安装Ngin ...

  4. 修改nginx端口号_分享Nginx搭建图片服务器简单实现

    第一步:安装vsftpd提供ftp服务 https://www.cnblogs.com/lyq159/p/12070791.html 第二步:安装Nginx提供http服务 1.安装准备:安装Ngin ...

  5. mongodb 默认端口号_快2020年了,该如何面对BATJM对MongoDB灵魂式的拷问呢?

    关注我,可以获取最新知识.经典面试题以及微服务技术分享 MongoDB是基于分布式文件存储的数据库,由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案,且MongodDB是一个介于关 ...

  6. 如何修改mysql占用的端口号_修改mysql端口号(mysql的端口号)

    修改mysql端口号(mysql的端口号) 2020-05-07 22:12:00 共10个回答 如何查看mysql默认端口号和修改端口号 登录mysql,使用命令showglobalvariable ...

  7. 如何测试端口号是否开启

    很多情况下,我们想知道某个服务器.电脑的某些个端口是否打开,怎么去测试呢?今天就教大家两招. 首先端口分tcp.udp之分,所以同一个端口号还有tcp协议和udp协议之分. 我们一般最常见的工具是te ...

  8. xserver服务端口号_服务器怎么开通端口号

    dns端口号的服务器如何开启端口 答:在架设dns服务器时,linux系统需要在防火墙规则中内加入UDP端口53的外网访问,windows系统需要在防火墙里添加端口,选择UDP,输入端口号53,如果使 ...

  9. mysql有多少个端口号_查看mysql端口号(mysql端口号是多少)

    查看mysql端口号(mysql端口号是多少) 2020-05-07 22:11:45 共10个回答 如何查看mysql的端口号 1使用命令showglobalvariableslike'port'; ...

最新文章

  1. python做直方图-python OpenCV学习笔记实现二维直方图
  2. PhpStorm 默认快捷键
  3. 十分钟了解分布式计算:Spark
  4. 布隆过滤器Redis缓存穿透雪崩击穿热点key
  5. Linux的Nginx七:对比|模块
  6. 使用 scikit-learn 实现多类别及多标签分类算法
  7. ★自制社交网站等级称号
  8. HDU(1572),最短路,DFS
  9. 深入理解C语言指针的奥秘(转)
  10. ASP.NET多附件上传和附件编辑的实现
  11. mysql客户端介绍
  12. Xshell6 + Xftp6 绿色破解永久授权激活版 免安装 解压即用,最好的SSH工具(Xshell 6 plus套件)
  13. ASP.Net的HtmlHelper和UrlHelper
  14. 照片审核处理工具_不需要Photoshop,这5款在线处理图片工具能帮你好好处理照片!...
  15. 基于C#的在线语音识别软件开发
  16. 流行的后台管理系统模板总结
  17. fritzing元件太少_Arduino电路设计软件Fritzing
  18. win10安装oracle数据库失败
  19. 电商数仓(dwt 层)
  20. 【SpringBoot】SpringBoot的banner制作

热门文章

  1. php ajax loading图片居中显示,ajax+php上次图片
  2. polymer 绑定html元素,使用Polymer扩展本机HTML元素
  3. typescript利用接口类型声明变量_TypeScript入门指南(基础篇)
  4. myeclipse导入maven工程
  5. excel中如何将时间戳转换为日期格式
  6. ASP.NET MVC4 微信公众号开发之网页授权(一):搭建基础环境
  7. Eclipse中tomcat更改部署路径 deply path
  8. Writing for Myself.part2
  9. linux最初配置( vimrc设置 、tab键设置 inputrc、中文输入法等等)
  10. 将*.STL转换成顶点索引格式