airtest+selenium实现web网页自动化操作:定位、截图、断言、录制

在窗口中选中selenium window,左侧就出现这个辅助窗了。

在选项——设置里,添加chrome路径

点击 就可以打开浏览器,然后在airtest上面出现的黄色横条选择yes,就会出现几行初始化脚本。

 定位

点击后,鼠标放到浏览器上就可以看到元素信息,点击元素,就会自动生成使用xpath定位的脚本,

点击start_web可以快速自动生成当前窗口的网址

截图

生成截图后缀名为.jpg,snapshot(filename='D://a.jpg',mag='这里是massage')

有时候都自动定不了,所以除了自动生成也可以根据其属性自己写

 录制

先获取当前qq音乐网址,再点击,点击浏览器所在的qq音乐的页面,点击排行榜,点击人世间播放,录制结束点击,运行脚本

driver.switch_to_new_tab() 表示切换标签页

 

 

截图 

断言

两种:定位断言,截图断言

driver.get("https://y.qq.com/")

if driver.assert_template(Template(r"tpl1646450422553.png", record_pos=(0.174, -0.043), resolution=(1600, 900)), "网络歌曲测试点"):
    touch(Template(r"tpl1646450422553.png", record_pos=(0.174, -0.043), resolution=(1600, 900)))
    print("存在已点击")
else:
    print("不存在")

value = driver.assert_exist("//a[@title='排行榜']", "xpath", "排行榜测试点.")
try:
    assert_equal(value, "排行榜", "值为:排行榜")
except AssertionError:
    print("值断言失败")

 如果报错了[Errno 28] No space left on device,清理下内存就可以了

切换窗口和前进后退网页

driver.get("https://y.qq.com/n/ryqq/songDetail/002vjCKK2NwOCf")
driver.find_element_by_xpath("//*[@id=\"app\"]/div/div[2]/div/div/div[3]/a/i").click()
driver.switch_to_previous_tab()#切换到上一个窗口
driver.find_element_by_xpath("//a[@title='分类歌单']").click()
driver.back()#后退浏览器
driver.forward()#前进浏览器
driver.switch_to_new_tab()#切换到当前最新窗口

 小结,以下来自于Airtest Project

元素定位语句
find_element_by_id()
find_element_by_name()
find_element_by_class_name()
find_element_by_xpath()
find_element_by_link_text()
find_element_by_partial_link_text()
find_element_by_css_selector()

操作元素
元素点击:
driver.find_element_by_xpath("[@id=\"right_content\"]").click()
输入:
driver.find_element_by_id("title").send_keys("123")
元素存在:
driver.assert_exist("//div[@alt='到学术首页']", “xpath”",“请填写测试点.")

下拉框定位
引入下拉框类:Select
from selenium.webdriver. support.select import Select
定位到下拉框元素:
ime_select = driver.find_element_by_id(' ime')
实例下拉框类:
select = Select (ime_select)
3种定位方式:
select.select_by_index(0)

select.select_by_value('2')
select.select_by_visible_text('关闭')

弹出框定位
引入弹出框类:Alert
from selenium.webdriver.common.alert import Alert
获取弹出框的文本信息:
driver.switch_to_alert().text
点击弹出框的确认按钮:
driver.switch_to_alert().accept()
 

  • 3
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值