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

Airetest-selenium demo学习源码记录
#coding = utf-8

__author__ = "LT"
__title__ = "启动入口"
__desc__ = """AirTest-selenium基于Web实现UI自动化测试demo版本"""

from airtest.core.api import *
import traceback


# 点击浏览器图标即可自动生成
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from airtest_selenium.proxy import WebChrome
# Select类需要引入
from selenium.webdriver.support.select import Select
# 引入Alert类
from selenium.webdriver.common.alert import Alert
import time as t

driver = WebChrome()
driver.implicitly_wait(20)

# start_web 可以生成需要访问的地址
driver.get("https://www.baidu.com/")

# 最大化窗口
driver.maximize_window()

# #打印title
print(driver.title) 

#  #停在界面上
sleep(1)

# 获取当前页面代码
print(driver.page_source.encode('utf-8', 'ignore')) 

# 获取浏览器名称 
print(driver.name) #chrome

# 获取当前窗口句柄
print(driver.current_window_handle) #CDwindow-545D6ABB5C74D100AD80E4C4C0447057

# 获取所有窗口句柄
print(driver.window_handles) # ['CDwindow-545D6ABB5C74D100AD80E4C4C0447057']

#----------------------------------------------图像识别-start-----------------
driver.assert_template(Template(r"tpl1587604456992.png", record_pos=(7.03, 6.4), resolution=(100, 100)), "跳转到新百度窗口正确")


#---------------------------------------------元素定位-start------------------

# 定位百度首页的搜索框
ss = driver.find_element_by_id('kw')
# 输入关键词
ss.send_keys('Airtest')
driver.implicitly_wait(20)
# 清空关键词
ss.clear()
# 检查是否可见、可编辑、是否被选中
print(ss.is_displayed())
print(ss.is_enabled())
print(ss.is_selected())

# 下拉框定位
# 利用索引进行定位(注意索引是从0开始的) select_by_index('索引值')
# 利用选项的value进行定位 select_by_value('value值')
# 利用选项的文本进行定位 select_by_visible_text('文本值')
driver.get("https://www.baidu.com/gaoji/preferences.html")
ime_select = driver.find_element_by_id('ime')
# 实例下拉框
select = Select(ime_select)

select.select_by_index(0)
print('1.此时下拉框选中选项的值为:',ime_select.get_attribute('value')) #

select.select_by_value('2')
print('2.此时下拉框选中选项的值为:',ime_select.get_attribute('value')) #2

select.select_by_visible_text('关闭')
print('3.此时下拉框选中选项的值为:',ime_select.get_attribute('value')) #0

# 弹出框定位
driver.get("https://www.baidu.com/gaoji/preferences.html")

driver.find_element_by_xpath('//*[@id="restore"]').click()

t.sleep(5)
print('alert弹出框的文本信息为:',driver.switch_to_alert().text)

driver.switch_to_alert().accept()

print("-----forward,back,refresh,swotcj_to_new_tab")
sleep(1)
# 页面前进
driver.forward()

# 页面后退
driver.back()

# 刷新页面
driver.refresh()

# 打开新标签页
driver.switch_to_new_tab()

# 切换到上一个标签页
driver.switch_to_previous_tab()

# 关闭当前窗口,如果浏览器此时只有1个窗口,浏览器也会被关闭
driver.close()

# 退出驱动关闭所有窗口
driver.quit()

此文仅仅为个人学习demo记录,详细请参考官方文档说明:
https://airtest.doc.io.netease.com/tutorial/13_Selenium/

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值