一、安装selenium和环境配置
1 pip install selenium
2 三个驱动文件放到d:盘根目录
3 安装火狐版本33
4 安装插件:selenium ide\firebug\firepath
5 下载三个Py程序,分别修改,将路径设定为三个驱动文件所在的路径,然后分别执行,看看是否可以打开浏览器,显示搜狗页面,有一个能成功即可
【踩坑】
IE浏览器的话需要设置
1、 缩放100%
2、 全勾选或者全不勾选
二、自动化测试
1、自动化测试优势:
(1)重复多次执行时节省时间,提高测试覆盖率
(2)自动化回归
(3)规范化过程
(4)历史文档记录
2、自动化测试局限性:
(1)只能发现15%的bug
(2)不能提高测试有效性,只能提高效率
(3)不具想象力,没人聪明
(4)不能取代手工测试
3、自动化测试的内容:
(1)测试数据自动生成
(2)自动化输入
(3)测试结果自动比较
(4)测试自动执行
(5)测试用例的管理
(6)在线监控
4、自动化脚本技术:
(1)线性脚本
(2)结构化脚本
(3)共享脚本
(4)数据驱动脚本
(5)关键字驱动脚本
数据驱动脚本示例:程序不变数据变
data.txt:
e:\\a.txt
e:\\1.html
main.py:
#encoding=utf-8
with open("data.txt") as fp:
for i in fp:
with open(i.strip()) as fp1:
print fp1.read()
关键字驱动脚本示例:通过数据文件中的关键字,调用另一个文件中的函数,实现某个功能。 将测试逻辑按照这些关键字进行分解,形成数据文件,用关键字的形式将测试逻辑封装在数据文件中,测试工具只要能够解释这些关键字即可对其应用自动化
#练习:(1)将data.txt文件中op作为关键字,调用kd.py中的op()方法读取1.txt文件中的所有内容;(2)将data.txt文件中第二、三行数据用","区分,write和read作为操作类型;e:\\test4\\...作为操作路径;w和r作为操作权限;"glory road is good!"为写入内容;
kd.py:
#encoding=utf-8
def op():
with open("e:\\test4\\1.txt") as fp:
print fp.read()
def write(file_path,mode,content):
with open(file_path,mode) as fp1:
fp1.write(content)
def read(file_path,mode):
with open(file_path,mode) as fp2:
print fp2.read()
kd2.py:
#encoding=utf-8
from kd import *
with open("e:\\test4\\data.txt") as fp:
for i in fp:
if i.find(",")!=-1:
prams=i.strip().split(",")
if len(prams)==4:
command=prams[0]+"(\""+prams[1]+"\",\""+prams[2]+"\",\""+prams[3]+"\")"
print command
eval(command)
if len(prams)==3:
command=prams[0]+"(\""+prams[1]+"\",\""+prams[2]+"\")"
print command
eval(command)
else:
prams=i.strip()
command=prams+"()"
print command
eval(command)
data.txt:
op
write,e:\\a.txt,w,glory road is good!
read,e:\\a.txt,r
1.txt:
Process-2:2018-03-31 15:02:31
glory road is good!
5、使用自动化的一些典型场景:
(1)大量的回归测试
(2)注入测试数据
(3)敏捷开发的TDD模式,行为驱动开发模式
(4)机械并繁琐的测试
(5)业务监控
6、自动化术语:
(1)框架:整个或部分系统的可重用设计,可以看做是一种应用骨架
(2)关键字驱动的自动化测试:主要包括被操作对象、操作和值