airtest实现webui自动化测试


Selenium是一个用于Web应用程序的自动化测试工具。它直接运行在浏览器中,可以模拟用户在浏览器上面的行为操作。在AirtestIDE中,开发者也给提供了使用Selenium的窗口。不过使用的框架是Airtest-Selenium框架。Airtest-Selenium是对selenium的python库做的一层封装,它添加了部分图像识别的接口,也可以生成网页版测试报告。

一、IDE中的Selenium窗口

默认情况下,IDE没有并显示Selenium的窗口,所以我们需要在IDE顶部的窗口菜单下,把Selenium Window勾选上,勾选之后Selenium的窗口才会显示在IDE界面的左侧。

 

Selenium Window给我们提供了一些常用的按钮,比如点击窗口下类似地球的按钮,会自动帮我们在脚本编辑窗口插入一些初始化代码:

插入代码之前,我们需要在脚本窗口弹出的黄色提供框中,选择Yes允许插入代码:

这样,脚本编辑窗就会自动插入如下代码:

# 引入selenium的webdriver模块
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from airtest_selenium.proxy import WebChrome

#创建一个实例,代码运行到这里,会打开一个chrome浏览器
driver = WebChrome()
driver.implicitly_wait(20)

需要注意的是,如果是首次使用,IDE会弹窗提示需要设置谷歌浏览器的路径:

这时我们就需要先到选项--设置中,找到Selenium那部分内容,然后把chrome的路径设置好,才能正常插入上述代码。

二、Selenium的常用方法

from airtest_selenium.proxy import WebChrome
import time


#打开浏览器
driver = WebChrome(r"D:\tools\driver\chromedriver.exe")
driver.implicitly_wait(20)
#设置浏览器最大化
driver.maximize_window()


#打开网页
driver.get("http://www.baidu.com")

#输入百度一下
driver.find_element_by_id('kw').send_keys("马保国")

#点击 百度一下
driver.find_element_by_id("su").click()

#点击 马保国 百度百科
driver.find_element_by_xpath('//div[@id="content_left"]/div[1]//h3').click()

#切换标签页面, 切换到新打开的标签页, airtest单独封装的方法
driver.switch_to_new_tab()

#获取马保国结束
titledesc = driver.find_element_by_xpath('//dd/h2').text
print(titledesc)

time.sleep(2)
#切换回上一页
driver.switch_to_previous_tab()

#点击 图片
driver.find_element_by_xpath('//div[@class="s_tab_inner"]/a[3]').click()

#关闭浏览器
driver.quit()

三、Airtest-Selenium简介

3.1.图像识别接口

Airtest-Selenium对图像识别的封装有两个接口,图像识别点击和图像识别断言:

①点击Selenium Window下方的airtest_touch按钮

在浏览器页面上截取你想要点击位置的图片,双击完成截图,脚本编辑窗口会自动生成1条图像识别点击的脚本

driver.airtest_touch(Template(r"tpl1620806672599.png", record_pos=(-0.17, -0.042), resolution=(1920, 1080)))

②点击Selenium Window下方的airtest_template按钮

在浏览器页面上截取你想要进行断言的图片,双击完成截图,脚本编辑窗口会自动生成1条图像识别断言脚本

 

driver.assert_template(Template(r"tpl1620806934003.png", record_pos=(-0.163, -0.039), resolution=(1920, 1080)), "成功打开百度首页")

3.2.多标签页切换

多标签页

selenium提供了切换标签页的接口。

driver.switch_to.window(driver.window_handles[number])

这个语句执行后,可以切换到第number个打开的标签页。但是对于用户来说,这个接口不是那么好理解与调用,因为这样需要记住标签打开的顺序。

大部分时候,切换标签页的操作一般都出现在:打开新窗口、关闭标签页这两种情况下。因此,Airtset-Selenium封装了两个接口:

driver.switch_to_new_tab()
driver.switch_to_previous_tab()

用户只需在切换到最新打开的标签页时,调用switch_to_new_tab。另外在结束当前标签页时,切换到上一个打开的标签页时,调用switch_to_previous_tab()即可,

生成报告

被Airtest-Selenium封装的接口,运行过后都会生成对应的报告,在AirtestIDE中可以直接点击生成报告按钮,即可查看对应的报告内容。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM