编写测试用例的方式


编写测试用例的方式

编写测试用例的方式常见的有三种:关键字驱动的、行为驱动的和数据驱动的。描述 某种工作流程 的测试用例可以以 关键字驱动行为驱动 的方式编写。数据驱动 可用于测试具有 不同输入数据 的相同工作流。

关键字驱动

工作流程测试由多个关键字及其可能的参数构成。它们的正常结构是:首先使系统进入初始状态,然后对系统进行某些操作,最后验证是否与系统的行为符合预期。

*** Settings ***
Library    SeleniumLibrary

*** Test Cases ***
使用百度搜索京东
    Open Browser    http://www.baidu.com    chrome    
    Input Text    id=kw    京东    
    Click Button    id=su   
    Sleep    3     
    Click Element    partial link=京东
    Sleep    3    
    Close Browser

数据驱动

编写测试用例的另一种样式是数据驱动的方法,其中,测试用例仅使用一个通常作为用户关键字创建的高级关键字,该关键字隐藏了实际的测试工作流程。

当需要使用不同的输入或输出数据测试同一场景时,这些测试非常有用。

*** Settings ***
Library    SeleniumLibrary
Test Setup    Open Browser    https://github.com/login    chrome
Test Teardown    Close Browser
Test Template    登录Github

*** Test Cases ***
测试登录Github
       tom    123
       kite    456
       rose    789
*** Keywords ***
登录Github
    [Arguments]    ${username}    ${pwd}
    Input Text    id=login_field    ${username}
    Input Password    id=password    ${pwd}
    Click Button    name=commit    
    Sleep    3

行为驱动

有可以将测试用例编写成需求分析人员可以理解的格式,而不是技术人员能够理解的风格。这时候可以使用 行为驱动开发(BDD) 的测试。

行为驱动开发(BDD)的样式是:Given-When-Then。当以这种方式编写测试用例时,初始状态 通常用一个以给定单词 Given 开头的关键字来表达,动作用关键字以 when 开头, 描述和期望 以关键字 then 开头。

如果某个步骤具有 多个动作,则可以使用以AndBut开头的关键字。

*** Settings ***
Library    SeleniumLibrary

*** Test Cases ***
行为驱动
    Given Open Browser    http://www.baidu.com    chrome
    When Input Text    id:kw    hello, world!   
    and Click Button    id:su    
    Sleep    3    
    Then Close Browser