Airetest-selenium demo学习源码记录
代码语言:javascript复制#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/
本文由来源 jackaroo2020,由 javajgs_com 整理编辑,其版权均为 jackaroo2020 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。如需转载,请注明文章来源。