AirTest-selenium基于Web实现UI自动化测试

2022-07-05 14:33:03 浏览数 (1)

一、简介:

1、AirtestIDE:跨平台的UI自动化测试编辑器,适用于游戏和App;

2、对于自动化测试新手而言,AirTest是一款可快速上手的UI自动化测试框架;

3、在阅读本文章之前,希望大家可以先去看下官方文档,对于airTest是什么,能做什么,以及怎么使用都有非常清晰的介绍;

4、官方文档链接地址为:http://airtest.netease.com/docs/cn/index.html;

二、要求:

Airtest Project上手很容易,但并非没有门槛,我希望大家能够:

(1)、对自动化测试有一些初步了解,有一些代码基础;

(2)、了解Python基本语法,我的脚本基于Python,如果完全对它不了解的话可能需要预先学习一些Python的语法知识;

(3)、准备一个集成开发环境,可以使用AirtestIDE,这个下载成功后直接运行AirtestIDE.exe即可打开测试脚本编辑页面;

(4)、在详细阅读官方文档前,可提前先阅读官网的5分钟快速上手教程,可对AirTestIDE有大致的了解;

(5)、5分钟教程链接:http://airtest.netease.com/tutorial/Tutorial.html;

三、airTest-selenium对于实现web的UI自动化测试步骤如下

(1)、启动AirtestIDE编译器:将下载的安装包解压后进入目录,找到如下图所示的AirtestIDE.exe的执行文件,双击即可,以下截图为我本地的安装目录结构图:

(2)、进入的编译器界面如下截图所示:

(3)、在选项->设置中设定chrome path的值,如下截图所示:

(4)、在窗口中选中:Selenium Window,选中后左下栏会展示辅助栏,如下截图所示:

(5)、初次使用airTest-selenium,可先使用录制功能:

开启浏览器并生成初始化代码:点击

start_web 开启浏览器-点击编辑框中弹出的提示,生成初始化代码如下:

代码语言:javascript复制
from selenium import webdriver

from selenium.webdriver.common.keys importKeys

from airtest_selenium.proxy import WebChrome

driver=WebChrome()

driver.implicitly_wait(20)

(6)、生成访问待测试网址的代码:浏览器中进入待测试的网页-点击辅助窗的start_web

driver.get("http://news.baidu.com")

(7)、开始Airtest-Selenium脚本录制:点击录制

record - 在浏览器进行操作

(8)、结束录制,运行脚本:点击运行脚本按钮

run_button

(9)、运行结束后,点击报告按钮,查看报告

report

(10)、新建文件方法:点击“文件”->新建脚本,可创建一个以.air结尾的文件,可在该文件内编写测试脚本

完成上面这些步骤,相信大家应该对airTest-selenium有了初步的了解,接下来将会详细介绍如何使用AirtestIDE来编写测试脚本。

四、airTest-selenium实现web自动化测试脚本详解

1、代码内容如下:

2、重点解释说明:

(1)、标记:1中的代码如果使用录制功能,则会自动生成,无需自己编写;

(2)、浏览器窗口的最大化依然可使用python selenium框架中用到的:

driver.maximize_window()方法来实现;

(3)、标记:2中的代码,对于直接从浏览器中复制而来的xpath路径,粘贴至AirtestIDE编译器中时,会报错,需要使用转义符“”进行转义;

(4)、标记:3中的代码,测试过程中需要在当前页面重新打开新标签页时,将目标定位到新打开的标签页的实现方法为:driver.switch_to_new_tab();

(5)、标记:4中的代码,测试过程中需要定位的目标元素不在当前所视的页面,需要下拉滚动条才能获取到目标元素信息,该场景的实现方法为:

driver.execute_script("arguments[0].scrollIntoView();", driver.find_element_by_id("buyCy"));其中:

driver.find_element_by_id("buyCy")为目标元素;

(6)、特别介绍:

该方法使用了airtest框架独有的图像识别功能,可根据页面展示的元素按钮,使用该方法对元素进行点击操作;

(7)、其他未重点讲解的代码同python selenium框架的实现方法,可参考代码片段截图,脚本运行方法和查看测试报告方法同上;

0 人点赞