目录
4.link_text定位,partial_link_text定位
UI自动化测试介绍
自动化测试理论(web和app):
UI就是指的是用户接口,指的是用户与电脑的接口,是用户界面
UI不仅仅指的是web,还可以指代app
我们为什么要进行自动化?
大量版本的回归 当新的功能出现,复测之间的--我们叫做回归(新代码出现需要对旧代码进行复测,检查新代码是否对旧代码有所改动,但是这样的耗时比较大,因此就出现了UI自动化)大大提高了工作效率
使用UI自动化需要前置条件
UI设计设计的就是用户界面 使用代码或者是工具来进行设计
衡量一个项目能不能去做自动化测试
什么样的项目需要做自动化:
(1)项目需要回归测试 例如甲方自己公司运营的项目 例如京东 快手项目周期长:甲方项目 半年以上
刚提测的项目功能都无法去保证,就不能直接写自动化 一般是在手工测试之后就可以写自动化了
需要投入的时间长,所以成本较高
图片上的文字等等不能做测试,只能发现固定的bug
工具选择及介绍
自动化测试也是属于功能测试 也是对程序的功能进行测试
要学会独立实现web自动化环境的搭建
开源(代码在本地,可以随便修改,添加)
跨平台(写出的脚本既可以在Linux运行,也可以在Windows运行,也可以在Mac中运行)
支持多种浏览器(火狐,ie,谷歌等等)
支持多种语言(python java)
浏览器驱动:找元素--核心:驱动(操作元素)--通过代码
安装selenium
浏览器和浏览器驱动:
selenium:用来在页面中查找元素,操作元素
插件录制脚本,ide--录制功能,可以导出脚本,复杂的场景不好搞,不好维护
grid(分布式服务,最短的时间执行完所有用例)
webdriver(通过浏览器的驱动来去定位元素,操作页面)--核心
核心:调用驱动的方法
使用代码实现web元素的定位(id name tag------name)
元素定位
一共有八种定位元素的方法;
定位:靠的是html的属性和标签,哪种更适合就选用哪一种
1.id定位
通过元素的id属性来定位元素,前提是要有id属性,没有就不能使用了
什么是元素定位:通过代码调用方法查找元素 是selenium中自带的方法;我们只要传入id属性就可以
一共是有八种:id name class tag_name link_text partical_link_text xpath css(最后做出汇总)
可以通过调用方法来实现
这几个步骤是要写代码的步骤!!
打开浏览器--实例化浏览器对象
此时,成功打开
小练习:
步骤有四步
打开f12就可以发现有id
对于练习:
2.name和classname定位
class是指标签的class属性
需求:
class属性经常会有多个值,例如c1 c2 c3:这里我们使用其中的一个即可。(也只能使用其中的一个值,两个三个都不行)
3.tag_name定位
如果没有id,没有name,没有class的情况下,如果页面是唯一的,我们就可以通过tag_name来进行查找定位元素
tag_name这里指的就是标签名:
标签名是一定会有的,但是如果页面中存在相同的标签名,默认返回的是第一个
完成代码的编写:
4.link_text定位,partial_link_text定位
专门定位a标签 link的意思是链接,所以这里是根据链接文本来定位的
link_text要传入超链接的全部的文本 但是当传入的文本很长的时候:这里就可以采用模糊匹配:方法就是partial_link_text
模糊匹配好还是全词匹配好?这里看的是场景!!!文本比较多的时候肯定是模糊匹配较好,全词匹配是更加的精准
总结笔记:
5.查找一组元素的方法
加s--返回的是列表
要将每个值正确的填入:
总结
分清楚python和pycharm,python是解释器,pycharm是集成开发工具,集成:包含各种文件和插件有很多。