前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一套框架测试全端,可还行?

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

作者头像
归根落叶
发布2021-03-10 11:57:12
1K0
发布2021-03-10 11:57:12
举报
文章被收录于专栏:贝克街的捉虫师

背景

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 贝克街的捉虫师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档