Robot Framework
2021/5/10 10:55:55
本文主要是介绍Robot Framework,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
背景
Robot Framework 可用于测试接口也可用于测试 WEB UI ,并且可以自定义 Python Library 以定义 Key Word 完成特定的测试需求。
运用
- 条件
- Python
- 验证输入:python --version
- 验证输出:Python 3.x.x
- 安装 Robot Framework
- 命令:pip install robotframework
- 验证输入:robot --version
- 验证输出: Robot Framework 3.1.2 (Python 3.x.x on win32)
- 安装 Ride,[参考]
- 命令:pip install robotframework-ride
- 在“运行”中输入:ride.py
- 安装 Selenium 2 (WebDriver) Library,[参考]
- 命令:pip install robotframework-selenium2library
- 升级 selenium2library:pip install robotframework-selenium2library
- Python
登录脚本
*** Settings *** Library Selenium2Library *** Variables *** ${Username} test ${Password} 123456 ${Browser} chrome ${SiteUrl} https://test.com ${ValidateKey} testkey *** Test Cases *** 登录 应该登录成功 Open Url Enter User Name Enter Password Enter ValidateKey Click Login Assert Error Message *** Keywords *** Open Url Open Browser ${SiteUrl} ${Browser} Maximize Browser Window Enter User Name Input Text id=username ${Username} Enter Password Input Text id=password ${Password} Enter ValidateKey Input Text id=chkkey ${ValidateKey} Click Login Click Button Tag=button Assert Error Message Page Should Not Contain Textfield id=username
Ride
Ride 是 Robot Framework 的官方操作 UI ,使用 Python 实现。
自定义 Key Word
使用 Python 定义想要处理的内容,例如:根据某些条件从数据库中读出当前申请单处理人,通过脚本重新打开一个浏览器,使用处理人的账号密码登录,处理该阶段该处理的内容。
在 Key Word 逻辑中处理内容,下面 Python 代码中的 printAllInfo 就是关键字,在 Ride 中可以写微 Print All Info 或者 print all info 等
HelloWorld.py
from User import User class HelloWorld: """这是一个示例 Library""" ROBOT_LIBRARY_SCOPE = 'TEST SUITE' @staticmethod def printHelloWorld(text=None): if text is None or len(text) == 0: print("Hello world") else: print(text) """Key Word 打印用户所有信息""" def printAllInfo(self): self.printHelloWorld() user = User() self.printHelloWorld(user.getName()) self.printHelloWorld(str(user.getAge())) if __name__ == '__main__': HelloWorld().printAllInfo()
User.py
class User: def __init__(self): self.name = "张三" self.age = 23 def getName(self): return self.name def getAge(self): return self.age
这篇关于Robot Framework的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-01一个基于注解驱动的可视化的DDD架构-超越COLA的设计
- 2025-01-01PlantUML 时序图 基本例子
- 2025-01-01plantuml 信号时序图
- 2025-01-01聊聊springboot项目如何优雅进行数据校验
- 2024-12-31自由职业者效率提升指南:3个时间管理技巧搞定多个项目
- 2024-12-31适用于咨询行业的项目管理工具:提升跨团队协作和工作效率的最佳选择
- 2024-12-31高效协作的未来:2024年实时文档工具深度解析
- 2024-12-31商务谈判者的利器!哪 6 款办公软件能提升春节合作成功率?
- 2024-12-31小团队如何选择最实用的项目管理工具?高效协作与任务追踪指南
- 2024-12-31数据赋能,智慧养老:看板软件如何重塑养老服务生态