背景

Robot Framework(RF) 是一个比较简单易用的自动化测试框架,可以很方便的根据产品需求设计出数据驱动,或者行为驱动的自动化测试框架。此文章以一个简单的 RF 的 UI 自动化作为例子,展示如何使用 RF 开展自动化测试,并最后在 docker 里面运行

测试用例:

*** Settings ***
Documentation     测试必应搜索功能   #注释和说明部分
Library           SeleniumLibrary                        #调用第三方测试库Selenium2Library
Test Teardown     Close All Browsers                      #测试结束之后执行关键字
#变量定义部分
*** Variables ***
${BING URL}      https://cn.bing.com/?mkt=zh-CN
${BROWSER}        Chrome
#测试用例部分
*** Test Cases ***
必应搜索      #测试用例名字
  Open Browser  ${BING URL}  ${BROWSER}
  Input Text    sb_form_q  知乎    #输入搜索文本
  Submit Form    sb_form   #提交表单内容
  sleep  5s
  Element Should Contain  //ol[@id='b_results']//li[1]//div[1]//h2[1]//a[1]//strong[1]  知乎

执行过程:
enter description here
日志截图:
enter description here

在 docker 里面执行

  1. docker UI 环境的镜像构建参考文章: https://testerhome.com/topics/16605 dockerfile 只需要增加 RF 和相关库的安装
&& sudo pip install robotframework \
&& sudo pip install --upgrade robotframework-seleniumlibrary
  1. 在 Selenium2Library(http://robotframework.org/Selenium2Library/Selenium2Library.html#Open%20Browser)查看 open browser 用法
Open Browser    url, browser=firefox, alias=None, remote_url=False, desired_capabilities=None, ff_profile_dir=None

把 selenium URL 传给 remote_url 参数
例子:

*** Variables ***
${REMOTE_URL}     http://guest.docker:24444/wd/hub #使用镜像里面的selenium grid地址
*** Test Cases ***
Open Browser    ${LOGIN URL}    ${BROWSER}  remote_url=${REMOTE_URL}
  1. 在容器里面运行 RF 测试例子

总结


↙↙↙阅读原文可查看相关链接,并与作者交流