Robot framework使用文档课件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
1.编写目的 (2)
2.执行Test cases (2)
2.1.运行test case (2)
2.1.1.用python运行test case (2)
2.1.2.用jython运行test case (2)
2.1.3.写自定义脚本运行test case (2)
2.1.4.用RIDE使用和运行test case (3)
2.1.5.用Eclipse运行test case (3)
2.2.参数使用 (4)
2.2.1.escape (4)
2.2.2.argumentfile (4)
3.创建Test Data (5)
3.1.Test Data Files (5)
3.1.1.Test Data Syntax (5)
3.1.2.Setting Table (6)
3.1.3.Variables Table (7)
3.1.4.Test Case Table (7)
3.1.5.Keyword Table (7)
3.2.使用Library (8)
3.2.1.Library search path (8)
3.2.2.使用物理地址 (8)
3.2.3.自定义库名 (9)
3.3.使用Variables (9)
3.3.1.Test case 定义变量 (9)
3.3.2.Variable files定义变量 (10)
3.4.使用Keyword (10)
3.4.1.Test case 定义keyword (10)
3.4.2.Python or Java 定义keyword (11)
3.5.使用Resource files (11)
4.扩展Robot (12)
4.1.创建Test Library (12)
4.1.1.static keywords (12)
4.1.2.参数 (13)
1.编写目的
本文档用于描述Robot framework的使用方法。
2.执行Test cases
2.1.运行test case
2.1.1.用python运行test case
1)在python环境下执行case可用pybot命令。
例:pybot test.html
2)Test case中引入的library只能是.py,不能引入java的文件
2.1.2.用jython运行test case
1)在jython环境下执行case可用jybot命令。
例:jybot test.html
2)Test case中引入的library可以是.py也可以说.class,java的文件要先编译好才能用。
不能引入jar包。
3)可以将所需要的.class文件打成jar包,然后运行时加上--pythonpath xxx.jar,或者放在classpath变量里。
2.1.
3.写自定义脚本运行test case
2.1.4.用RIDE使用和运行test case
1)使用java或python编写keyword
2)用libdoc.py创建关键字文档,以让RIDE可以显示与搜索。
上述是先设置创建文档所需要的jar包,然后生成xml格式的关键字文档。
将生产的xml放到pythonpath目录中,然后打开RIDE,引入com.test.wsg.ta.library.FtpLibrary后在tools->serch keywords中即可找到关键字及其描述。
3)在RIDE上写好case后,可以使用pybot、jybot或custom script方式运行,同上述三种方式一样。
2.1.5.用Eclipse运行test case
1)新建一个项目后引入robotframework独立运行的jar包。
2)新建一个class,代码如下:
2.2.参数使用
2.2.1.escape
Escape作用是替换符号。
例:--escape space : _ --metadata X : Value_with_spaces
经过替换后metadata X的值为Value with spaces
--pythonpath lib/STAR.jar --escape star:STAR
经过替换后则会引入lib下所有的jar包
可使用的替换符
2.2.2.argumentfile
1)可以将所需的参数全部放在一个文件里,运行时引入该文件即可。
jybot --argumentfile all_arguments.txt
2)一个文件夹下的case是按字母顺序执行的,以下情况可以将其放到文件里,按自己想要的顺序执行。
tests/some_tests.html
tests/second.html
tests/more/tests.html
tests/more/another.html
tests/even_more_tests.html
3.创建Test Data
3.1.Test Data Files
3.1.1.Test Data Syntax
1)支持的文件格式:HTML(.html、.htm、.xhtml), TSV(.tsv), plain text(.txt), reStructuredText (.rst、.rest) 。
2)一个文件是一个test suite,包含多个case;一个文件夹包含多个文件,文件夹中还可包含多个文件夹(目录结构)。
3)使用HTML格式写case如下:
4)整个test data包括setting table、variables table、test case table、keyword table。
用RIDE可以很方便的编辑test data。
3.1.2.Setting Table
Library:有standard(builtIn、operatingSystem、Telnet、collections、String、Dialogs、screenshot、Remote)、External(selenium、swing…)以及自定义的库。
Resource:可在文件中定义keywords、variables,然后引入
Variables:这里的变量是在python中写的,故该变量可动态地设置(通过函数返回,或调取数据库…)
Documentation:对test suite的描述
Metadata:自定义一些信息,如版本信息
Suite setup:suite执行之前做的事
Suite teardown:suite结束之前做的事
Force Tag:强制有的tag
Default Tag:默认的tag
Test setup:test case执行前做的事(每个test case,要是该test case有自己的setup,会覆盖掉本setup)
Test teardown:test case结束前做的事
Test template:将keyword-driven转换成data-driven的格式输出(case引用模板后要按模板的格式来,使用其他keyword没用)
Test timeout:test suite执行的时间,超过这个时间会认为是failure
3.1.3.Variables Table
3.1.
4.Test Case Table
Documentation:test case描述
Tags:test case标签
Setup:test case执行前做的事
Teardown:test case结束前做的事
Template:test case模板
Timeout:test case执行时间
3.1.5.Keyword Table
Documentation:keyword描述
Arguments:参数
Return:返回值
Timeout:超时时间
Teardown:keyword结束前做的事
3.2.使用Library
3.2.1.Library search path
pythonpath、classpath、Using --pythonpath option
1)将自定义的library(.py或.class)放入pythonpath或classpath
2)将jar包的位置添到classpath环境变量中,也可在运行的时候先set CLASSPATH=xxx.jar
3)运行的时候加入--pythonpath参数,例:
Jybot --pythonpath lib/ (.py or .class文件)
Jybot --pythonpath lib/STAR.jar --escape star:STAR test.html(这里表示引入lib下所有的jar包)
4)Test.html中library设置
3.2.2.使用物理地址
.py或.class文件所在的绝对地址或相对地址
Test.html中library设置
3.2.3.自定义库名
以不同名字引入同一个库
3.3.使用Variables
3.3.1.Test case 定义变量
1)变量分为scalar和list。
2)Scalar为单值变量,例:${GREET}
3)List里可包含多个值,list不能嵌套list,例@{USER}
4)变量使用优先级,依次降低:command line->case file定义的->从resource或变量文件引入的->执行测试时设置的->内置变量
5)数字${3.14}、${3}
3.3.2.Variable files定义变量
1) Variable files使用python编写2)引入变量文件如前使用library一样3)简单只用如下:
4)动态变量:
3.4.使用Keyword
3.4.1.Test case 定义keyword [Documentation]设置keyword描述
[Arguments]设置keyword调用时需输入的参数
[Return Value]设置keyword的返回值
[Teardown] 设置keyword结束前做的事
[Timeout]超时时间
3.4.2.Python or Java 定义keyword
使用python or java写keyword,然后通过library引入。
见创建Test Library
3.5.使用Resource files
1)可在该文件中引入library、resource、variable files(python文件);定义keywords、variables;不能定义test case
2)引入该文件如前使用library一样
4.扩展Robot
4.1.创建Test Library
4.1.1.static keywords
1)Test libraries可以用python或java实现
2)Java文件需编译好后才能引入,引入方法见使用library 3)简单使用如下:(通过构造函数传参数)
4)Test library范围
TEST CASE:每个case可以共享该实例
TEST SUITE:每个suite可以共享该实例
GLOBAL:整个执行期间就创建一个实例
Python:
ROBOT_LIBRARY_SCOPE = 'TEST SUITE'
Java:
public static final String ROBOT_LIBRARY_SCOPE = "GLOBAL";
5)Test version
Python:
__version__ = '0.1'
Java:
public static final String ROBOT_LIBRARY_VERSION = "1.0.2";
4.1.2.参数
1)使用不同参数
2)使用默认参数
3)可变数目参数。