在什么情况下有必要定义用户关键字?是否有必要创建自定义库来创建用户关键字。为什么我们要在机器人框架中创建用户关键字?
1
A
回答
2
使用的关键字是什么让机器人框架的权力。它是为验收测试驱动开发而设计的。验收测试通常用用户的语言编写,并且通常由产品所有者或qa专业人员在开发的早期阶段编写。
如果你不写自己的自定义关键字,一个登录页面的验收测试,导致仪表板可能将不得不是这个样子:
| | open browser | http://www.example.com | chrome
| | go to | http://www.example.com/login
| | input string | xpath=//form/input[@name='username'] | ${username}
| | input string | xpath=//form/input[@name='password'] | ${password}
| | submit form
| | wait until page contains element | xpath=//div[@id='dashboard_frame']
| | page should contain | welcome to Example.com!
上述试验是紧耦合如果页面的实现发生变化,那么实现并将不得不改变。这种类型的测试对于客户或产品所有者来说很难阅读 - 他们不会在意元素的命名,甚至不需要登录。他们唯一关心的是是否有足够的测试来覆盖行为的新功能。
通过使用自定义关键字,无论是写为机器人的关键字或者是作为页面对象实现,测试看起来是这样的:
| | Go to the login page
| | Log in with valid credentials
| | Verify we are on the dashboard page
这个例子更好地表达测试的意图,不管它是如何实现。这测试了特征而不是实施。这是产品所有者或客户可以轻松阅读以确认正在执行正确测试的测试类型。
与使用页面对象相结合,这成为一个非常强大的机制。您的产品所有者和测试专业人员可以专注于要测试的功能,而不必关心实施。
实现细节可以进入页面对象定义,这些页面对象定义可以与页面本身的实现位于相同的代码存储库中。当开发人员更改页面时,他们可以更改关键字的实现以匹配,而无需更改任何实际的测试用例。
1
这是莫名其妙的时间保留和更高效的在以下两种情况下可以创建用户定义的关键字,我会说:
- 呼叫关键字不止一次(如在一个循环或东西)也许 也与每次输入不同的变量。
- 组织您的测试,使其易于阅读。
0
你用你自己的关键字为完成这是不可能与正常组关键字的任务。你可以用Python编程它们。您也可以结合自定义关键字中的现有关键字来完成更为困难的任务。
你不需要自定义库。只需将您的关键字放在*** Keywords ***
行后面即可。
相关问题
- 1. 机器人框架机器人远程服务器关键字
- 2. 机器人测试框架:运行关键字如果发生用户关键字不包含关键字
- 3. 机器人框架 - 如何在if语句关键字失败
- 4. 在机器人框架中创建唯一字符串
- 5. 为什么我们无法使用新的关键字创建活动?
- 6. 调试机器人框架python关键字库
- 7. 机器人框架不拾取关键字实现
- 8. 为什么我们需要在调用方法时使用关键字
- 9. 机器人框架:如何在Robot框架中使用用户创建的浏览器实例
- 10. 生成随机字符串不是机器人框架公认关键字
- 11. 网页浏览器在拖放时挂起机器人框架关键字
- 12. 机器人框架:没有找到名称为'Wait Until Element Contains'的关键字
- 13. 机器人框架
- 14. 为什么在Java中创建'const'关键字?
- 15. 在机器人框架
- 16. 将在机器人框架
- 17. 为什么我们需要嘲笑框架?
- 18. 为什么我们在定义事件时需要“事件”关键字?
- 19. 如何通过引用传递参数给机器人框架关键字?
- 20. 我们可以在Zend框架中为模块创建虚拟主机1.11
- 21. 为什么实体框架会创建冗余外键?
- 22. 为什么我们需要为openstack创建localrc文件
- 23. 什么框架需要在iOS中创建实时音效
- 24. 什么创建/关闭个人要求:ChannelFactory或创建频道?
- 25. 创建复合关键实体框架
- 26. 机器人框架。我无法输入登录用户名
- 27. 什么是SEAM框架,我为什么要使用它?
- 28. 为什么我们要打字?
- 29. 为什么我们在这段代码中使用了“this”关键字?
- 30. 为什么我们不能在类属性中使用“新”关键字?
你在说什么? – 2016-02-05 06:42:30