Robot Framework之分层思想

Robot  Framework 分层的思想——把一个实现过程分成不同多层,提高的灵活性,从而达到可扩展性和可维护性。

关键字驱动: 通过调用的关键字不同,从而引起测试结果的不同。

再回到自动化的话题上,我们可以把操作步骤封装一个一个的方法(关键字),通过调用关键字来实现测试用例。

1.创建一条百度搜索的测试用例 参考Robot Framework自动化测试(四)--- 分层思想 - 虫师 - 博客园 (cnblogs.com)

Robot Framework之分层思想

执行baidu05结果如下

Robot Framework之分层思想

Robot Framework之分层思想

2.在Search测试套件下创建5条测试用例。其实对于每一条测试用例来说,只是搜索的内容不同,脚本步骤是完全一样的。这样做无疑增加的脚本的冗余,而且不便于维护。假如,百度输入框的定位方式变了,我不得不打开每一条用例进行修改。

我们可以过创建关键字的方式,从而实现分层的思想来解决这个问题。

 

右键“测试项目”选择“new resource”创建资源。

Robot Framework之分层思想

输入资源名称:

 Robot Framework之分层思想

 

 

3、创建关键字

右键“业务关键字”选择“new User Keyword” 来创建用户关键字。

 Robot Framework之分层思想

 输入关键字的名称:

 Robot Framework之分层思想

 

 

4、编辑关键字

 Robot Framework之分层思想

分析:

对于一个测试用例来说,用户关心的是输入什么内容,得到什么结果。

所以,对于“百度搜索”关键字来说,需要创建两个接口变量${search}和${result} 两个变量,用于接收输入内容和预期结果。

点击Arguments输入框,定义变量,多个变量从用“|”隔开。

 

在百度用户中使用参数化变量。

 Robot Framework之分层思想

 

 

5、添加创建的资源

切换到测试套件(Test)页面,添加资源(业务关键字.txt)

 Robot Framework之分层思想

 

6、调用关键字

现在就可以在测试用例中使用创建的关键字了(百度搜索)。

 Robot Framework之分层思想

 

对于每一条用例来说,调用“百度搜索”关键字,输入搜索内容,输入预期结果即可。不同关心用例是如何执行的。如果百度输入框的定位发生了变化,只用去修改“百度搜索”关键字即可,不用对每一条用例做任何修改。大大提高的用例的维护性和扩展性。

继续分层的设计:

图中我们分了三层,测试元素层放的是我们的测试步骤,业务关键字放的是测试步骤的组合,测试套件层放的是我们的测试案例(测试用例)

其中测试用例baidu01用了分层的逻辑。

 Robot Framework之分层思想

需要导入的Lib库,如下:

Robot Framework之分层思想

Robot Framework之分层思想

Robot Framework之分层思想

 

 

执行baidu01

Robot Framework之分层思想

Robot Framework之分层思想

Robot Framework之分层思想

如果我们使用截图的时候没有指明保存的目录,我们的截图就会放在与报告一样的目录下

在报告中点开截图关键字就可以看到我们的截图:

 

Robot Framework之分层思想

 

 

 

上一篇:[robot_launch.launch] is neither a launch file in package [kinova_gazebo] nor is


下一篇:robot关键字和API库