Python selenium自动化测试模型图解

news2024/11/15 13:33:39

1、线性测试

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

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

2、模块化驱动测试

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

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

(1)提高了开发效率

(2)简化了维护复杂性

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

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

在这里插入图片描述
然后写个主程序调用登录的函数


3、数据驱动测试

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

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

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

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

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

在这里插入图片描述
然后主方法中调用该方法,传入不同的参数


(2)参数化搜索关键字

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


(3)读取txt文件

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

read():读取整个文件

readline():读取一行数据

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



(4)读取csv文件

(5)读取xml文件

parse():打开xml文件

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

nodeName:节点名称

nodeValue:节点值

nodeType:节点类型

ELEMENT_NODE:元素节点类型

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

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

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助!

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


全套资料获取方式:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/657388.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年计算机专业毕业实习报告最新

2023年计算机专业毕业实习报告最新篇1 一、实习基本情况 按照学校对毕业生的要求,为毕业后的工作和谋职打下良好的基础。我于X年X月来到山西柳林汇丰兴业同德焦煤有限公司进行为期X个月的实习。毕业实习让我们想起那句老话:“让学生赢在起跑线上。”在学…

验证性实验 - 线性回归

练习1:线性回归 介绍 在本练习中,您将实现线性回归并了解其在数据上的工作原理。 在开始练习前,需要下载如下的文件进行数据上传: ex1data1.txt -单变量的线性回归数据集ex1data2.txt -多变量的线性回归数据集 在整个练习中&a…

马斯克撕下美国的遮羞布,美企纷纷背刺,外媒:可怕的还在后面

马斯克访华造成的影响还在持续,随着更多美国企业家访华以及表明态度,可以说他们正撕下美国的遮羞布,今天的美国其实早已背离了当初他们所宣扬的价值,凸显出外强中干的本质。 二.美国企业家纷纷访华撕下美国遮羞布 美国一直都标榜贸…

某购房通小程序解密分析【2023.6.17】

声明 本文以教学为基准、本文提供的可操作性不得用于任何商业用途和违法违规场景。 本人对任何原因在使用本人中提供的代码和策略时可能对用户自己或他人造成的任何形式的损失和伤害不承担责任。 如有侵权,请联系我进行删除。 主要对小程序返回的加密结果进行解密的分析过程只…

如何在编程中中实现负载均衡和容错处理

什么是容错 容错是指系统(计算机、网络、云集群等)在其一个或多个组件发生故障时继续运行而不会中断的能力。 创建容错系统的目的是防止由单点故障引起的中断,确保任务关键型应用程序或系统的高可用性和业务连续性。 容错系统使用备份组件…

DAY26:回溯算法(一):回溯算法理论

课程链接:https://www.bilibili.com/video/BV1cy4y167mM/?spm_id_from333.788 什么是回溯法 回溯法 - OI Wiki (oi-wiki.org) 回溯法是一种经常被用在 深度优先搜索(DFS) 和 广度优先搜索(BFS) 的技巧。 其本质是…

Elasticsearch 基本使用(一)写入数据

写入数据 查询索引状态写入一条数据查询数据按id查询一条 类比 getById不按id查 写入官方测试数据 查询索引状态 GET _cat/indices写入一条数据 PUT/POST my_index/_doc/1 {"k": "test key" }my_index:索引名 _doc:文档类型&#…

css基础知识三:说说em/px/rem/vh/vw的区别?

一、介绍 传统的项目开发中,我们只会用到px、%、em这几个单位,它可以适用于大部分的项目开发,且拥有比较良好的兼容性 从CSS3开始,浏览器对计量单位的支持又提升到了另外一个境界,新增了rem、vh、vw、vm等一些新的计量…

2023年网络安全竞赛——网页渗透

网页渗透 任务环境说明:  服务器场景:Server2120  服务器场景操作系统:未知(封闭靶机)  用户名:未知 密码:未知 访问服务器的网站主页,猜测后台数据库中本网页中应用的库名称长度,将长度作为flag提交; 通过扫描发现靶机开放80端口,直接访问80 尝试输入一个1,…

Web安全信息收集之CMS指纹识别

1、CMS指纹识别 CMS(内容管理系统),又称整站系统或文章系统网站内容管理。用户只需要下载对应的CMS软 件包,部署搭建,就可以直接利用CMS,简单方便。但是各种CMS都具有其独特的结构命名规则和定 的文件内容,因此可以利用这些内容来获取CMS站点的具体软件CMS与版本 常见CMs: …

软件管理Linux

1. 获取程序包的途径 系统发行版的光盘或官方的服务器 http://mirrors.aliyun.comhttp://mirrors.sohu.comhttp://mirrors.163.com 项目官方站点第三方组织 Fedora-EPEL(推荐)搜索引擎: http://pkgs.org http://rpmfind.net http://rpm.pbon…

数据库第十章(数据库恢复技术)十一章(并发控制)

目录 1.事务 2.并发控制 1.事务 事务的特点:ACID 原子性 atom 一致性 consistent 隔离性 isolation 持久性 durable 故障的种类 1.事务内部故障 措施:采取redo重做和undo撤销技术 2.系统故障DBMS 措施:重启 3.介质故障 硬件损坏 4.计…

msvcr110.dll丢失的解决方法-dll一键下载修复

我们在运行软件程序或者游戏的时候,如果程序提示“无法启动此程序,因为计算机中丢失msvcr110.dll。尝试重新安装该程序以解决此问题”,如果说明您电脑系统中缺少或者未注册msvcr110.dll这个运行库文件,那么我们要如何解决这个问题…

大学生简历信息填写模板

大学生简历信息填写模板篇1 姓名:__性别:_年龄:22健康状况:良好 籍贯:__家庭背景:职工家庭 所学专业:市场营销学历:本科(在读) 参业意向:可从事文秘工作、贸易、产品营销…

pytorch神经网络及训练(一)

pytorch神经网络及训练(一) 随机梯度下降算法 随机梯度下降算法(SGD)是对梯度下降算法的一种改进。 直观上SG的方法可能效率上更优。考虑这样一个情况,我们的训练数据集合 是由小的数据 集合复制10份得到的。此时&…

Java代码规范的重要性

目录 1 为什么需要代码规范1.1 不规范的案例1.1.1 就因为忘记加个分号,整个程序都崩溃了1.1.2 我为什么没写注释?1.1.3 谁动了我的代码?1.1.4 半小时写的代码,花两个小时调试 1.2 代码编写1.3 在项目架构1.4 数据库设计1.5 编写文…

openpnp - 软件版本的更新记录(机器翻译)

文章目录 openpnp - 软件版本的更新记录(机器翻译)概述openpnp更新历史记录机翻了一个版本, 大概齐参考一下.END openpnp - 软件版本的更新记录(机器翻译) 概述 卡在底部相机矫正上, 底部相机的硬件安装已经很精确了, 基本能排除是硬件问题. 现在问题定位, 大概率是openpnp软…

g++ -v 若显示g++不是内部或外部命令`

MinGW - Minimalist GNU for Windows Files下载地址 下载地址点这里https://sourceforge.net/projects/mingw/files/ . exe文件下载后建议安装在D盘下tools文件夹下(个人习惯) 此次安装在默认路径下,直接傻瓜式安装 安装: 1.…

2023年网络安全竞赛——网络安全应急响应Server2228

网络安全应急响应 任务环境说明: 服务器场景:Server2228(开放链接) 用户名:root,密码:pssw0rd123 1. 找出被黑客修改的系统别名,并将倒数第二个别名作为Flag值提交&#xff1b…

CTFshow-pwn入门-前置基础pwn13-pwn19

pwn13 题目说编译运行这个flag.c文件即可获得flag。那我们先把flag.c文件下载下来,然后托到虚拟机里使用gcc编译一下,运行看看是否能够拿到flag。 gcc -o flag -flag.c ./flagok,果然拿到了flag。flag为:ctfshow{hOw_t0_us3_GCC?…