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使用mysqldb连接数据库操作方法示例详解
Dec 03 Python
python导出hive数据表的schema实例代码
Jan 22 Python
django 按时间范围查询数据库实例代码
Feb 11 Python
树莓派用python中的OpenCV输出USB摄像头画面
Jun 22 Python
python pandas时序处理相关功能详解
Jul 03 Python
python SQLAlchemy 中的Engine详解
Jul 04 Python
python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】
Jul 06 Python
python实现H2O中的随机森林算法介绍及其项目实战
Aug 29 Python
如何理解python中数字列表
May 29 Python
在vscode中启动conda虚拟环境的思路详解
Dec 25 Python
浅析Django接口版本控制
Jun 26 Python
Python实现日志实时监测的示例详解
Apr 06 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
FleaPHP的安全设置方法
2008/09/15 PHP
PHP程序员必须清楚的问题汇总
2014/12/18 PHP
PHP实现采集抓取淘宝网单个商品信息
2015/01/08 PHP
php采集中国代理服务器网的方法
2015/06/16 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
2020/08/17 PHP
PHP实现数据分页显示的简单实例
2016/05/26 PHP
php session_decode函数用法讲解
2019/05/26 PHP
PHP 实现base64编码文件上传出现问题详解
2020/09/01 PHP
Ubuntu 11.10 安装Node.js的方法
2011/11/30 Javascript
js innerHTML 改变div内容的方法
2013/08/03 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
2014/05/08 Javascript
js获取当前时间(昨天、今天、明天)
2016/11/23 Javascript
JS 在数组指定位置插入/删除数据的方法
2017/01/12 Javascript
性能优化之代码优化页面加载速度
2017/03/01 Javascript
js中的触发事件对象event.srcElement与event.target详解
2017/03/15 Javascript
vuex的简单使用教程
2018/02/02 Javascript
详解Nodejs内存治理
2018/05/13 NodeJs
JS实现获取当前所在周的周六、周日示例分析
2019/05/11 Javascript
Js参数RSA加密传输之jsencrypt.js的使用
2020/02/07 Javascript
Jquery Fade用法详解
2020/11/06 jQuery
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
2020/11/12 Javascript
Python遍历numpy数组的实例
2018/04/04 Python
Python学习小技巧总结
2018/06/10 Python
python中的函数递归和迭代原理解析
2019/11/14 Python
python add_argument()用法解析
2020/01/29 Python
Python异常原理及异常捕捉实现过程解析
2020/03/25 Python
Python自动化测试中yaml文件读取操作
2020/08/20 Python
python制作一个简单的gui 数据库查询界面
2020/11/19 Python
Python+unittest+requests+excel实现接口自动化测试框架
2020/12/23 Python
详解HTML5 canvas绘图基本使用方法
2018/01/29 HTML / CSS
开发人员所需要知道的HTML5性能分析面面观
2012/07/05 HTML / CSS
美国批发供应商:Kole Imports
2019/04/10 全球购物
村级环境卫生整治方案
2014/05/04 职场文书
购房委托书范本
2014/09/18 职场文书
模范教师事迹材料
2014/12/16 职场文书
2015年乡镇扶贫工作总结
2015/04/08 职场文书