前言


测试工程化

一、测试需求分析

二、测试设计

1、技术选型:

项目 作用
Appium 移动端支撑
Selenium Web 端支撑
Python 跨平台,实现支撑
RobotFramework 易用性,测试执行支撑
Docker 测试环境支撑
Xterm Mac 上多窗口服务支撑

2、设计方案:

方案 描述
并发方案 1、按测试套件分配,使用 RF 中的 tag 作为区分标记
2、为同时满足 mac 和 win 上的并发执行,采用多进程的方式,按测试套件 tag 分配并发
环境方案 1、Web 端环境:Docker 的浏览器镜像 +Selenium-Grid 镜像集群
2、移动端环境:多台真机或模拟器(Android 的无线调试,iOS 也支持)
分配方案 1、移动端:一个 tag 对应一台设备和一个 appium 服务
2、Web 端:一个 tag 的对应一个浏览器

3、难点解决方案:

难点 解决方案
设备 udid 获取 获取 udid 构造成设备列表:
1、Android:adb devices
2、iOS:idevice_id –l
输入参数获取对应类型的设备 udid
Appium 启动方式 1、根据设备数量或输入的参数值自启动对应的数量的 Appium 服务
2、自动根据参数和系统识别以 sh 或 bat 的形式启动
3、用到的端口:服务端口,bootstrap 端口,wda 端口
范围:
Android:默认 4723,5723 开始加一启动
iOS:默认 14723,8101 开始加一启动
设备和 appium 对应的方式 1、默认接入的第一台设备对应第一个启动的 appium 服务,以此类推
2、可选择以第 N 台接入的设备开始来执行自动化测试
环境和测试类型 1、自动识别是 Mac OS 还是其他操作系统,以执行不同的命令类型
2、参数化要支持测试设备的类型

三、测试实现和落地

四、测试维护

扩展

总结


↙↙↙阅读原文可查看相关链接,并与作者交流