Robot Framework 可用于测试接口也可用于测试 WEB UI ,并且可以自定义 Python Library 以定义 Key Word 完成特定的测试需求。
*** 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 是 Robot Framework 的官方操作 UI ,使用 Python 实现。
使用 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