ui自动化知识点-web端
UI
:
User Interface(
⽤户接⼝
-
⽤户界⾯
)
,主要包括:
app
、
web
ui
⾃动化测试:使⽤⼯具或代码执⾏⽤例的过程
什么样的项⽬适合做⾃动化:
1、需要回归测试项⽬(甲⽅⾃营项⽬、⾦融、电商)
2、需求变动不频繁:稳定的模块
3、项⽬周期⻓的项⽬:(甲⽅⾃营项⽬、6个⽉以上的外包)
⾃动化测试⽬的:提⾼测试效率
⾃动化测试⼯具及环境:
⼯具
QTP:商业、收费、⽀持
UI
robot Framework:
python
扩展库、使⽤封装好的关键字驱动、半代码⽔平、 ⽀持UI selenium:开源、免费、主流 ⽀持
UI(推荐)
selenium介绍:
提示:
1、selenium-grid可以做分布式(批量在不同平台中运⾏⽤例),⾃动化⽤例较多时、或测试不
同浏览器在不同平台运⾏时可以使⽤。
2、对⻚⾯元素实施⾃动化测试,主要使⽤:webdriver (我觉得这个最多使用的,可能是接触不深)
selenium-webdriver环境搭建
所需环境:
pthon
解释器
+pycharm+selenium+
浏览器
+
浏览器驱动
selenium安装命令
pip install selenium
(特地去查了一 下安装 pip 自从Python 3.4版本开始,pip已经被内置在Python中,所以无需再次安装。)
浏览器驱动(这里我是使用的edge浏览器,所以根据需求自己安装相应的驱动,可以去查一下)
chrome:
http://npm.taobao.org/mirrors/chromedriver/
提示:浏览器驱动⼤版本必须和浏览器版本⼀致。
windows:
1、解压下载的驱动,获取到chromedriver.exe
2、将chromedriver.exe复制到python.exe所在⽬录即可(避免再次将chromedrver.exe
添加path变量)
mac:
1、解压下载的驱动,获取到chromedriver
2、将chromedriver复制到/usr/local/bin⽬录即可。
元素定位:
为什么要学习
xpath
和
css
?
1、如果标签没有(id\name\class)3个属性,也不是链接标签,只能使⽤tag_name定位,⽐较麻
烦。
2、⽅便在⼯作⽤中查找元素,使⽤xpath和css⽐较⽅便(⽀持任意属性、层级)来找元素
Xpath:使⽤标签路径来定位
绝对路径:从根⽬录开始,逐级查找标签。/html/body/form/div/fieldset/center/p[1]/input
相对路径:从任意路径开始,查找标签。//center/p[1]/input
# 绝对路径
#el =driver.find_element_by_xpath("/html/body/form/div/fieldset/center/p[1]/input
")
el=driver.find_element(By.XPATH,'/html/body/form/div/fieldset/center/p[1]/input')
el.send_keys("admin")
sleep(2)
# 清除内容
el.clear()
# 相对路径
driver.find_element(By.XPATH,"//p[1]/input").send_keys("123")
属性
单属性:
//*[@
属性名
='
属性值
']
多属性:
//*[@
属性名
='
属性值
' and @
属性名
='
属性值
']
提示:可以使⽤任何属性。
层级与属性
说明:
如果元素现有的属性不能唯⼀匹配,需要结合层级使⽤
语法:
//⽗标签
/