一.自动化概述
通过测试工具或者其他手段,按照测试人员的预定计划对软件产品进行自动化测试,他是软件测试的一个重要组成部分。
二.自动化的好处
1.缩短测试周期 2.避免人为出错 3.测试信息存储 4.轻易获取覆盖率 5.其他
注:自动化测试的方向是对的,而且趋势也是如此,但是有些自动化实现不了的还是会手动测试的
三.自动化的分类
1.整体分类: (1).自动化功能测试 (2).自动化性能测试
2.自动化功能测试 : (1).单元测试:程序员搞定 (2).功能测试 (3).接口测试:大中型项目或长期项目可以采用自动化测试
3.自动化性能测试主要使用的工具:Loadrunner、Jmeter等,对软件进行压力测试、负载测试等等,因为这些无法用手工进行代替,所以必须自动化。为了测试一个web站点的服务能力,需要模拟上千上万的请求(比如打开浏览器访问站点),人的速度是远远达不到这样的操作的
四.自动化测试的前提条件
1.手动测试已经完成 2.项目周期比较长 3.项目变更不大 4.自动化脚本复杂度比较低 5.可以重复利用
五.自动化场景
1.回归测试 2.冒烟测试 3.性能测试
六.web自动化常用工具及环境
1.自动化工具:Selenium
2.定位工具:css_selector、Xpath
3.环境准备:Firefox35、FirePath、FireBug、SeleniumIDE
七.Xpath
1.概念:xml路径语言。xml:传输和存储数据,HTML:显示数据
2.获取元素
获取元素
八.CSS选择器
1.定义:用于选择需要添加样式的元素
2.语法
通过伪类名、id、标签名定位
通过元素之前嵌套关系
通过属性
通过属性
九.框架
1.定义:第三方已经完成某个特定功能的框子
2.好处:(1).自己实现太复杂 (2).使用框架可以专注于我们业务逻辑 (3).细节 (4).使用多,稳定性、扩展性好
十.Selenium
1.原理: webdriver是按照server–client的经典设计模式设计的。
server端就是remote server,可以是任意的浏览器。当我们的脚本启动浏览器后,该浏览器就是remote server,它的职责就是等待client发送请求并做出相应;client端简单说来就是我们的测试代码,我们测试代码中的一些行为,比如打开浏览器,转跳到特定的url等操作是以http请求的方式发送给被测试浏览器,也就是remote server;remote server接受请求,并执行相应操作,并在response中返回执行状态、返回值等信息。
图片分析
2.环境搭建: (1).FireFox35 (2).python3.7 (3).selenium(2.48.0) (4).驱动器:谷歌/火狐下载
3.selenium对浏览器的操作
操作
案例
4.元素八大定位方式
元素八大定位方式
5.元素的操作