一套框架测试全端,可还行?

2021-03-10 11:57:12 浏览数 (1)

背景

众所周知,市面上有很多自动化测试工具,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

一键安装:

代码语言:javascript复制
pip install airobots -i https://mirrors.aliyun.com/pypi/simple

windows系统下, 如果安装失败, 可能是需要安装C 编译工具: visualcppbuildtools_full.exe, 具体错误请留意控制台报错信息。

运行WEB测试,需要安装ChromeDriver和GeckoDriver,可到https://npm.taobao.org/mirrors/下载安装,或安装nodejs之后执行以下命令安装:

代码语言:javascript复制
npm install -g chromedriver geckodriver

3. 安装allure

运行allure需要java运行环境,安装java过程略,请自行下载安装并配置好环境变量。

  • Linux
代码语言:javascript复制
sudo apt-add-repository ppa:qameta/allure
sudo apt-get update
sudo apt-get install allure
  • Mac OS X

对于Mas OS,可通过[Homebrew](https://brew.sh/)进行自动安装

代码语言:javascript复制
brew install allure
  • Windows

对于Windows,可从[Scoop](https://scoop.sh/)命令行安装程序获得Allure。

要安装Allure,请下载并安装Scoop(下载可能需要访问外国网站),然后在Powershell中执行

代码语言:javascript复制
scoop install allure

执行测试

  • 功能及接口测试

Allure 报告(推荐)

代码语言:javascript复制
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 报告

代码语言:javascript复制
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测试
  • 性能测试
代码语言:javascript复制
locusts ./API/Case/Path/                                                            # 性能测试

查看Allure报告

代码语言:javascript复制
allure serve ./Results

演示项目

Github地址:https://github.com/BSTester/AirobotsDemo

下期介绍怎么用airobots编写web测试用例

0 人点赞