Automation One By One - Robot Framework - Keyword/Variable Files
上一篇 /
下一篇 2011-07-11 16:55:31
/ 个人分类:Robot Framework
根据
Automation One By One - Robot Framework - Test Suite中所描述的
百度账号的feature,我们分成了几个test suites,每个suite中都包含了一类test case files.
比如02_login test suite中包含了成功登录和登录失败2个test case files,比对一下2个test case file中不同的地方:
- Variable表中的username内容不同
- Test Case表中最后一句,一个是Login Is Successful, 一个是Login Is Failed
- Keywords表中Login Is Successful/Login Is Failed定义的内容不同
1. 除了上述的不同其它的地方基本上一样,为了避免出现脚本复制粘贴重复存在的问题,我们把test files中相同中的地方抽离出来形成独立的文档。- 把Variable的内容提取出来形成一个名称为variables.txt的文档。(文档名称可自定义)
variable.txt文档中的内容:
***Variables*** @{username}= user1 user2 user3 user4 user5 user6 @{password}= password1 password2 password3 ...
|
- 把keywords中的内容提取出来形成一个名称为loginkeywords.txt的文档。(文档名称可自定义)
loginkeywords.txt文档中的内容:
*** 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} Login Is Failed [Arguments] ${username} Page Should Not Contain ${username}
|
2. 提取成功后,原来的test suites的结构就发生了变化- Baidu - __init__.txt - 01_register - 01_registerfailed - 02_registersucceed - __init__.txt - 02_login - 01_loginfailed - 02_loginsucceed - __init__.txt
|
- Baidu - __init__.txt - variables.txt (注意:因为注册和登录的变量有可能用的是一样的,所以可以将variables提取到最高级别,方便注册和登录的test suite共享) - 01_register - 01_registerfailed - 02_registersucceed - __init__.txt - 02_login - 01_loginfailed - 02_loginsucceed - loginkeywords.txt - __init__.txt
|
3. 提取后test case file的内容也有变化,如登录中2个test file 内容的变化
*** Settings *** Library Selenium Library Resource /Path/to/Variable.txt(移除variables表格,导入variables文件) Resource /Path/to/loginkeywords.txt(移除keywords表格,导入loginkeywords文件) *** Testcases *** Login Should Succeed When the Correct Username and Password are Entered Open Login Page
Enter Username @{username}[4] Enter Password @{password}[0] Click the Login Button Login Is Failed @{username}[4] |
*** Settings *** Library Selenium Library Resource /Path/to/Variable.txt(移除variables表格,导入variables文件) Resource /Path/to/loginkeywords.txt(移除keywords表格,导入loginkeywords文件) *** 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] |
总之一句话:Test Case File中只保留初始化所必须的settings及test case中不重复的步骤,越精简越好。即写脚本要有面向对象的思想(封装,继承,多态)
收藏
举报
TAG: