appium自动化测试框架——自动化启动多台设备思路梳理
今天,我们聊一聊如果自动化实现在多台设备上运行脚本。
一、首先我们回忆一下如何在一台设备上运行python脚本,一般分为三步
1、启动appium服务
2、创建驱动
3、运行python脚本
同样的,运行多台设备,也基本是这三个步骤
1、启动多个appium服务(通过设置不同端口,并关联设备)
2、创建驱动,并确保端口号和设备关联,并和步骤1保持一致
3、多线程或多进程运行脚本。
二、步骤分解
我们下面分别看这三个步骤如何实现
1、启动多个appium服务,"appium -p appium_port -bp bootstrap_port -U devicename --no-reset --session-override"
需要解决如下问题
1)如何在python中运行dos命令
2)如何获取设备
3)如何创建可用端口(非占用)
2、创建驱动,难点在于,创建的驱动需要和步骤1中的服务关联起来,确保端口、设备、驱动一一对应
解决思路
1)将步骤1生成命令的同时,将变量(appium_port、 bootstrap_port和devicename)写入文件(具体可以是init文件、yaml文件或其他)
2)创建驱动时,从文件中读取端口和设备名,
3、多线程或多进程运行脚本
实践发现使用多线程运行python脚本,在最新的appium服务下,有时会造成混乱,为了避免这个问题,此处我们使用多进程。
三、思路总结
1、在python中执行dos,获取设备信息,创建可用端口
2、执行dos命令,启动多个appium服务
3、将启动信息(端口和设备)写入yaml文件
4、从yaml文件中读取端口号和设备信息,创建对应的驱动
5、引入多进程,运行脚本
appium自动化测试框架——自动化启动多台设备思路梳理的更多相关文章
- Appium+python自动化(四十二)-Appium自动化测试框架综合实践- 寿终正寝完结篇(超详解)
1.简介 按照上一篇的计划,今天给小伙伴们分享执行测试用例,生成测试报告,以及自动化平台.今天这篇分享讲解完.Appium自动化测试框架就要告一段落了. 2.执行测试用例&报告生成 测试报告, ...
- Appium+python自动化(四十一)-Appium自动化测试框架综合实践 - 即将落下帷幕(超详解)
1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现.到今天为止,大功即将告成:框架所需要的代码实现都基本完成. 2.data数据封装 2.1使用背景 在实际项目过程 ...
- Appium+python自动化(三十八) - Appium自动化测试框架综合实践 - 框架简介-助你冲击高薪,迎娶白富美(超详解)
简介 好久没有更新博客了,博友们是不是有点等不及了.不好意思啊,中秋节过后太忙了,这篇是好不容易抽点零碎时间写的.从这一篇开始小伙伴或者童鞋们,就跟随宏哥的脚步,一步步的从无到有,从0到1的搭建一个完 ...
- Appium+python自动化(三十九)-Appium自动化测试框架综合实践 - 代码实现(超详解)
简介 经过一段时间的准备,完善的差不多了,继续分享有关Appium自动化测试框架综合实践.想必小伙伴们有点等不及了吧! driver配置封装 kyb_caps.yaml 配置表 参考代码 platfo ...
- Appium+python自动化(四十)-Appium自动化测试框架综合实践 - 代码实现(超详解)
1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现.由于时间的关系,宏哥这里用代码给小伙伴演示两个模块:注册和登录. 2.业务模块封装 因为现在各种APP的层出不群 ...
- 『与善仁』Appium基础 — 8、Appium自动化测试框架介绍
目录 1.主流的移动端自动化测试框架 (1)Robotium (2)Macaca (3)Appium 2.自动化测试工具的选择 3.Appium简介 提示:我们前面说的Android环境搭建和adb命 ...
- appium自动化测试框架——封装获取设备信息类
在上一节中,我们已经解决了如何在python中执行cmd,并获取执行结果.下面就小小实战一下,获取设备信息. 一.思路 1.windows上获取设备信息的方法 输入dos命令“adb devices” ...
- 基于C#的Appium自动化测试框架(Ⅰ)
因为工作原因,使用的编程语言都是C#,但是国内相应的Appium资料少得可怜,Java版本的Appium也考虑过,但是奈何自己搞不定Eclipse这个编译环境[说白了就是因为懒-- 无意中看到了外面的 ...
- 基于C#的Appium自动化测试框架(Ⅰ):程序结构
因为工作原因,使用的编程语言都是C#,但是国内相应的Appium资料少得可怜,Java版本的Appium也考虑过,但是奈何自己搞不定Eclipse这个编译环境[说白了就是因为懒…… 无意中看到了外面的 ...
随机推荐
- 2018年东北农业大学春季校赛 E wyh的集合 【数学】
题目链接 https://www.nowcoder.com/acm/contest/93/F 思路 其实容易知道在两个不同集合里 假设元素个数 分别为 a b 然后对于第一个集合里的每一个元素 都可以 ...
- IOS 长姿势---双击Home键
这不值得大惊小怪,因为按两次Home键后,苹果只是简单第提供了一个历史任务列表,而不是人们以为的当前任务列表——这在苹果网站上已经说得很清楚了.至于为什么苹果没有能力为用户提供一个“任务管理器”,我们 ...
- python无法安装cv2的解决办法
问题:在windows命令窗口输入pip install cv2后出现:Could not find a version that satisfies the requirement cv2... 解 ...
- Linux_异常_01_CentOS7无法ping 百度
一.原因 vi /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no B ...
- Java 并发 —— Java 标准库对并发的支持及 java.util.concurrent 包
0. Collections.synchronizedXxx() Java 中常用的集合框架中的实现类:HashSet/TreeSet.ArrayList/LinkedList.HashMap/Tre ...
- ICE 迁移64位安装问题
昨天手贱,在apt-get install 后有一大堆,上百个安装包not upgrade, 发现有提示apt-get autoremove,犹豫了很久后还是忍不住执行了autoremove:这个命令 ...
- 构建基于虚拟用户的vsftpd服务器
安装: [root@server ~]# yum install -y vsftpd [root@server ~]# rpm -ql vsftpd /etc/logrotate.d/vsftpd / ...
- Father Christmas flymouse
Father Christmas flymouse Time Limit: 1000MS Memory Limit: 131072K Total Submissions: 3479 Accep ...
- 【Lintcode】153.Combination Sum II
题目: Given a collection of candidate numbers (C) and a target number (T), find all unique combination ...
- plsql developer点滴
PLSql中查看编译错误的具体内容: 1. 打开Command Windows show errors procedure procedure_name