robotframwork基础语法

rf基础语法

  • 语法
    • *** Settings ***
    • *** Variables ***
    • *** Test Cases ***
    • *** Keywords ***
    • 重要
  • 测试示例
  • 执行结果

语法

*** Settings ***

  • Documentation:测试套件的说明
  • Force Tags :设置了此标签则表示所有用例都有对应的标签
  • Default Tags:若用例没有单独设置标签,则有默认标签,如果设置了,则不具有默认标签
    设置标签后,在执行用例时可通过标签进行选择哪些运行哪些不允许
  • Library:引入包
  • Suite Setup /Suite Teardown:设置测试套件执行前/后的执行步骤
  • Test Setup/Test Teardown:设置用例执行前或者后的执行步骤
  • Setting、Tags等虽不区分大小写,但最好按此格式编写

*** Variables ***

  • 设置变量,可以设置常量变量、list类型变量、字典类型变量
  • ${var}:设置常量变量
  • @{var}:设置列表类型的变量
  • &{var}:设置字典类型的变量
  • 访问变量的方法详见测试示例中例子

*** Test Cases ***

  • 编写测试用例,可以有多条用例,但至少的有一条,不然会报:Suite ‘Example’ with includes ‘xxx’ contains no test cases.
  • [Documentation]:用例说明
  • [Tags] :设置标签
  • [setup]/[teardown]:设置用例执行前或者后的执行步骤(需要和Setting中的Test Setup/Test Teardown进行区分:若此没有设置setup/teardown则默认取Setting中Test Setup/Test Teardown设置的;若设置了则只执行setup/teardown中的内容

*** Keywords ***

  • 自定义关键字,可以定义多个
  • [Arguments]:设置关键字参数
  • [Return]:设置关键字返回内容

重要

  • 文本中注释使用 “#”
  • 内容多行使用三个点“…”
  • 文本中分隔使用两个或者多个以上的空格做为分隔符

测试示例

*** settings ***
Documentation     testsuit描述
...               多行格式显示1
...               多行格式显示2
Suite Setup       log    suite_setup    # 测试套件执行前步骤,根据关键字是否需要参数来添加对应的参数
Suite Teardown    log    suite_teardown    #测试套件执行后的步骤
Test Setup        log    test_setup    # 测试用例执行前步骤,根据关键字是否需要参数来添加对应的参数
Test Teardown     log    test_teardown    #测试用例执行后的步骤
Force Tags        f_tag1    f_tag2
Default Tags      d_tag1
Test Timeout      3 minutes    #设置测试套件执行的超时时间,若testcase也设置了的,则以testcase设置的为准
Library           SeleniumLibrary

*** Variables ***
${var_a}          1    # 变量var_a的赋值为1
@{var_list}       a    b    c    d    # var_list赋值1,2,3,4
&{var_dict}       a=1    b=2    c=3    # var_dict赋值
&{var_nested}     a=1    b=${d_list}
@{d_list}         ${var_list}    ${var_list}

*** Test Cases ***
test_case1
    [Documentation]    testcase1说明信息
    ...    换行
    [Tags]    case_tag1
    [Setup]    log    setup_testcase    # 测试用例执行前步骤
    [Timeout]    2 minutes    #timeout 注释
    log    hello
    Should Be Equal    a    a    #判断a和b是否相等
    [Teardown]    log    teardown_testcase    #测试用例执行后的步骤

test_case2
    [Documentation]    \#testcase2 说明
    log    ${var_a}
    log    ${var_list}[0]    #访问list变量
    log    ${var_list}[${var_a}]    #访问list变量
    log    ${var_dict}[a]    #访问dict变量
    log    ${var_dict.a}    #访问dict变量
    log    ${var_nested}
    log    ${var_nested.b}[0]    #访问多层嵌套变量

new_keywords
    ${r}    new keywords    1    ${var_list}
    log    ${r}

*** Keywords ***
new keywords
    [Arguments]    ${arg1}    @{arg2}    # 多个参数
    [Documentation]    自定义关键字说明
    [Tags]    keyword_tag
    log    --------自定义关键字--------
    log    ${arg1}
    ${item}    set variable    @{arg2}
    [Return]    ${item}    # 可设置返回内容

执行结果

robotframwork基础语法_第1张图片
学习文档:http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#test-data-syntax

你可能感兴趣的:(学习笔记,robot,framework,软件测试,经验分享)