zoukankan      html  css  js  c++  java
  • 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

    登录脚本

    *** 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 实现。

    Ride

    自定义 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
    
  • 相关阅读:
    HDU
    矩形嵌套(DP)
    HDU
    HDU-1003 Max Sum
    Manacher算法—最长回文串
    Codeforces Round #460 (Div. 2) A B C D
    HDU 4540 威威猫系列故事——打地鼠 (简单DP)
    UVA 129 Krypton Factor(DFS 回溯)
    Codeforces 918A Eleven 918B Radio Station
    挑战程序设计竞赛(第2版)第112页勘误
  • 原文地址:https://www.cnblogs.com/Zhang-Xiang/p/12427427.html
Copyright © 2011-2022 走看看