如何教你四个类搞定分层自动化测试框架

news2024/11/18 1:25:46

写在前面

我们刚开始做自动化测试,可能写的代码都是基于原生写的代码,看起来特别不美观,而且感觉特别生硬。

来看下面一段代码:

如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386   

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibiliicon-default.png?t=N7T8https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337.search-card.all.click具体表现如下:

  • driver对象在测试类中显示

  • 定位元素的value值在测试类中显示

  • 定位元素的方式在测试类中显示

  • 线程方式硬等待sleep几秒

  • 代码一报错,还要去测试类里面找是哪段代码报错,当代吗行数好多时,不好定位

  • 好多测试脚本组装批量执行后,报错后,定位问题,很吃力

有命中的小伙伴嘛,有的话,请在文末下方留言,其他现象就不一一列举了。

为什么要写框架?

1、从个人方面来说:

  • 逼格高,让别人感觉你好厉害,技术强

  • 面试是加分项,会写框架,可以作为谈资硬性指标

  • 一个组内,要是妹纸多,你可以秀技能,吸引妹纸也说不定呢

2、从实际方面来说:

  • 好的测试框架,可以稳定性,健壮性强,可降低代码维护成本

  • 方便定位问题,失败定位问题会比较方便

  • 可以提升测试效率,编写脚本成本,拿来就用,直接点方法就行

如何编写框架

下面我们将进入大家都比较关注的话题了,这里我只分享思路哈,跟上步伐,别掉队哦,

那么如何操作呢?

其实就是体现在封装上,要封装的部分:

  • driver.findElement()

  • By.xpath() ,即用什么方式定位

  • driver.get()

好了,那么现在我们开始吧,部分代码我会附截图

整体工程如图:

图片

1、日志部分

log4j详细配置,百度就好了,这里不做介绍

图片

2、数据源设计

一般书上流行的Excel,我肯定是不用的,至于为什么,私聊我即可,这里只提供思路。

数据源如下:

图片

3、解析Excel类

第一个类,解析数据源,返回元素对象

图片

图片

4、页面api部分

第二个类,页面api操作

图片

元素和定位方式的分离

图片

api部分截图

图片

5、页面对象

第三个类页面对象

图片

6、读取配置文件信息

第四个类,获取配置文件信息

图片

7、测试类如下

图片

8、运行效果

图片

看上去是不是很nice呢,还不动手试试!!

 

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

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

相关文章

华三AC+AP部署无线基本配置

拓扑图: 1、创建管理VLAN与AP管理VLAN、终端接入VLAN、配置管理VLAN IP地址 设备管理VLAN 56、AP管理VLAN 101、终端接入VLAN 10 AC、HeXin、JieRu。(创建VLAN)[H3C]vlan 101[H3C-vlan101]description AP-vlan[H3C]vlan 56[H3C-vlan56]desc…

SAP UI5 walkthrough step9 Component Configuration

在之前的章节中,我们已经介绍完了MVC的架构和实现,现在我们来讲一下,SAPUI5的结构 这一步,我们将所有的UI资产从index.html里面独立封装在一个组件里面 这样组件就变得独立,可复用了。这样,无所什么时候我…

【51单片机系列】74HC595实现对LED点阵的控制

本文是关于LED点阵的使用,使用74HC595模块实现对LED点阵的控制。 文章目录 一、8x8LED点阵的原理1.1 LED点阵显示原理1.2 LED点阵内部结构图1.3 开发板上的LED点阵原理图1.4 74HC595芯片 二、使用74HC595模块实现流水灯效果三、 使用74HC595模块控制LED点阵对角线亮…

IDEA中表明或者字段找不到时报红

问题 idea 中mysql的sql语句报红,无论表名还是表字段 原因 是由于sql方言导致的 当我们选择某一个sql方言的时候,xml配置会按照指定规则校验sql是否规范,并给出提示 解决方案 取消sql方言,设置sql方言为None。设置完重启idea既…

Mysql启动占用内存过高解决

Hi, I’m Shendi Mysql启动占用内存过高解决 前言 最近服务器内存不够用了,甚至还出现了内存溢出问题,导致程序宕机。但请求与用户量并没有多少,所以从各种启动的程序中想方设法的尽可能的减少其占用的内存。 而在我的服务器中,…

二叉树的非递归遍历(详解)

二叉树非递归遍历原理 使用先序遍历的方式完成该二叉树的非递归遍历 通过添加现有项目的方式将原来编写好的栈文件导入项目中 目前项目存在三个文件一个头文件,两个cpp文件: 项目头文件的代码截图:QueueStorage.h 项目头文件的代码&#xff…

golang学习笔记——TCP端口扫描器

文章目录 TCP 端口扫描器非并发版本并发版本goroutine 池并发版 TCP 端口扫描器 time.Sincefunc Since net包Conn 接口func Dialfunc DialTimeoutfunc FileConn TCP 端口扫描器 非并发版本 package mainimport ("fmt""net" )func main() {for i : 21; i …

HarmonyOS学习 第1节 DevEco Studio配置

俗话说的好,工欲善其事,必先利其器。我们先下载官方的开发工具DevEco Studio. 下载完成后,进行安装。 双击DevEco Studio,点击Next按照指引完成安装 重新启动DevEco,点击 Agree 进入环境配置,安装Node.js和ohpm 点击Ne…

网络编程基础api

1. IP 协议 1.1 IP 分片 (1)IP 分片和重组主要依靠 IP 头部三个字段:数据报标识、标志和片偏移 以太网帧的 MTU 是 1500 字节; 一个每个分片都有自己的 IP 头部,它们都具有相同的标识值,有不同的片偏移…

智能优化算法应用:基于孔雀算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于孔雀算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于孔雀算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.孔雀算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

十二要素超声波气象站-气象站科普百科

随着科技的发展,人们对气象信息的关注度越来越高。 一、十二要素超声波气象站实时监测 WX-CSQX12 十二要素超声波气象站通过超声波测量技术,对温度、湿度、风速、风向、气压、雨量、蒸发量等十二个气象要素进行实时监测。 二、智能分析 十二要素超声…

家电制造数字孪生5G智能工厂可视化系统,加速家电制造产业数字化转型

5G数字孪生、三维可视化与工业互联网的融合加速中国新型工业化进程,助推我国从制造大国迈进制造强国。家电行业是中国最具国际竞争力的产业之一,在企业数字化转型中,要求企业从生产设备到数字化系统,一系列的数字化、智能化改革已…

爱智EdgerOS之深入解析安全可靠的开放协议SDDC

一、协议简介 在 EdgerOS 的智慧生态场景中,许多智能设备或传感器的生命周期都与 SDDC 协议息息相关,这些设备可能是使用 libsddc 智能配网技术开发的,也有可能是因为主要功能上是使用其他技术如 MQTT、LoRa 等但是设备的上下线依然是使用上…

测试文档---智力冲刺

文章目录 项目背景测试计划UI测试接口测试手工测试 测试总结 项目背景 项目描述:“智力冲刺”是一款网页小游戏,就像我们平时看到的网页游戏一样,前端页面负责展示游戏效果,后端服务器来实现游戏的逻辑。在我们的“智力冲刺”游戏…

如何解压没有密码的7-zip文件?

7z压缩包设置了密码,解压的时候就需要输入正确对密码才能顺利解压出文件,正常当我们解压文件或者删除密码的时候,虽然方法多,但是都需要输入正确的密码才能完成。忘记密码就无法进行操作。 那么,忘记了7z压缩包的密码…

C //习题10.8 将第7题结果仍存入原有的“stu_sort“文件而不另建立新文件。

C程序设计 (第四版) 谭浩强 习题10.8 习题10.8 将第7题结果仍存入原有的"stu_sort"文件而不另建立新文件。 IDE工具:VS2010 Note: 使用不同的IDE工具可能有部分差异。 说明:此题同习题10.7的代码,唯一的区…

LangChain 23 Agents中的Tools用于增强和扩展智能代理agent的功能

LangChain系列文章 LangChain 实现给动物取名字,LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄LangChain 4用向量数据库Faiss存储,读取YouTube的视频文本搜索I…

KST指标底背离选股公式,通过变动率ROC合成动量震荡指标

KST指标(KnowSureThing)是由马丁普林斯(Martin Pring)于1992年发明的技术分析指标,目的在于及时识别价格趋势的变化和转折点,同时避免短期震荡指标不稳定的缺点。KST指标结合了四个周期的ROC(变…

学习记录---kubernetes中备份和恢复etcd

一、简介 ETCD是kubernetes的重要组成部分,它主要用于存储kubernetes的所有元数据,我们在kubernetes中的所有资源(node、pod、deployment、service等),如果该组件出现问题,则可能会导致kubernetes无法使用、资源丢失等情况。因此…

HarmonyOS学习 第2节 DevEco Studio工程介绍

工程配置页 界面布局介绍 代码编辑区、通知栏、工程目录区、预览区 工程目录区 便于理解,可以切换为 Ohos AppScope主要用于存放整个应用公共的信息与资源 entry默认的初始模块ets文件用于存放编写的代码文件configuration存放相应模块的配置文件resources对应模块…