Automation One By One - Robot Framework - Test Suite
上一篇 /
下一篇 2011-07-08 13:55:40
/ 个人分类:Robot Framework
前面已经介绍了如何进行
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 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包含的内容如下:
*** Settings ***
Suite Setup Start Selenium Server Suite Teardown Stop Selenium Server |
- 01_register-test suite
- 02_login-test suite
第二级test suite - 01_register包含的内容如下:
*** 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包含的内容如下
*** 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} |
收藏
举报
TAG: