UI自动化笔记
selenium
selenium是一个python的第三方库
pip install selenium3.141.0
pip install urllib31.26.10
selenium测试直接运行在浏览器中,模拟人工操作
UI自动化优点:
1.解决重复性功能测试和验证
2.减少测试人员在回归测试时用例漏测和验证点漏测
3.减少冒烟测试、回归测试的人力成本,节约时间
需求不稳定时无法进行UI自动化
自动化用例覆盖率占总用例20%-40%,功能测试占70%-80%
selenium优点:
1.免费
2.安装简单
3.支持多语言
4.支持多平台
5.支持多浏览器
Selenium工具原理是什么?
Selenium2的核心是webdriver
webdriver是按照 client-server设计原理设计
client:简单来说就是我们写的代码,以http请求的方式发送给server端,server端接收请求,执行相应操作,并返回给client端。
from selenium import webdriver
dx=webdriver.Chrome() 导入浏览器驱动
dx.get("url") 打开网页,会覆盖上一个标签
js="window.open(url)" 设置脚本
dx.execute_script(js) 执行脚本
dx.implicitly_wait(10) 设置等待10秒,若时间未到完成就不再等待
dx.refresh 刷新
dx.back() 返回上一级
dx.foward() 切换到下一页
print(dx.title) 打印当前页面标题
dx.find_element_by_id("username").send_keys("admin") 根据id查找元素并输入
dx.find_element_by_id("loginBtn").click() 根据id查找按钮点击
jb=dx.current_window_handle 获取当前句柄
jbs=dx.window_handles 获取页面所有句柄
dx.find_element_by_link_text("baidu").click 针对链接使用link_text进行查找
dx.find_element_by_xpath('//*[id=textarea]').send_keys("xpath") xpath定位
ts=dx.find_elements_by_tag_name("textarea") tag_name定位
for t in ts:
if t.get_attribute("id")=="chat-textarea":
t.send_keys("hello world")
time模块
import time
time.sleep(2) 强制等待2秒
