多测师肖sir___ui自动化测试po框架(升级)

ui自动化测试po框架(升级)

po框架
一、ui自动化po框架介绍
(1)PO是Page Object的缩写(pom模型)
(2)业务流程与页面元素操作分离的模式,可以简单理解为每个页面下面都有一个配置class, 配置class就用来维护页面元素或操作方法
(3)提高测试用例的可维护性、可读取性
对比:传统的设计测试用例存在的弊端:
1.易读性差
2.复用性差
3.可维护性差
4.扩展性差
二、ui自动化框架6个包

‘’'1、先创建一个cms项目
(1)创建第一个conf包存放所有配置文件信息(比如项目路径和数据,用例的路径)
可以封装路径
‘‘ini是一种配置文件
在ui自动化测试中配置文件的种类
ini、Excel、.py、yaml、txt’’’
在创建第二个Data包放数据(测试数据)
(2) 在data包中创建一个TestData目录(放测试数据)
测试环境的一些url地址和账号密码可以放在TestDta中
(3)在创建第三个report包==存放测试报告
在report包中创建一个Testrepot目录(存放报告)
(4)在创建第四个public公共公开的包(存放一些功能用例)
在public包中创建pages存放元素层流程层(封装所有页面的公共方法,基类)
在public包中创建utils包(处理公共类公共函数都存放在此)
可以在utils中来读取pages中封装的登录的流程(封装读取ini文件或者EXCEL表格的工具类和工具函数
(5)在创建第五个testcase用例包用来存放用例
编写测试用例
(6)在创建第六个run包用来运行
通过运行测试用例中封装好的用例在运行然后在repot中生成测试报告
框架的思想:把整个用例结构

======================================
在这里插入图片描述

=======================================
现在config包中新建config包:

"""
此模块用来定义项目及其下面的包的路径
"""
import os
#定义项目路径
base_path = os.path.dirname(os.path.dirname(__file__))    # 项目所在的路径
# data路径
data_path = os.path.join(base_path,'data')
# pages路径
pages_path = os.path.join(base_path,'public','pages')
# utils路径
utils_path = os.path.join(base_path,'public','utils')
# report路径
report_path = os.path.join(base_path,'report')
# run路径
run_path = os.path.join(base_path,'run')
# testcase路径
testcase_path = os.path.join(base_path,'testcase')

===============================================

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

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

相关文章

【linux】visudo

碎碎念 visudo命令是用来修改一个叫做 /etc/sudoers 的文件的,用来设置哪些 用户 和 组 可以使用sudo命令。并且使用visudo而不是使用 vi /etc/sudoers 的原因在于:visudo自带了检查功能,可以判断是否存在语法问题,所以更加安全 …

深入探讨 Go 语言中的 Map 类型(续)

深入探讨 Go 语言中的 Map 类型(续) 在上一篇博客中,我们已经讨论了 Go 语言中 map 类型的基本概念、特性以及最佳实践。本篇继续深入,讨论一些更高级的 map 用法和技巧,以及一些注意事项。 更高级的 Map 用法 1. m…

7.评价预测模型——C指数,NRI,IDI计算

目录 基本知识 1. C指数 2. NRI、IDI 二分类资料 1. C指数 C指数计算 比较两个模型C指数 2. NRI 3. IDI 生存资料 1. rms包拟合的生存曲线 C指数 比较两个模型的C指数 2. survival包拟合的生存曲线 C指数 NRI计算 IDI 基本知识 1. C指数 C指数: …

给VScode 挪挪窝

给VSCode 挪挪窝 vscode platoformio 写一些代码,导致笔记本c盘满满当当的, 挪了几次都不成功,今天学了一招,给这俩挪到另外一个盘去 复制文件 cp -R c:\users\user\.vscode d:\work\tools\PIO\.vscode cp -R c:\users\user…

stm32 - 基础架构

stm32 - 基础架构 基础架构外设概念系统结构引脚定义晶振工程 基础架构 外设概念 NVIC (内核外设) SysTick (内核外设) 其他是片上外设 系统结构 内核引出三条总线 ICode 指令总线: 连接Flash闪存(编写的…

C# wpf 获取控件刷新的时机

文章目录 前言一、为何要获取刷新时机?例子一、隐藏控件后截屏例子二、修改控件大小后做计算 二、如何实现?1.使用动画2.使用TaskCompletionSource 三、完整代码四、使用示例1、隐藏工具条截屏2、修改宽高后获取ActualWidth、ActualHeight 总结 前言 做…

【算法题】58. 最后一个单词的长度

题目 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1: 输入:s "Hello World" 输出&#…

计算机网络(超详解!) 第二节 数据链路层(上)

1.数据链路层使用的信道 数据链路层使用的信道主要有以下两种类型: 1.点对点信道:这种信道使用一对一的点对点通信方式。 2.广播信道:这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多&#xff0…

力扣刷MySQL-第二弹(详细解析)

🎉欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克🍹 ✨博客主页:小小恶斯法克的博客 🎈该系列文章专栏:力扣刷题讲解-MySQL 🍹文章作者技术和水平很有限,如果文中出…

Laya寻路在构建过程中阻塞页面加载问题处理

如果json文件有三四百kb以上,那么构建寻路的时候会非常卡,甚至阻塞模型加载,这时候可以使用worker来构建新的线程避免阻塞页面的模型 使用worker处理阻塞问题 navWorker.js: 这个文件放在src中在运行的时候会报错找不到,所以worke…

华为设备VRRP配置

核心代码: 需要对所有虚拟路由器设置(要进入到对应的端口) vrrp vrid 38 virtual-ip 192.168.10.254 vrrp vrid 38 priority 120 vrrp vrid 38 track int g0/0/1 reduced 30①mac由vrid生成 ②指定虚拟ip ③虚拟ip作为内部主机的网关&#x…

如何在云端加速缓存构建

缓存是指将某类数据存储起来以便以后重复使用的过程,它的运用在开发场景中非常普遍。类似于你习惯把最常用的调料放在厨房台面上,而不是橱柜里,这样你在准备大餐时就可以轻松取用。 但对于一个更为技术性、更精确的用例,比如像谷…

js中如何从tree数据中找出某一项以及父级和祖先级

js中如何从tree数据中找出某一项以及父级和祖先级 递归方法迭代方法:深度优先搜索(DFS)广度优先搜索(BFS) 扩展: js中迭代方法主要有哪些 js中如何从tree数据中找出某一项以及父级和祖先级 在JavaScript中…

云服务器基于Centos创建个人云盘实践经验分享

文章目录 安装运行Cloudreve安装ossfscentos更换yum源 配置ossfs挂载oss存储配置开机启动 配置cloudreve推荐阅读 安装运行Cloudreve 执行如下命令,下载cloudreve安装包。 wget https://labfileapp.oss-cn-hangzhou.aliyuncs.com/cloudreve_3.3.1_linux_amd64.tar…

C#/WPF 设置和启动Windows屏保程序

前言 我们平时电脑启动的屏保程序其本质也是应用程序,只是后缀名为.scr。所以我们只需要把应用程序后缀改为.scr,然后右键选择安装即可启动我们自己的屏保程序。 屏保注册表参数 设置电脑屏保参数,在个性化设置>锁屏界面>屏幕保护程序设…

Qt/QML编程之路:slider(34)

滑条slider,有时也成为进度条progressbar,在GUI界面中也是经常用到的。 import QtQuick 2.9 import QtQuick.Controls 2.0 import QtQuick.Layouts 1.2ApplicationWindow {id:rootvisible: truewidth: 1920height: 720//title: qsTr("Hello World&q…

C#使用Stopwatch实现执行耗时及性能监测

Stopwatch类提供一组方法和属性,一般用来测量代码运行消耗时间,以便获取更多代码运行性能上的数据。以下主要介绍C#中用Stopwatch实现执行耗时及性能监测的方法。 1、Stopwatch简介 1)命名空间 using System.Diagnostics; 2)字段 字段 字…

rabbitmq-java基础详解

一、rabbitmq是什么? 1、MQ定义 MQ(Message Queue)消息队列 主要解决:异步处理、应用解耦、流量削峰等问题,是分布式系统的重要组件,从而实现高性能,高可用,可伸缩和最终一致性的架…

c#之枚举类型和结构体

(一般如果取值范围有效,使用枚举,几个类型组成了一个新的类型使用结构体) 1. 枚举 namespace 枚举类型 {enum GameState{//枚举类型中的每一个值,都是一个整数,默认为int类型Pause3,//默认值为0Failed2,//默认值为1Success7,//默认值为2Start8//默认值为3}class Program{st…

Unity面试笔记:Unity常见关键词概念

Unity面试笔记:Unity常见关键词概念 Invoke 延迟函数 和 Coroutine协程 和 Thread线程帧缓冲区(Frame buffer)颜色缓冲区(Color buffer)深度缓冲区(Depth buffer)模板缓冲区(Stencil…