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

news2024/11/15 16:47:09

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.coloradmin.cn/o/1398329.html

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

相关文章

java数据结构与算法刷题-----LeetCode59. 螺旋矩阵 II

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 解题思路 初始,top行执向第一行,bottom行指向最后一…

积分梳状滤波器CIC原理与实现

CIC(Cascade Intergrator Comb):级联积分梳状滤波器,是由积分器和梳状滤波器级联而得。滤波器系数为1,无需对系数进行存储,只有加法器、积分器和寄存器,资源消耗少,运算速率高&#…

TypeScript语法总结

JavaScript 与 TypeScript 的区别 TypeScript 是 JavaScript 的超集,扩展了 JavaScript 的语法,因此现有的 JavaScript 代码可与 TypeScript 一起工作无需任何修改,TypeScript 通过类型注解提供编译时的静态类型检查。 TypeScript 可处理已…

GitHub 13.7k star,一款让Windows和macOS瘦身减肥实用工具,免安装+开源+性能高

GitHub 13.7k star,一款让Windows和macOS瘦身减肥实用工具,免安装开源性能高 大家好!我是老码农。 今天给大家推荐一款:让Windows和macOS操作系统瘦身减肥的实用工具,czkawka。 这款工具主要干啥事呢?说…

Latex绘图

排查Latex报错 “Command \csubfigure already defined” 这个可以通过添加如下命令: \usepackage{subfig} \usepackage{subfloat} ..... \begin{figure*}[h] \centering \subfloat[subfloat title]{ \label{fig:subfig:a} \includegraphics[scale0.7]{Figs/.....…

MeterSphere本地化部署实践

项目结构 搭建本地环境 安装JDK11,配置好JDK环境,系统同时支持JDK8和JDK11安装IEAD,配置JDK环境配置maven环境,IDEA配置(解压可以直接使用)无限重置IDEA试用期配置redis环境(解压可以直接使用) 配置kafka环境 安装mysql-5.7环境&#xff…

九州金榜|在孩子家庭教育中放手不放任

家庭教育,是每个父母都要面临的事情,也是每个家庭都要经历的,但是在目前的家庭教育中,孩子都是由父母规划,在一定程度上会对孩子的成长产生影响,如何科学家庭教育,九州金榜家庭教育有以下观点&a…

论文阅读笔记AI篇 —— Transformer模型理论+实战 (三)

论文阅读笔记AI篇 —— Transformer模型理论实战 (三) 第三遍阅读(精读)3.1 Attention和Self-Attention的区别?3.2 Transformer是如何进行堆叠的?3.3 如何理解Positional Encoding?3.x 文章涉及…

【蓝桥杯EDA设计与开发】立创开源社区分享的关于蓝桥被EDA真题与仿真题的项目分析

立创开源社区内有几个项目分享了往年 EDA 设计题目与仿真题,对此展开了学习。 【本人非科班出身,以下对项目的学习仅在我的眼界范围内发表意见,如有错误,请指正。】 项目一 来源:第十四届蓝桥杯EDA赛模拟题一 - 嘉立…

1432 - 走出迷宫的最少步数-广度优先搜索BFS

代码 #include<bits/stdc.h> using namespace std; char a[51][51]; int r,c; int fx[4]{0,0,1,-1}; int fy[4]{1,-1,0,0}; int tx,ty; struct Node{int x,y,step; }; int bfs(int x,int y){a[x][y]#;queue<Node> q;q.push({x,y,1});while(!q.empty()){Node Curre…

宋仕强论道之再混华强北(三十五)

我是2012年重新回到华强北的&#xff0c;宋仕强说来深圳市第一份工作就在华强北担任一名工程师&#xff0c;和华强北有深厚的感情。我回来后经常混华强北的上层圈子跟老板老板娘们吹牛逼&#xff0c;最初大家看我穿的衣冠楚楚人模狗样的但态度吊儿郎当&#xff0c;理论一套一套…

Hadoop基础知识

Hadoop基础知识 1、Hadoop简介 广义上来说&#xff0c;Hadoop通常是指一个更广泛的概念——Hadoop生态圈。狭义上说&#xff0c;Hadoop指Apache这款开源框架&#xff0c;它的核心组件有&#xff1a; HDFS&#xff08;分布式文件系统&#xff09;&#xff1a;解决海量数据存储Y…

力扣-202. 快乐数解析-弗洛伊德循环查找算法

题目链接 public static void Happy(int n) {int sum 0;int digit 0;for (int i 0; i < 20; i) {while (n ! 0) {digit n%10;sum digit*digit;n/10;}System.out.print(sum " ");n sum;sum 0;}} 使用代码测试一下每一代数字 n 2 : 4 16 37 58 89 145 42 …

如何在Docker下部署MinIO存储服务通过Buckets实现文件的远程上传

&#x1f4d1;前言 本文主要是Linux下通过Docker部署MinIO存储服务实现远程上传的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是青衿&#x1f947; ☁️博客首页&#xff1a;CSDN主页放风讲故事 &#…

Vue3新特性defineModel()便捷的双向绑定数据

官网介绍 传送门 配置 要求&#xff1a; 版本&#xff1a; vue > 3.4(必须&#xff01;&#xff01;&#xff01;)配置&#xff1a;vite.config.js 使用场景和案例 使用场景&#xff1a;父子组件的数据双向绑定&#xff0c;不用emit和props的繁重代码 具体案例 代码实…

左侧交易 vs 右侧交易:哪种更适合新手投资者?

对于外汇市场的新手投资者&#xff0c;选择交易方式是个大课题。外汇市场上的交易方式多种多样&#xff0c;其中主要有两种&#xff1a;左侧交易和右侧交易。那么&#xff0c;这两种交易方式究竟如何呢&#xff1f;它们之间有何区别和优势&#xff1f;本文将为您一一解答。 一、…

MySQL进阶篇:索引(概述,结构,分类,语法,SQL性能分析,索引使用,设计原则)

目录 1.索引概述2.索引结构1.B树&#xff08;多路平衡查找树&#xff09;2.B树3.Hash1.特点2.存储引擎支持 4.选择B树作为InnoDB存储引擎索引结构的原因 3.索引分类1.聚集索引选取规则2.回表查询 4.索引语法1.创建索引2.查看索引3.删除索引 5.SQL性能分析1.SQL执行频率2.慢查询…

DiffMatch:扩散模型 + 图像配对 + 密集匹配,如何在一对图像之间建立像素级的对应关系?

DiffMatch&#xff1a;扩散模型 图像配对 密集匹配 提出背景效果检验密集匹配研究 网络结构如何使用概率方法来解决密集对应问题&#xff1f;去噪扩散模型如何生成或恢复数据&#xff1f;DiffMatch 如何找到两幅图像之间每个像素点的最佳匹配&#xff1f;如何寻找两个图像间最…

【论文阅读 SIGMOD18】Query-based Workload Forecasting for Self-Driving

Query-based Workload Forecasting for Self-Driving Database Management Systems My Summary ABSTRACT Autonomous DBMS的第一步就是能够建模并预测工作负载&#xff0c;以前的预测技术对查询的资源利用率进行建模。然而&#xff0c;当数据库的物理设计和硬件资源发生变化…

ssh: connect to host github.com port 22: Connection refused

ssh: connect to host github.com port 22: Connection refused 问题现象 本文以Windows系统为例进行说明&#xff0c;在个人电脑上使用Git命令来操作GitHub上的项目&#xff0c;本来都很正常&#xff0c;突然某一天开始&#xff0c;会提示如下错误ssh: connect to host gith…