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即可查看报告。

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

相关推荐
测试199817 小时前
软件测试方法之边界值分析法
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
XINERTEL1 天前
自动化测试的「千里眼」:当RTSM远程控制遇上自动化,测试效率直接拉满
运维·功能测试·自动化·以太网测试
Tony__Ferguson2 天前
抽奖系统测试报告
java·功能测试·模块测试
我送炭你添花2 天前
我送炭你献花:Pelco KBD300A 模拟器项目总览
python·功能测试·pyqt·运维开发
汽车仪器仪表相关领域2 天前
LambdaCAN:重构专业空燃比测量的数字化范式
大数据·人工智能·功能测试·安全·重构·汽车·压力测试
询问QQ:180809513 天前
单相逆变器并网:Boost+半桥结构的实现与分析
功能测试
Wokoo74 天前
软件测试分类与BUG管理
功能测试·单元测试·bug·集成测试·压力测试·ab测试
测试19984 天前
功能测试、自动化测试、性能测试的区别
自动化测试·python·功能测试·测试工具·职场和发展·性能测试·安全性测试
汽车仪器仪表相关领域5 天前
SCG-1 增压 + 空燃比二合一仪表:涡轮改装的 “空间杀手” 与 “安全保镖”
大数据·服务器·人工智能·功能测试·安全·汽车·可用性测试