Robot Framweork之UI自动化测试---分层设计

Robot Framework 的分层思想是一种测试设计和代码组织的模式,它将测试用例的实现和测试执行逻辑分离,以提高测试的可维护性、可读性和可扩展性。

一、分层思想

在实际项目中,一般分为三层:元素层,流程层,用例层,也就是把操作步骤封装一个个的方法(关键字),通过调用关键字来实现测试用例。

1、元素层

将每一个操作步骤进行封装,例如打开浏览器Open Browser 是一个关键字,输入用户名Input Text 是一个关键字,输入密码Input Password 是一个关键字,点击登录Click Button是一个关键字,这些关键字均来自于Selenium2Library库。

2、流程层

将元素层的每一个步骤进行再次封装,例如将登录流程进行封装,将其封装为一个用户关键字,包含第一层的关键字打开浏览器,输入用户名,输入密码,点击登录按钮等。

3、用例层

直接调用流程层的用户关键字,进行传参即可。

这样做的好处就是利于维护,比如登录功能,输入用户名的文本框id变了,那么,我们就只需要去元素层修改输入用户名的用户关键字Input Text即可,如果不分层,那么每一个用例都要改,可以把人改哭的节奏!

二、项目实例分析

下面我们就以项目中的登录功能为例,看看基本的编写用例流程。

1、创建一个测试项目

2、创建一个测试套件

3、编写测试用例

4、创建资源--元素层

5、导入Selenium2Library库

6、创建用户关键字

7、创建资源--流程层

8、创建用户关键字

9、在用例层调用关键字

10、执行测试用例

点击Start即可执行用例。

11、查看执行结果

执行完之后点击Log即可查看报告。

这样一个完整的用例就完成了。

相关推荐
lifewange1 天前
借记来账跟贷记来账在二代支付系统中分别代表什么含义?
功能测试
李兆龙的博客2 天前
从一到无穷大 #70 从 LR 图 PEC 到InfluxQL兼容性差分测试方法论与工程实践
数据库·功能测试·oracle
川石课堂软件测试2 天前
技术分享|JMeter接口与性能测试实战
数据库·功能测试·测试工具·jmeter·单元测试·postman·prometheus
Word码2 天前
QQ音乐自动化测试实战指南
python·功能测试·测试工具·pycharm·集成测试
汽车仪器仪表相关领域3 天前
Kvaser Leaf Light HS v2 M12:5 针 M12 NMEA 2000 接口,海事与工业 CAN 总线测试的防水耐用之选
大数据·网络·人工智能·功能测试·安全性测试
2301_808414383 天前
博客系统测试报告
功能测试
川石课堂软件测试4 天前
软件测试:典型面试题库
数据库·python·功能测试·mysql·单元测试·grafana·prometheus
Bug 挖掘机4 天前
一篇理清Prompt,Skill,MCP之间的区别
开发语言·软件测试·python·功能测试·测试开发·prompt·ai测试
编码七号4 天前
使用playwright做前端项目的端对端自动化测试
前端·功能测试·自动化
MESMarketing5 天前
互动分享 | 软件工具的安全合规实践
功能测试·测试工具·matlab·ci/cd·autosar