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

2021-03-22 11:40:39 浏览数 (1)

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架构师必看 对观点赞同或支持。如需转载,请注明文章来源。

0 人点赞