找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
ui自动化测试,并不是测试页面ui,而是跑页面功能
python +selenium库
selenium原理:通过selenium中webdriver以及浏览器驱动去驱动浏览器和
捕捉页面元素进行操作元素,从而达到模拟人工操作的效果
UI自动化的优点?
1.解决重复性功能测试和验证
2.减少测试人员在回归测试时用例漏测和验证点的漏测
3.减少冒烟,回归测试的人力成本,节省时间,提高测试效率
什么样项目适合做自动化测试呢?
1.项目版本稳定
2.项目周期较长
自动化测试一般在什么阶段开始实施?
1.自动化脚本在什么阶段输出
产品验收通过或者项目上线后
2.脚本执行在什么阶段开始执行
回归测试阶段
自动化测试的目的:用于回归测试
1.减少降低测试人员的回归测试的时间和人力成本;
自动化测试用例的用例覆盖率: 自动化用例数量/功能用例数量*100%
1.没有自动化测试团队情况下:覆盖率通常30%-50%
2.有自动化测试团队情况下:覆盖率通过在80%-90%以上都有可能
自动化如何进行开展工作:
1.熟悉业务需求,筛选出需要实现自动化测试的业务需求,评审
2.筛选出业务需求的自动化场景,及找出这些场景的功能测试用例
3.选择自动化测试工具(python+selenium、robotframework/Cyress)
3.1根据当前团队成员熟悉程度
3.2选取主流的
4.自动化测试框架设计搭建
5.自动化用例的输出及执行和维护
使用selenium的优点
1、工具免费
2、安装简单,小巧,selenium其实就是一个包
3、支持多语言(java,python)+selenium完成自动化测试
4、支持多平台(window,linux)
5、支持多浏览器 (ie,firefox,chrome)
安装selenium库
把chromedriver.exe 文件放到C:\python3.7\Scripts 目录下,且存放路径
一定是配置环境变量path路径中
谷歌驱动下载地址:
https://registry.npmmirror.com/binary.html?path=chromedriver/
找到与本地谷歌浏览器版本匹配的版本下载,
选择chromedriver_win32.zip即可(64位/32位系统都选择此项)
1.常用的定位方法有哪些?
答:id、name、class、xpath、js、css
2.你在项目中常用的有哪些?
答:基本都会用到,看功能情况,如果说当前功能有id优先使用id,没有id优先
使用name,如果id和name都没有再去使用其他的如class\css\xpath、js、css等
from  selenium import webdriver#导入selenium库引用webdriver
import time #导入时间模块
driver=webdriver.Chrome()#通过webdriver调用Chrome生成一个浏览器对象
driver.get("https://www.baidu.com")#通过浏览器对象调用get方法打开测试地址
time.sleep(3)
#1.id定位方法
#driver.find_element_by_id("kw").send_keys('python')
a=driver.find_element_by_id('kw')
a.send_keys('python')
#2.name 定位方法
#driver.find_element_by_name('wd').send_keys('mysql')
#3.class定位方法
#driver.find_element_by_class_name('s_ipt').send_keys('linux')
#4.xpath定位方法
#相对路径定位
#driver.find_element_by_xpath('//[@id="kw"]').send_keys("武汉多测师")#driver.find_element_by_xpath('//[@name="wd"]').send_keys("武汉多测师")
#driver.find_element_by_xpath('//[@class="s_ipt"]').send_keys("武汉多测师")#两个'//'代表相对路径,通配符匹配任意标签名#组合定位#driver.find_element_by_xpath('//[@id="kw" and @name="wd"]').send_keys("武汉多测师")#driver.find_element_by_xpath('//[@id="form"]/span[1]/input[1]').send_keys("武汉多测师")#先定位到它的上一级,父级定位
#绝对路径定位
#driver.find_element_by_xpath("html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input").send_keys("xxxx")
#5.link 定位
#driver.find_element_by_link_text("hao123").click()
#6.partial_link 定位
#driver.find_element_by_partial_link_text('123').click()
#7.css 定位(常用符号# 表示id,.表示class;>表示子元素、层级)
#driver.find_element_by_css_selector("#kw").send_keys("武汉多测师")
#driver.find_element_by_css_selector(".s_ipt").send_keys("33333")
#css 绝对路径定位
#driver.find_element_by_css_selector("html>body>div>div>div>div>div>form>span>input").send_keys("aaaaa")
#css 相对路径定位
#driver.find_element_by_css_selector("#form>span>input").send_keys("8888")
#属性定位
#driver.find_element_by_css_selector('[autocomplete=off]').send_keys('4444')
#8.js定位
js='document.getElementById("kw").value="selenium"'
driver.execute_script(js)#通过execute_script执行js脚本

分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册