Automation One By One - Robot Framework - Test Suite

前面已经介绍了如何进行 Test case及Test file的编写,如果要编写的test case有很多,我们需要对这些test case分类,形成不同的test file或是test suite.

test file:可以整合一个或多个test case,一个test file可以看成是一个test suite.
test suite: 可以整合一个或多个test file,是比test file更高一级的test suite.

比如前面介绍的 百度账号登录的功能,要想登录肯定是先注册,对注册的 测试应该分为成功注册和失败注册2类,登录也要分成登录成功和登录失败2类来测试,那我们就可以把这些测试做一个分类,如下:

- Baidu                   -- test suite      
 - 01_register              -- test suite 
  -  01_registerfailed       -- test file
  -  02_registersucceed      -- test file
 - 02_login                 -- test suite
  -  01_loginfailed          -- test file
  -  02_loginsucceed         -- test file


执行脚本时,即可以单独执行某个test file,又可以执行某一类test suite(比如Baidu(执行所有test file),01_register(只执行其下的test file),02_login(只执行其下的test file))

Automation One By One - Robot Framework - Conception这篇 文章中已经介绍了test suite,要想把一个文件夹当成一个test suite必须添加一个初始化文件 (initialization file), 这个初始化文件中存放的是test file中共同的settings或keyword, 所以我们要想真正的执行一个test suite必须将上述的组织结构加入初始人文件 __init__.txt

- Baidu                   -- test suite  
 - __init__.txt   
 - 01_register              -- test suite 
  -  01_registerfailed       -- test file
  -  02_registersucceed      -- test file
  -  __init__.txt
 - 02_login                 -- test suite
  -  01_loginfailed          -- test file
  -  02_loginsucceed         -- test file
  -  __init__.txt

__init__.txt中的内容是从原来的test case file中挑出来的共用的东西,比如02_login中的初始化文件内容包括:

*** Settings ***
Suite Setup     Start Selenium Server
Suite Teardown  Stop Selenium Server
Test Setup      Setup Test
Test Teardown   Close All Browsers

*** Keywords ***
Setup Test
  Open Browser  Open Browser  http://www.baidu.com/  chrome
  Maximize Browser Window

如此以来login test case file中的内容将变成如下


*** Settings ***
Library       Selenium Library

***Variables***
@{username}=  user4  user5  user6  ...
@{password}=  password1  password2  password3  ...

*** Testcases ***
Login Should Succeed When the Correct Username and Password are Entered
  Open Login Page
  Enter Username  @{username}[0]
  Enter Password  @{password}[0]
  Click the Login Button
  Login Is Successful @{username}[0]

*** Keywords ***
Open Login Page
  Click Link  link=登录
Enter Username  [Arguments]  ${username}
  Input Text  uname  ${username}
Enter Password  [Arguments]  ${password}
  Input Text  pwd  ${password}
Click the Login Button
  Click Button  login
Login Is Successful  [Arguments]  ${username}
  Page Should Contain  ${username}

而对于更高级的test suite(BaiDu)中的__init__.txt文件来说,其内容应该是所有的test suites中共存的东西,即
*** Settings ***
Suite Setup     Start Selenium Server
Suite Teardown  Stop Selenium Server

那下一级的test suite的初始化文件中应该将高一级的test suite中包含的东西移除掉,即

低一级test suite中的初始化文件

*** Settings ***
Test Setup      Setup Test
Test Teardown   Close All Browsers

*** Keywords ***
Setup Test
  Open Browser  Open Browser  http://www.baidu.com/  chrome
  Maximize Browser Window




所以总结一下:

第一级test suite - BaiDu包含的内容如下:
  • __init__.txt
*** Settings ***
Suite Setup     Start Selenium Server
Suite Teardown  Stop Selenium Server

  • 01_register-test suite
  • 02_login-test suite
第二级test suite - 01_register包含的内容如下:
  • __init__.txt
*** Settings ***
Test Setup      Setup Test
Test Teardown   Close All Browsers

*** Keywords ***
Setup Test
  Open Browser  Open Browser  http://www.baidu.com/  chrome
  Maximize Browser Window
  • 01_registerfailed-test case file
  • 02_registersucceed-test case file
第三级test suite - 02_login包含的内容如下

  • __init__.txt
*** Settings ***
Test Setup      Setup Test
Test Teardown   Close All Browsers

*** Keywords ***
Setup Test
  Open Browser  Open Browser  http://www.baidu.com/  chrome
  Maximize Browser Window
  • 01_loginfailed-test case file

*** Settings ***
Library       Selenium Library

***Variables***
@{username}=  user1  user2  user3  ...
@{password}=  password1  password2  password3  ...

*** Testcases ***
Login Should Succeed When the Correct Username and Password are Entered
  Open Login Page
  Enter Username  @{username}[0]
  Enter Password  @{password}[0]
  Click the Login Button
  Login Is Failed

*** Keywords ***
Open Login Page
  Click Link  link=登录
Enter Username  [Arguments]  ${username}
  Input Text  uname  ${username}
Enter Password  [Arguments]  ${password}
  Input Text  pwd  ${password}
Click the Login Button
  Click Button  login
Login Is Failed  [Arguments]  ${username}
  Page Should Not Contain  ${username}

  • 02_loginsucceed-test case file

*** Settings ***
Library       Selenium Library

***Variables***
@{username}=  user1  user2  user3  ...
@{password}=  password1  password2  password3  ...

*** Testcases ***
Login Should Succeed When the Correct Username and Password are Entered
  Open Login Page
  Enter Username  @{username}[0]
  Enter Password  @{password}[0]
  Click the Login Button
  Login Is Successful @{username}[0]

*** Keywords ***
Open Login Page
  Click Link  link=登录
Enter Username  [Arguments]  ${username}
  Input Text  uname  ${username}
Enter Password  [Arguments]  ${password}
  Input Text  pwd  ${password}
Click the Login Button
  Click Button  login
Login Is Successful  [Arguments]  ${username}
  Page Should Contain  ${username}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值