背景
众所周知,市面上有很多自动化测试工具,web自动化有selenium,robotframework,playwright等,接口自动化测试工具有httprunner,postman,jmeter等,性能测试有jmeter,loadrunner,locust,nGrinder等,移动端测试有appium,airtest等等。那有没有同时支持多端的工具呢?肯定是有的,airtest支持移动端和web测试,但不支持接口测试(当然可以自行编写脚本实现)。robotframework支持web端、移动端和接口测试,但不支持性能压测。另外,同类的测试工具,各个工具都有自身的特点,比如airtest支持图像识别控件,robotframework可以看成是selenium和appium的高级别封装,降低了代码编写成本,httprunner让接口测试用例通过配置化完成,降低了编写脚本的门槛,也可直接将接口用例转化为性能测试用例,利用locust实现性能测试。那有没有可能将这些工具都整合起来,放在一个框架里实现呢?基于此种构想,airobots诞生了。
简介
airobots的名字,是由airtest+robotframework结合而来,自然,框架也是airtest和robotframework的整合,也可以理解是airtest的web测试插件airtest-selenium的功能扩展。为了还支持接口测试和性能测试,httprunner是个不错的选择,所以也将此工具整合了进来。那么airobots便有了以下能力:
1. 支持移动端测试
2. 支持web端测试
3. 支持桌面应用测试
4. 支持接口测试
5. 支持性能测试
6. 控件识别支持通过xpath(及其他传统艺能)和图像识别
7. 用例执行基于pytest,可自定义用例执行顺序及实现数据驱动生成用例等
8. 基于allure的测试报告,高端大气
安装
1. 安装python运行环境
安装过程略,建议安装python3.8及以上版本
2. 安装airobots
Github地址:https://github.com/BSTester/Airobots
一键安装:
pip install airobots -i https://mirrors.aliyun.com/pypi/simple
windows系统下, 如果安装失败, 可能是需要安装C++编译工具: visualcppbuildtools_full.exe, 具体错误请留意控制台报错信息。
运行WEB测试,需要安装ChromeDriver和GeckoDriver,可到https://npm.taobao.org/mirrors/下载安装,或安装nodejs之后执行以下命令安装:
npm install -g chromedriver geckodriver
3. 安装allure
运行allure需要java运行环境,安装java过程略,请自行下载安装并配置好环境变量。
sudo apt-add-repository ppa:qameta/allure
sudo apt-get update
sudo apt-get install allure
对于Mas OS,可通过[Homebrew](https://brew.sh/)进行自动安装
brew install allure
对于Windows,可从[Scoop](https://scoop.sh/)命令行安装程序获得Allure。
要安装Allure,请下载并安装Scoop(下载可能需要访问外国网站),然后在Powershell中执行
scoop install allure
执行测试
Allure 报告(推荐)
airobots -t api ./API/Case/Path/ --alluredir=Results --clean-alluredir # API测试
airobots -t web ./Web/Case/Path/ --alluredir=Results --clean-alluredir # Web测试
airobots -t android ./Android/Case/Path/ --alluredir=Results --clean-alluredir # Android测试
airobots -t ios ./IOS/Case/Path/ --alluredir=Results --clean-alluredir # IOS测试
HTML 报告
airobots -t api ./API/Case/Path/ --html=Results/report.html # API测试
airobots -t web ./Web/Case/Path/ --html=Results/report.html # Web测试
airobots -t android ./Android/Case/Path/ --html=Results/report.html # Android测试
airobots -t ios ./IOS/Case/Path/ --html=Results/report.html # IOS测试
locusts ./API/Case/Path/ # 性能测试
查看Allure报告
allure serve ./Results
演示项目
Github地址:https://github.com/BSTester/AirobotsDemo
下期介绍怎么用airobots编写web测试用例