Python selenium自动化测试模型图解


Posted in Python onApril 15, 2020

1、线性测试

优势:每一个脚本都是完整独立的,每一个脚本对应一个测试用例

缺点:开发成本高,会有重复操作重复脚本;维护成本也高,修改重复操作的脚本时,要逐一进行修改。

2、模块化驱动测试

把重复的操作独立成公共模块,当用例执行中需要这一模块操作时调用,这样最大限度的消除重复,提高测试用例的可维护性。

解决了线性测试的两个问题:

(1)提高了开发效率

(2)简化了维护复杂性

缺点:在数据会改变的情况下,会加大编写重复的脚本(比如现在我要测试不同用户登录的场景,先是张三登录,登录完后换李四登录,然后继续换用户登录,这样会有重复的登录脚本,虽然登录的步骤一样,但是登录的数据不一样)

写一个类,将登录的函数包装起来

Python selenium自动化测试模型图解

然后写个主程序调用登录的函数

Python selenium自动化测试模型图解

3、数据驱动测试

数据驱动是数据的参数化,因为输入数据的不痛而引起输出结果的不同;比如定义的数组、字典、或者是外部文件(Excel、csv、txt、xml等)都可以看做是数据驱动,目的就是实现数据与脚本的分离。

优点:进一步增强了脚本的复用性。

(1)通过参数化来实现数据驱动

将要输入的值当做一个参数来进行传入,实现根据数据输入的不同而有不同的执行结果

登录的函数以传参的方式封装

Python selenium自动化测试模型图解

然后主方法中调用该方法,传入不同的参数

Python selenium自动化测试模型图解

(2)参数化搜索关键字

将要搜索的关键字定义为一组数组,然后通过循环的方式进行搜索,搜索的关键字不一样测试结果也不一样。

Python selenium自动化测试模型图解

(3)读取txt文件

Python中提供了几种读取txt文件的方式:

read():读取整个文件

readline():读取一行数据

readlines():读取所有行的数据

Python selenium自动化测试模型图解

Python selenium自动化测试模型图解

(4)读取csv文件

(5)读取xml文件

parse():打开xml文件

documentElement:用于得到xml文件唯一的根元素

nodeName:节点名称

nodeValue:节点值

nodeType:节点类型

ELEMENT_NODE:元素节点类型

getElementsByTagName:可以通过标签名获取标签,获取的对象以数组的形式存储

getAttribute():用于获取元素的属性值,与webdriver中的get_attribute()类似

firstChild:属性返回被选节点的第一个子节点

data:表示获取该节点的数据,与webdriver中的text方法类似

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python模拟登陆Tom邮箱示例分享
Jan 13 Python
Python使用logging结合decorator模式实现优化日志输出的方法
Apr 16 Python
python 第三方库的安装及pip的使用详解
May 11 Python
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
Aug 07 Python
python re模块findall()函数实例解析
Jan 19 Python
python学习入门细节知识点
Mar 29 Python
在Pycharm中自动添加时间日期作者等信息的方法
Jan 16 Python
Python pickle模块实现对象序列化
Nov 22 Python
使用 Supervisor 监控 Python3 进程方式
Dec 05 Python
详解从Django Allauth中进行登录改造小结
Dec 18 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
Jun 04 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
Jun 29 Python
python简单实现最大似然估计&scipy库的使用详解
Apr 15 #Python
Python unittest单元测试框架及断言方法
Apr 15 #Python
python 连续不等式语法糖实例
Apr 15 #Python
Python中使用socks5设置全局代理的方法示例
Apr 15 #Python
在python中求分布函数相关的包实例
Apr 15 #Python
python实现手势识别的示例(入门)
Apr 15 #Python
使用python计算三角形的斜边例子
Apr 15 #Python
You might like
php 解决旧系统 查出所有数据分页的类
2012/08/27 PHP
php中stdClass的用法分析
2015/02/27 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
2017/07/03 PHP
jqgrid 简单学习笔记
2011/05/03 Javascript
js弹出模式对话框,并接收回传值的方法
2013/03/12 Javascript
基于socket.io+express实现多房间聊天
2016/03/17 Javascript
Angularjs 滚动加载更多数据
2016/03/17 Javascript
jQuery EasyUI提交表单验证
2016/07/19 Javascript
Canvas + JavaScript 制作图片粒子效果
2017/02/08 Javascript
Javascript 详解封装from表单数据为json串进行ajax提交
2017/03/29 Javascript
bootstrap常用组件之头部导航实现代码
2017/04/20 Javascript
JQuery实现图片轮播效果
2017/05/08 jQuery
vue2.0实现的tab标签切换效果(内容可自定义)示例
2019/02/11 Javascript
JS实现商城秒杀倒计时功能(动态设置秒杀时间)
2019/12/12 Javascript
基于小程序请求接口wx.request封装的类axios请求
2020/07/02 Javascript
node运行js获得输出的三种方式示例详解
2020/07/02 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
Python3中多线程编程的队列运作示例
2015/04/16 Python
Python中字典映射类型的学习教程
2015/08/20 Python
Python开发的实用计算器完整实例
2017/05/10 Python
分析Python读取文件时的路径问题
2018/02/11 Python
python3实现逐字输出的方法
2019/01/23 Python
python实现抽奖小程序
2020/04/15 Python
Python获取命令实时输出-原样彩色输出并返回输出结果的示例
2019/07/11 Python
Python Django实现layui风格+django分页功能的例子
2019/08/29 Python
python实现发送form-data数据的方法详解
2019/09/27 Python
导入tensorflow:ImportError: libcublas.so.9.0 报错
2020/01/06 Python
python矩阵运算,转置,逆运算,共轭矩阵实例
2020/05/11 Python
MATCHESFASHION澳大利亚/亚太地区:英国时尚奢侈品电商
2020/01/14 全球购物
《云房子》教学反思
2014/04/20 职场文书
大学毕业生个人自荐书
2014/07/02 职场文书
单位委托书
2014/10/15 职场文书
合同权益转让协议书模板
2014/11/18 职场文书
医院感染管理制度
2015/08/05 职场文书
Pandas搭配lambda组合使用详解
2022/01/22 Python
vue elementUI表格控制对应列
2022/04/13 Vue.js