一、介绍
AirtestIDE支持连接 chrome浏览器 来进行网页的自动化测试,它使用的库是airtest-selenium,是对selenium的python库做的一层封装。本质就是selenium自动化测试。
默认情况下,selenium window并没有展现出来,需要在IDE的顶部菜单栏,找到窗口,勾选上最后一个 selenium window 的选项,即可在IDE的左侧显示出selenium window:
里面的每个功能,都与一段python代码对应!
二、工作原理
airtest集成Chrome浏览器,基于selenium进行web自动化测试,通过录制得到python脚本,调用Chromedriver驱动浏览器执行指定动作;因此,直接操作浏览器就能生成测试脚本
三、环境准备
airtest自带chromedriver驱动,但是若是版本不匹配,可能会报找不到驱动的错;因此需要找到对应浏览器版本的驱动,覆盖airtest根目录下旧版本的Chromedriver。
1、python及相关环境变量
2、将airtest_selenium拷贝到python目录下
3、相关库:airtest、selenium、pynput等
4、运行命令:python -m airtest run 脚名
工具设定:提前在选项--设置里设置好 chrome path ;
四、录制脚本
selenium window提供以下辅助按键帮助我们快速生成airtest-selenium/selenium脚本:
start_web:快速录制打开当前标签页网址的脚本
touch:快速录制用 find_element_by_xpath 方式定位元素并进行点击的脚本
driver.airtest_touch:快速录制用截图方式来点击元素的脚本
text:快速录制搜索元素的文本输入脚本
assert:用 x path 定位元素的方式,断言元素是否存在
driver.assert_template:用截图方式断言元素存在
snapshot:对当前网页进行截图
previous_tab:切换到上一个打开的标签页
new_tab:切换到新打开的标签页
back:网页回退
forward:网页前进
start_web:在浏览器打开页面;在编辑窗口生成如下代码,修改web 地址即可打开指定页面
driver.get("Write your test web address!")
touch:点击操作,调用click()方法,生成对应的selenium语句;操作鼠标点击时,airtest/selenium监控点击的位置,通过绝对路径/id等,获取对象,生成python语句;
#通过 绝对路径找到元素,然后调用点击方法 实现touch
driver.find_element_by_xpath("路径").click()
#通过获取元素id,获取元素,然后调用点击,实现touch
driver.find_element_by_id("id").click()
text:快速录制搜索元素的文本输入脚本;相当于调用selenium的send_keys(text,keyboard)操作;两个参数:text:输入的文本,keyboard:键值,输入文本后键盘直接做的操作;生成语句:
#找到kw这个id的组件,输入“测试” ,按下回车键;
#模拟的是在百度首页,输入测试,按下回车
driver.find_element_by_id("kw").send_keys("测试",keys.ENTER)
assert:用 x path 定位元素的方式,也可以通过id定位,断言元素是否存在;例如要打开百度页面,那么判断页面是否成功打开 ;生成语句:
#断言,是否存在id为 kw 的元素;第三个参数是填写测试点名称
driver.assert_exist("kw", "id", "请填写测试点.")
snapshot:对当前网页进行截图保存;可以在测试报告中检查;生成语句:
driver.snapshot()
driver.airtest_touch:点击图片,通过图像识别来进行点击,传入图片,然后识别出这个图片;点击图片;生成语句:
#点击图片,截图,把图片放到括号里。
driver.airtest_touch()
'''
driver.airtest_touch(Template(r"tpl1652605973720.png", record_pos=(0.388, -0.007), resolution=(1920, 1080)))
'''
driver.assert_template:用截图方式断言元素存在;与上面的airtest_touch不同,template至蛟洋是否存在,不点击;生成语句:
#第一个参数是图片,第二个参数是测试点名
driver.assert_template(Template(r"tpl1652606518115.png", record_pos=(0.354, -0.014), resolution=(1920, 1080)), "请填写测试点")
页面操作:
'''
previous_tab:切换到上一个打开的标签页
new_tab:切换到新打开的标签页
back:网页回退
forward:网页前进
'''
driver.switch_to_previous_tab()
driver.switch_to_new_tab()
driver.back()
driver.forward()
版权归原作者 什么鬼昵称 所有, 如有侵权,请联系我们删除。