robot+selenium编写web UI自动化用例

通常我们可以用robot framework写接口自动化用例,但是有些站点如果未做前后端分离,迭代过程中又有大量的重复测试工作量,没有接口可调用验证,也有自动化测试需求,怎么办?这时候,那个深坑频现的web UI自动化就势在必行了。robot只是自动化框架,好在他稳定而且扩展性极好,要想驱动web浏览器自动干活,只需要安装另外一个神器selenium,下文将提纲携领介绍web UI如何入门,一旦你入了门,其余的就是baidu和看官网帮助的工作量了,建议用到了在查,不然也没卵用。

用例编写前提:

  • 已经部署好了robot/python3环境,详见:
  • 安装selenium,推荐3.11.0版本: pip install selenium==3.11.0
  • 安装robotframework-seleniumlibrary,推荐3.1.1版本: pip install robotframework-seleniumlibrary==3.1.1
  • 安装webdriver,推荐比较流行的chromedriver,从这里下载:http://chromedriver.storage.googleapis.com/index.html

在用例文件中引用selenium包

*** Settings ***
Library  Collections
Library  SeleniumLibrary

一个样例如下:

*** Test Cases ***

my first html
        #创建一个chrome浏览器
    Open Browser    http://www.我的域名.cn/     chrome

     #输入文本框
    input text      id=inputName            admin
    input text      id=inputPassword        admin
    input text      id=inputCode            123

    #点击按钮
    Click Button    Xpath=//form/div/span/button

        #单击A标签    | locator表示定位器
        #Click Link | locator

        #单击某个标签
        #Click Element    Xpath=//ul[@id='systemSetting0']

    ${cnt}          get title
    log     ${cnt}

    ${title}        get window titles
    log     ${title}
    Title Should Be    一个后台
    Location should Contain  http://www.我的域名.cn/
    Page Should Not Contain     不包含我
    Page Should Contain         必须包含我

        # 关闭打开的浏览器
        Close Browser
    Close All Browsers

执行用例你将会看到,一个chrome自动打开,并且输入密码,点击了登录,也可能速度奇快看不清,为了看的清晰,可以用sleep方法在每步停留几秒:

# 这里的单位是秒
sleep   3

当然,如果你的web加载比较慢,用停留几秒来规避是不靠谱的,建议用这个方法:

Wait Until Page Contains Element

猜你喜欢

转载自blog.51cto.com/7717647/2114466