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


猜你喜欢
- 前言网易云音乐这款音乐APP本人比较喜欢,用户量也比较大,而网易云音乐之所以用户众多和它的歌曲评论功能密不可分,很多歌曲的评论非常有意思,其
- 如何在ADO服务器端利用好缓存技术?请看下面示例,这是一个用来显示图书分类的例子程序:displayBooks.asp< %
- python新手一枚,操作系统Win10 64 bit,Python版本,3.7因为某个脚本需要用到win32con 和win32api模块
- 可视化图表,有相当多种,但常见的也就下面几种,其他比较复杂一点,大都也是基于如下几种进行组合,变换出来的。对于初学者来说,很容易被这官网上众
- 前言说起面试,很多同学都经历过,但是 面试中 可能会遇到各种问题,MySQL 的问题 也是非常多,最近我也经常面试,也希望问一些数据库一些偏
- SqlServer将数据库中的表复制到另一个数据库一、如果两个数据库在同一台服务器上1、复制表结构和数据(A->B):SELECT *
- 数据库是数据的集合,与数学的集合论有密不可分的关系。为提高查询速度,我们可以:对数据表添加索引,以加快搜索速度;通过编程技巧最大限度地利用索
- 系统只要能从数据库连接池获取到一个数据库连接,就能执行CRUD。可通过数据库连接将待执行SQL发给MySQL。大部分 crud boy只知道
- 加载垃圾邮件数据集spambase.csv(数据集基本信息:样本数: 4601,特征数量: 57, 类别:1 为垃圾邮件,0 为
- 目录前言通过错误日志记录利用 channel 传输使用 sync/errgroup总结前言在 Go 语言程序开发中,goroutine 的使
- 在MySQL官网上下载最新版的Ubuntu Linux专用的MySQL。我这里下载的是:mysql-server_5.7.17-1ubunt
- <HTML> <BODY> <
- 本文开篇第一句话,想引用鲁迅先生《祝福》里的一句话,那便是:“我真傻,真的,我单单知道后端整天都是CRUD,我没想到前端整天都是Form表单
- 绘制一个菱形四边形,边长为 200 像素。方法1和2绘制了内角为60和120度的菱形,方法3绘制了内角为90度的菱形。方法1
- 存储过程的功能非常强大,在某种程度上甚至可以替代业务逻辑层,接下来就一个小例子来说明,用存储过程插入或更新语句。1、数据库表结构所用数据库为
- 本例已经实现的数据库password,数据库的表以及表结构如下:表中已经插入的信息:实现思路无非是用户完成账户密码输入并点击登录
- 最近项目中有一个小需求,查找json文件中某个key或者value的路径,所以就写了一个简单的小脚本,比较粗糙。#!/usr/bin/env
- 如果你是一位前端开发工程师,对“跨平台”一词应该不会感到陌生。像常见的前端框架:比如React、Vue、Angular,它们可以做网页端,也
- 维护脚本一例,写得有点乱,只是作为一个实例,演示如何快速利用工具快速达到目的:应用到:shell与python数据交互、数据抓取,编码转换#
- 一 ,mysql事务MYSQL中只有INNODB类型的数据表才能支持事务处理。启动事务有两种方法(1) 用begin,rollback,co