Selenium2自动化测试模型
来源:互联网 发布:搞笑特效软件 编辑:程序博客网 时间:2024/05/16 10:12
Selenium2自动化测试模型
一.自动化测试库(library):是由代码集组成的,以供调用;面向对象的代码组织形成的库,称为类库;面向过程的代码组织形成的库称为函数库;webdriver就是一个类库;
测试框架(framework):为解决一类问题而开发,用户可以使用框架提供的类与函数;unittest:单元测试框架,主要用于实现测试用例的组织和执行,以及测试结果的生成;
测试工具(tools):更加的抽象,屏蔽了底层代码,一般会有单独的界面供用户操作;
二.自动化测试模型
1.线性测试:每个脚本都是相对独立和完整的,且不产生其他依赖和调用;测试用例的开发和维护成本很高;
2.模块化驱动测试:把重复的操作独立成公共模块,需要时被调用,提高了测试用例的可维护性;
3.数据驱动测试:数据的参数化;实现数据和脚本的分离,增强脚本的重复性;
4.关键字驱动测试:QTP(UFT-Unified Functional Testing),Robot Framework,Selenium IDE
模块化驱动测试模型实例:
#模块化驱动测试模型
#public.py
classLogin():
#登录
defuser_login(self,driver):
driver.find_element_by_id("xxx").clear()
driver.find_element_by_id("xxx").send_keys("xx")
driver.find_element_by_id("xxx").clear()
driver.find_element_by_id("xxx").send_keys("xx")
driver.find_element_by_id("xxx").click()
#退出
defuser_logout(self,driver):
driver.find_element_by_link_text("退出").click()
driver.quit()
fromseleniumimportwebdriver
frompublicimportLogin
importtime
driver=webdriver.Firefox()
driver.implicitly_wait(10)
driver.get("http://www.126.com")
#调用登录模块
Login().user_login(driver)
#调用退出模块
Login().user_logout(driver)
数据驱动测试实例
通过定义变量进行参数化,可以通过列表,字典,或者读取文本文件(txt,csv,xml)的方式进行参数化;
#模块化驱动测试模型
#public.py
classLogin():
defuser_login(self,driver,username,password):
driver.find_element_by_id("xxx").clear()
driver.find_element_by_id("xxx").send_keys(username)
driver.find_element_by_id("xxx").clear()
driver.find_element_by_id("xxx").send_keys(password)
driver.find_element_by_id("xxx").click()
....
fromseleniumimportwebdriver
frompublicimportLogin
classLoginTest():
def__init__(self):
self.driver=webdriver.Firefox()
self.driver.implicitly_wait(10)
self.driver.get("http://www.126.com")
#admin用户登录
deftest_admin_login(self):
username="admin"
password="123456"
Login().user_login(self,driver,username,password)
self.driver.quit()
#guest用户登录
deftest_guest_login(self):
username ="guest"
password ="123456"
Login().user_login(self,driver,username,password)
self.driver.quit()
读取txt文件:
user_info.txt
Zhangsan,123
Lisi,1234
Wangwu,567
user_file=open("user_info.txt","r")
lines=user_file.readlines()
user_file.close()
forlineinlines:
username=line.split(",").[0]
password=line.split(",").[1]
print(username,password)
读取csv文件
创建info.csv文件,首先通过wps表格或excel创建表格,文件另存为CSV格式进行保存;
注意不要通过直接修改文件的后缀名来创建CSV文件,这样并非真正的CSV文件。
importcsv
date=csv.reader(open("info.csv","r"))
foruserindate:
print(user)
print(user[1])
读取xml文件:
- Selenium2自动化测试模型
- selenium2-自动化测试模型(1)
- selenium2-自动化测试模型(2)
- Selenium2自动化测试
- 《selenium2 自动化测试实战》
- Selenium2-Web自动化测试学习
- 自动化测试环境Python3+selenium2
- 构建Python+Selenium2自动化测试环境<一>
- 基于Selenium2和TestNG的自动化测试
- 基于Selenium2和TestNG的自动化测试
- 基于Selenium2和TestNG的自动化测试
- 构建Python+Selenium2自动化测试环境<一>
- 部署Python+Selenium2自动化测试环境
- selenium2+python+eclipse自动化测试环境搭建
- 基于Selenium2和TestNG的自动化测试
- 构建Python+Selenium2自动化测试环境<一>
- 基于Selenium2和TestNG的自动化测试
- Selenium2 Python 自动化测试实战学习笔记
- 用原生JS写无缝轮播
- Xshell实现Windows上传文件到Linux主机
- JSP与Servlet的参数传递接收
- hdu 2010 水仙花数
- Spark On YARN自动调整Executor数量配置
- Selenium2自动化测试模型
- shrinkResources 的使用
- Lesson11-15
- 风口的猪---小米笔试题
- Log Structured Merge Trees(LSM) 原理
- Unicode学习笔记
- 将jpg图像转换成yuv420p格式
- 正向代理与反向代理的区别【Nginx读书笔记】
- 微信投票管理系统(二)对系统进行分析