Python + selenium 自动化测试框架详解
作者:嘀嗒学测试 发布时间:2021-01-15 00:06:35
目录
自动化测试框架
1.基础层(通用层)
2.功能层(页面层)
3.业务层
4.用例层
4层框架对应的项目工程
总结
自动化测试框架
项目自动化测试框架设计为4层
1.基础层(通用层)
基础层:
将通用,重复性比较高的代码封装到这里。 写通用的代码的。
其他3层想要的话,就可以直接调用。
例如:
读取测试数据的代码,读取配置信息的代码;截图的代码的,定位元素的代码等等
2.功能层(页面层)
功能层:
pages 封装页面的。 把页面封装成类。类中包含:属性和方法
把页面上的界面元素定义成类的属性;
把定位界面元素并且进行操作封装到类的方法中;
3.业务层
业务层:
把页面和测试数据等等整合到一起,形成一个完整的业务功能。
4.用例层
用例层:
把对应的业务功能的用例进行实现封装。 放到测试套件中进行批量执行,并且生成测试报告。
每一个业务功能会有很多个用例。
4层框架对应的项目工程
OAProject
Config
文件夹目录:用来存放配置信息相关的文件 例如:url.csv db.csvData
文件夹目录: 用来存放测试数据文件的。例如:login_test_data.csvPictures
文件夹目录:用来存放截图文件的。 例如:xxxx.pngReports
文件夹目录:用来存放测试报告文件的。 例如: xxxx.htmlFiles
文件夹目录:如果有上传附件功能实现自动化的话,就可以有。用来存放上传的那个附件文件。Src
包:package:用来管理oa项目中所有的py文件Common
包:存放通用,共同的代码的。 对应:第一层:基础,通用层
如:
读取CSV文档中的测试数据
Pages
包: 存放页面代码的; 对应:第二层:功能页面层Business
包:存放业务层代码的。 对应:第三层:业务层Test_case
包:存放组装测试用例的代码; 对应:第四层:用例层Test_run
包:存放测试套件已经生成测试报告的代码; 对应:第四层:用例层
其中:
pages business test_case
包中可以继续按照功能模块来创建包。例如:XTBG ggxx 等等
备注:
以上工程的设计,框架的设计在工作中:一个项目中,只能由一个人去设计完成。一般都是自动化测试负责人来完成。 其他自动化测试人员等负责人把框架搭建好之后,直接获取,写代码即可。
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
来源:https://blog.csdn.net/weixin_56349063/article/details/121929613
猜你喜欢
- eval()函数eval() 函数用来执行一个字符串表达式,并返回表达式的值。语法eval(expression[, globals[, l
- 本文讲述了Python检测网络延迟的代码。分享给大家供大家参考,具体如下:#!/usr/bin/env python # coding: u
- 前言本文主要记录python下音频常用的操作,以.wav格式文件为例。其实网上有很多现成的音频工具包,如果仅仅调用,工具包是更方便的。更多p
- 一,PHP脚本与动态页面。 PHP脚本是一种服务器端脚本程序,可通过嵌入等方 法与HTML文件混合,也可以类,函数封
- #HelloWorld是文件名称,Hello是类from HelloWorld import Hello调用,Hello类的方法:>&
- 代码如下:using System; using System.Data; using System.Configuration; usin
- 什么是设计模式设计模式是针对软件开发中出现的常见问题的可重用解决方案。它们并不特定于任何编程语言或框架,而是描述了可应用于各种情况的一般原则
- 本文讲解了一个使用XML技术上传文件的例子,使用该方法没有传统方法中的种种限制。 这个例子讲述了如何使用MSXML3.0和ADO Strea
- 本文环境Python 3.6.5Django 2.0.4fix(2018.5.19):最近得知Django 的model基类需要声明为abs
- 一、PyTorch 检查模型梯度是否可导当我们构建复杂网络模型或在模型中加入复杂操作时,可能会需要验证该模型或操作是否可导,即模型是否能够优
- 使用字符串第二次世界大战促使了现代电子计算机的诞生,当初的想法很简单,就是用计算机来计算导弹的弹道,因此在计算机刚刚诞生的那个年代,计算机处
- 关于argmax、argmin函数的使用1、在matlab的现有函数中,并没有argmax,argmin函数可以直接调用,要根据这两个函数的
- 作为Python开发者,你迟早都会用到图形用户界面来开发应用。本文将推荐一些 Python GUI 框架,希望对你有所帮助,如果你有其他更好
- 系统环境:win10 开发环境:JetBrains PyCharm 2017.1.5 x64 Python版本:2.7假如我们有一个clas
- 用科讯CMS“分页显示(专题)文章列表标签”,可以在栏目文章列表下面产生一个页码行。从图可以看出,这段DIV,还需要CSS修饰,但是查看Ht
- pytorch Backward过程用时太长问题描述使用pytorch对网络进行训练的时候遇到一个问题,forward阶段很快(只需要几毫秒
- 又有人说设session.timeout=99999。这种同样不行,session有最大时间限制。我经过测试发现最大值为24小时,也就是说你
- 不知道用ASP写代码的朋友是不是和我有一样的感受,ASP中最头疼的就是调试程序的时候不方便,我想可能很多朋友都会用这样的方法&ldq
- django的url采用正则表达式进行配置,虽然强大却也广为诟病。反对者们认为django的url配置过于繁琐,且不支持默认的路由功能。我倒
- 相信很多人在浏览网页时,经常会碰到需要输入验证码才可以继续浏览的情况吧,遇到这种问题,大多数人只能进行繁琐的注册验证,今天小编教大家只要使用