Python + selenium 自动化测试框架详解

自动化测试框架

项目自动化测试框架设计为4层

1.基础层(通用层)

基础层:

将通用,重复性比较高的代码封装到这里。 写通用的代码的。

其他3层想要的话,就可以直接调用。

例如:

读取测试数据的代码,读取配置信息的代码;截图的代码的,定位元素的代码等等

2.功能层(页面层)

功能层:

pages 封装页面的。 把页面封装成类。类中包含:属性和方法

把页面上的界面元素定义成类的属性;

把定位界面元素并且进行操作封装到类的方法中;

3.业务层

业务层:

把页面和测试数据等等整合到一起,形成一个完整的业务功能。

4.用例层

用例层:

把对应的业务功能的用例进行实现封装。 放到测试套件中进行批量执行,并且生成测试报告。

每一个业务功能会有很多个用例。

4层框架对应的项目工程

OAProject

  • Config 文件夹目录:用来存放配置信息相关的文件 例如:url.csv db.csv
  • Data 文件夹目录: 用来存放测试数据文件的。例如:login_test_data.csv
  • Pictures 文件夹目录:用来存放截图文件的。 例如:xxxx.png
  • Reports 文件夹目录:用来存放测试报告文件的。 例如: xxxx.html
  • Files 文件夹目录:如果有上传附件功能实现自动化的话,就可以有。用来存放上传的那个附件文件。
  • Src 包:package:用来管理oa项目中所有的py文件
  • Common 包:存放通用,共同的代码的。 对应:第一层:基础,通用层

如:

读取CSV文档中的测试数据

  • Pages 包: 存放页面代码的; 对应:第二层:功能页面层
  • Business 包:存放业务层代码的。 对应:第三层:业务层
  • Test_case 包:存放组装测试用例的代码; 对应:第四层:用例层
  • Test_run 包:存放测试套件已经生成测试报告的代码; 对应:第四层:用例层

其中:

pages business test_case包中可以继续按照功能模块来创建包。例如:XTBG ggxx 等等

备注:

以上工程的设计,框架的设计在工作中:一个项目中,只能由一个人去设计完成。一般都是自动化测试负责人来完成。 其他自动化测试人员等负责人把框架搭建好之后,直接获取,写代码即可。

​现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux Debian12安装和使用ImageMagick图像处理工具 常见图片png、jpg格式转webp格式

一、ImageMagick简介 ImageMagick是一套功能强大、稳定而且免费的工具集和开发包。可以用来读、写和图像格式转换,可以处理超过100种图像格式,包括流行的TIFF, JPEG, GIF, PNG, PDF以及PhotoCD等格式。对图片的操作,即可以通过命令行进行&am…

【源码分析】 Calcite 处理流程详解:calcite架构、处理流程以及就一个运行示例进行源码分析

文章目录 一. Calcite整体架构二. Calcite处理流程三. 处理流程样例说明1. 样例demo1.1. 样例数据1.2. 使用calcite 2. 流程源码分析Step1: SQL 解析阶段(SQL–>SqlNode)Step2: SqlNode 验证(SqlNode–>SqlNode)1. 注册元数…

未来已来,Ai原生应用与人高度结合!学习就在现在?

原生应用:OpenAI™ChatGPT、Baidu.Inc™文心一言 也可以体验CSDN的INSCODE AI,集成多个国内GPT内容。 文章目录 前言----编程语言的未来?一、编程语言的教育1.1 学校所见所闻1.2 开启我们的Ai行程~io!1.3 Ai结果评论 二、Ai编程教…

海外数据中心代理与住宅代理:优缺点全面对比

数据中心代理和住宅代理是为了匿名而开发的,通过替换网站眼中您自己的 IP 地址。然而,它们在价格、功能、性能或最佳用例方面存在一些差异。那么,这些代理类型到底有什么相似点和不同点呢? 一、什么是数据中心代理? 1…

Android Matrix剪切clipPath缩放scale图片postTranslate圆形放大镜,Kotlin(2)

Android Matrix剪切clipPath缩放scale图片postTranslate圆形放大镜,Kotlin(2) 在 Android Matrix剪切clipPath缩放scale图片postTranslate圆形放大镜,Kotlin(1) Android Matrix剪切clipPath缩放scale图片po…

计算机组成原理-输入输出系统和IO控制方式

文章目录 总览现代计算机的结构常见的IO设备主机如何与IO设备交互IO控制方式简介程序查询方式程序中断方式DMA控制方式通道控制方式 IO系统基本组成小结 总览 现代计算机的结构 常见的IO设备 主机如何与IO设备交互 IO控制方式简介 数据寄存器:存放主机要输出到外设…

全功能Python测试框架:pytest

python通用测试框架大多数人用的是unittestHTMLTestRunner,这段时间看到了pytest文档,发现这个框架和丰富的plugins很好用,所以来学习下pytest. pytest是一个非常成熟的全功能的Python测试框架,主要有以下几个特点: …

接口测试基础知识总结

一、HTTP 1、http请求头和响应头包含那些内容? 请求头信息 请求报头允许客户端向服务器端传递请求的附加信息以及客户端自身的信息。 2、常用的请求报头如下: Accept:浏览器可接受的MIME类型。 l MIME用于设定某种扩展名的文件用哪种应…

node.js安装web3.js

第一步 node.js和npm 首先你需要有node.js和npm 可参考菜鸟教程 第二步 初始化nodejs项目 在项目文件夹打开命令行,输入 npm init -y此代码意为创建一个nodejs项目,默认配置。 然后安装web3.js,命令行输入安装命令 npm install web3npm会…

ubuntu远程桌面连接之novnc

一、前言 该操作是为了实现vnc桌面连接为url连接方式,且在浏览器中可以对ubuntu进行操作。在使用novnc进行操作前,需要先安装vnc才可。ubuntu下如何安装vnc,可看博主前面写的一篇文,ubuntu远程桌面连接之vnc-CSDN博客,…

2024,清洁家电卷向“全、智、廉、拓”与“出海”

文 | 智能相对论 作者 | 佘凯文 岁末,又到了一年一度盘点全年、筹划未来的重要节点。在今年经济大环境整体趋向稳定的背景中,许多行业都交还算过得去的成绩单,清洁家电正是其中一员。 特别是在整体家电大环境依旧严峻的前提下,…

PTA——逆序的三位数

程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。 输入格式: 每个测试是一个3位的正整数。 输出格式: 输出按位逆序…