美文网首页
Robot framework脚本解刨

Robot framework脚本解刨

作者: Show嘿嘿 | 来源:发表于2019-07-07 17:03 被阅读0次

    首先声明,这篇文章对于写Robot framework测试脚本是没有帮助的。
    那为什么还要写这篇文章呢?
    因为我懒呀~

    最开始我们的测试用例是写在excel表格的(不要问我为什么,反正能满足需求,虽然效率不高,虽然我也抗议过)。
    写测试脚本的时候呢,又要求Case Documentation要有完整的用例描述,见本文"三、Test cases"部分。同时,用例名称、配置文件命名、Case Tags等,都有规范要遵循,见Robot framework测试脚本编写思考
    想象下,在那时候要写个遵循脚本规范的测试脚本,得需要多少繁琐的复制黏贴修改的操作啊~
    所以我就投机取巧写个Python脚本实现excel测试用例转化为测试脚本框架的工具。
    这就是本文的由来。

    脚本大体分为四部分

    • Settings
    • Variables
    • Test cases
    • Keywords

    robotframework脚本的特点:表格

    一、Settings

    1.内容

    • 脚本描述

      Documentation     Level: 3
      ...               Group_1: 响应处理
      ...               Group_2: 响应处理
      ...               Author: zhangbb
      ...               Date: 2016.08.30
      ...               Desc:
      ...               Tags: important
      ...               Version: xxxx-1.1.1-1
      ...               功能名称: xxx
      ...               需求链接: 
      ...
      ...               Group_2标签支持中文,其他标签不支持。每行不能以空格为结束符。
      
    • Suite setup/teardown

      Suite Setup       Suite setup
      Suite Teardown    Suite teardown
      
    • Force tags

      Force Tags        __post  
      
    • 引用库

      Library           OperatingSystem
      Library           wsLighttpd
      Library           wsSquid
      Library           wsHttp
      Library           wsShortCut.py    127.0.0.1:3128
      Library           wsSimpleWebServer
      Variables         Globals.py
      

    2.结构特征

    直观上会发现,脚本呈现右半部分对齐的特点。经过进一步分析:
    左边部分有18个字符串(含空格)

    二、Variables

    1.内容

    • 全局变量
     ${CORE_DIR}       /usr/local/xxx
     ${CHANNEL DIR}    /usr/local/xxx/etc/channel
     ${SQUID CLIENT}   /usr/local/xxx/bin/yyy
     ${ACCESS LOG}     /usr/local/xxx/var/logs/access.log
     ${TEMP FILE}      /tmp/tmp.txt
     ${URL1}           http://aaa.aa.com/wstest/1.html
    

    2.结构特征

    Settings一样,左边部分有18个字符串(含空格)

    三、Test cases

    1.内容

    • 用例名称

    • 用例描述

      • Documentation

      • 描述部分

    • 用例标签

    • Setup

    • 脚本部分

    • Teardown

      1-Test fucntion
          [Documentation]    *用例1*
          ...
          ...    *描述*
          ...    
          ...    此处测试xxx
          ...    
          ...    *配置*
          ...    
          ...    HOST aaa.aa.com
          ...    domain_replace_dst_ip 127.0.0.2
          ...    HOST END 
          ...    
          ...    *步骤*
          ...    
          ...    1.步骤一
          ...    2.步骤二
          ...    
          ...    *预期结果*
          ...    
          ...    1.预期结果一
          ...    2.预期结果二
          [Tags]    _case1
          [Setup]    Case setup
          Run    killall tcpflow
          [Teardown]    Case teardown    ${core_begin}
      

    2.结构特征

    • 用例名称:顶格写

    • 用例描述:

      • Documentation:4个空格 + [Documentation] + 4个空格

      • 描述:4个空格 + 3个. + 4个空格 + 描述

    • 用例标签:4个空格 + 标签

    • Setup:4个空格 + 关键字

    • 脚本部分:4个空格 + 脚本命令

    • Teardown:4个空格 + 关键字

    • 用例与用例之间:换一行

    四、Keywords

    1.内容
    • 自定义关键字。

      Case teardown
          [Arguments]    
          Run    killall tcpflow
      

    2.结构特征

    • 关键词:顶格写

    • 关键字内容:4个空格 + 脚本命令

    • 关键字与关键字之间:换一行(可有可无)

    相关文章

      网友评论

          本文标题:Robot framework脚本解刨

          本文链接:https://www.haomeiwen.com/subject/cmzbhctx.html