RobotFramework 自动化测试实战进阶篇

news2024/11/24 15:04:11

工具

Robotframework, 采用PO设计模式

PO模型

PO模型即Page Objects,直译意思就是“页面对象”,通俗的讲就是把一个页面,或者说把一个页面的某个区域当做一个对象,通过封装这个对象可以实现调用。

PO设计的好处

  • 代码复用,节省代码量
  • 并行开发,每个page互不影响,提高开发效率
  • 测试对象和测试用例分离,维护方便
  • 页面元素定位和业务操作流程分开。实现松耦合。
  • UI元素的改变不需要修改业务逻辑代码。只需要找到对应的PO页修改定位即可,数据代码分离
  • 能使我们的测试代码提高代码的可读性,高复用性,可维护性。

如何运用到UI自动化

一般我们可以分为三层来实现

  • 用例层
  • 业务层
  • 元素层

完善案例

第一步 分层

按功能模块划分,先定好框架
在这里插入图片描述

第二步 元素

搜集每个模块的元素,以登录模块为例
在这里插入图片描述

第三步 业务

基于页面上的元素,组成不同的业务流程
在这里插入图片描述
放到测试套件里执行调试
在这里插入图片描述
在这里插入图片描述

目前登录写死了测试数据, 需要执行多组测试数据怎么办?

第四步 参数化

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

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

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

相关文章

python实现简单选择排序法

对于排序的方法中,简单选择排序法是相对符合人类的思维的一种方式,对于简单选择排序方法的核心思想是: 从待排序的序列集合中,找到最大值或者是最小值,然后将该值放置在其在最终的排序序列中的位置,也就是…

4.2 克隆

一,什么是克隆? 克隆是指通过共享缓冲区来复制内容(例如,两个窗口共享相同的内容)。 克隆可用于提高性能: 可以减少所需的更新次数。 你可以在多个显示器上显示内容,但只需要更新一个缓冲区…

信息论安全与概率论

目录 一. Markov不等式 二. 选择引理 三. Chebyshev不等式 四. Chernov上限 4.1 变量大于 4.2 变量小于 信息论安全中会用到很多概率论相关的上界,本文章将梳理几个论文中常用的定理,重点关注如何理解这些定理以及怎么用。 一. Markov不等式 假定…

大模型之二十一-小语言模型塞道开启

当前提到大语言模型,大家想到的都是动辄百亿规模以上参数量的模型,13B、70B都是稀疏平常入门级的,但是目前从模型层面来看,模型参数量的规模两极分化已经来临,早期各大公司为了效果怼上去,采取了简单粗暴的…

OpenSergo使用详解

简介 OpenSergo是一个基于微服务治理的标准和生态,覆盖了服务元信息、流量治理、服务容错、数据库/缓存治理、服务注册发现、配置治理等十几个关键领域,覆盖了完整的微服务生命周期(从开发态到测试态,到发布态,再到运…

DMR与DPMR以及DMR的分层

数字移动无线电 (DMR) 和数字专用移动无线电 (dPMR) 是数字对讲机中使用的流行通信技术。 与传统模拟无线电相比,这两种技术都提供了改进的音频质量、增强的安全功能和增加的网络容量。 但是,DMR 和 dPMR 无线电之间使用的技术存在重大差异&#xff…

字符串逆序输出

逆序输出就是本来abc输出的,然后我想让他输出成cba,那么我们还是要用到for循环,只不过原先是从零开始往上加,这回呢,是从上面往下减 我们观察上面这个图片,我们想要输出olleh,那么我们就要从4开…

【CentOS 7.9 分区】挂载硬盘为LVM操作实例

LVM与标准分区有何区别,如何选择 目录 1 小系统使用LVM的益处:2 大系统使用LVM的益处:3 优点:CentOS 7.9 挂载硬盘为LVM操作实例查看硬盘情况格式化硬盘创建PV创建VG创建LV创建文件系统并挂载自动挂载添加:注意用空格间…

redis 从0到1完整学习 (四):字符串 SDS 数据结构

文章目录 1. 引言2. redis 源码下载3. 字符串数据结构4. 参考 1. 引言 前情提要: 《redis 从0到1完整学习 (一):安装&初识 redis》 《redis 从0到1完整学习 (二):redis 常用命令》 《redis…

css图片属性,图片自适应

CSS 图片属性指南:background-size 和 object-fit 在前端开发中,使用图片是非常常见的。为了让图片在网页中显示得更好,CSS 提供了多种属性来调整和控制图片的大小和布局。其中,background-size 和 object-fit 是两个常用的属性&a…

2023 年人工智能研究与技术排名前 10 的国家

人工智能研究是一项全球性的工作。虽然美国和中国因其对人工智能的贡献而备受关注,但事实是,世界各国都在涉足这项技术,尝试新的突破,并吸引投资者的关注。 斯坦福大学的《2023年人工智能报告》估计,到 2022 年&#…

Mybatis-Plus——03,CRUD改

CRUD改 一、CRUD——改update————————如觉不错,随手点赞,关注,收藏(* ̄︶ ̄),谢谢~~ 一、CRUD——改update Test//测试更新public void updateTest(){User user new User();user.setId(3L);//怎么改…

shell 的错误处理和调试方法

简介 在我们写代码过程中,一般有两个阶段:调试阶段和试运行阶段。在调试阶段我们希望尽可能的输出日志,方便在出错的时候快速定位问题。在试运行阶段希望将日志标准化,且有些错误的日志是在预期内不想展示的时候如何处理&#xff…

在 Windows 搭建 SVN 服务

近公司给配了台新电脑,配置挺主流的,但是不舍得抛弃自己的旧电脑(原配嘛,这叫贪新不舍旧),于是打算在新电脑上只作开发环境,然后旧电脑作为版本库,这样保存版本的时候可以直接上传到…

vue项目npm run build报错npm ERR! missing script: build(已解决)

vue项目npm run build报错npm ERR! missing script: build(已解决) 错误描述: 今天准备打包vue项目上线是出现下列错误: 找了很多解决方法都不行,最后打开自己的package.json文件发现:build后面多了个&a…

idea SpringBoot项目 Run Dashboard 多个启动类分组展示 失效

idea SpringBoot项目 Run Dashboard 多个启动类分组展示 想要的显示格式 失效的显示格式, 没有按照分组进行平铺展示 解决方案 勾选 展示服务树 参考文章: IDEA 打开Run Dashboard 分组启动 https://www.cnblogs.com/hanjun0612/p/10917689.html idea springBoot项目Run…

深入理解网络 I/O:mmap、sendfile、Direct I/O

🔭 嗨,您好 👋 我是 vnjohn,在互联网企业担任 Java 开发,CSDN 优质创作者 📖 推荐专栏:Spring、MySQL、Nacos、Java,后续其他专栏会持续优化更新迭代 🌲文章所在专栏&…

论文中公式怎么降重 papergpt

大家好,今天来聊聊论文中公式怎么降重,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧,可以借助此类工具: 论文中公式怎么降重 一、引言 在论文撰写过程中,公式是表达学…

Spring Environment 注入引起NPE问题排查

文章目录 背景原因分析1)Spring Aware Bean 是什么?2)从 Spring Bean 的生命周期入手 解决方案 背景 写业务代码遇到使用 Spring Environment 注入为 null 的情况,示例代码有以下两种写法,Environment 实例都无法注入…

机器视觉系统选型-图像清晰度

 确定图像中所要检测的部分处于清晰的焦距之内  相机分辨率和镜头解析度较好的匹配,考虑镜头的景深等 TIPS: 每一款镜头都有一定的“焦距”,每一款镜头都有一定光圈范围,也有一定的景深; 缩小光圈可以加大景深&am…