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入门篇之文件
Oct 20 Python
Python创建系统目录的方法
Mar 11 Python
Python中使用不同编码读写txt文件详解
May 28 Python
简单讲解Python中的数字类型及基本的数学计算
Mar 11 Python
python代码 if not x: 和 if x is not None: 和 if not x is None:使用介绍
Sep 21 Python
python变量赋值方法(可变与不可变)
Jan 12 Python
2019 Python最新面试题及答案16道题
Apr 11 Python
用python打印1~20的整数实例讲解
Jul 01 Python
解决python中导入win32com.client出错的问题
Jul 26 Python
python使用selenium爬虫知乎的方法示例
Oct 28 Python
浅谈怎么给Python添加类型标注
Jun 08 Python
浅析Python中的套接字编程
Jun 22 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
全国FM电台频率大全 - 20 广西省
2020/03/11 无线电
PHP 设计模式之观察者模式介绍
2012/02/22 PHP
ThinkPHP2.x防范XSS跨站攻击的方法
2015/09/25 PHP
mac系统下安装多个php并自由切换的方法详解
2017/04/21 PHP
php获取'/'传参的值简单方法
2017/07/13 PHP
详解PHP实现支付宝小程序用户授权的工具类
2018/12/25 PHP
详解关于php的xdebug配置(编辑器vscode)
2019/01/29 PHP
php自动加载代码实例详解
2021/02/26 PHP
js实现横向百叶窗效果网页切换动画效果的方法
2015/03/02 Javascript
js实现仿阿里巴巴城市选择框效果实例
2015/06/24 Javascript
JavaScript截取指定长度字符串点击可以展开全部代码
2015/12/04 Javascript
搞定immutable.js详细说明
2016/05/02 Javascript
js计算系统当前日期是星期几的方法
2016/07/14 Javascript
JavaScript禁止用户多次提交的两种方法
2016/07/24 Javascript
ajax级联菜单实现方法实例分析
2016/11/28 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
2016/12/30 Javascript
nodejs实现发出蜂鸣声音(系统报警声)的方法
2017/01/18 NodeJs
jQuery实现锚点向下平滑滚动特效示例
2017/08/29 jQuery
详解vue中点击空白处隐藏div的实现(用指令实现)
2018/04/19 Javascript
Easyui 去除jquery-easui tab页div自带滚动条的方法
2019/05/10 jQuery
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
2019/09/24 Javascript
countUp.js实现数字滚动效果
2019/10/18 Javascript
vue如何使用async、await实现同步请求
2019/12/09 Javascript
基于python实现KNN分类算法
2020/04/23 Python
Pycharm新手教程(只需要看这篇就够了)
2019/06/18 Python
如何使用amaze ui的分页样式封装一个通用的JS分页控件
2020/08/21 HTML / CSS
世界上最大的网络主机公司:1&1
2016/10/12 全球购物
美国珠宝精品店:Opulent Jewelers
2019/08/20 全球购物
俄语专业毕业生推荐信
2013/10/28 职场文书
医护人员英文求职信范文
2013/11/26 职场文书
创业者迈进成功第一步:如何写创业计划书?
2014/03/22 职场文书
元宵晚会主持词
2014/03/25 职场文书
团日活动总结怎么写
2014/06/25 职场文书
家长评语怎么写
2014/12/30 职场文书
SQL实现LeetCode(197.上升温度)
2021/08/07 MySQL
baselines示例程序train_cartpole.py的ImportError
2022/05/20 Python