基本组成
一个项目里多个文件夹(直接新建文件就行)
一个文件夹里可以多个suite(按一定的逻辑分类,例如按接口),一个suite是一个txt或html等文件
一个suite可以包含的内容:Settings、Variables、Test Cases、Keywords,一个或多个。这四种内容都保存在一个txt里,成为suite
1) Setting部分主要的作用是:
1、引用测试类库文件(test Library)
2、引用资源文件(resource files)
3、引用变量文件(variable files)
4、设置Test Suit执行前、执行后的动作(Suite Setup、Suite Teardown)
5、设置Test Case执行前、执行后的动作(Test Setup 、Test Teardown)会覆盖4
6、为测试套件或者测试用例定义元数据(metadata)
Setup:是在测试用例执行之前执行的,可以使用带参数的关键字
Teardown:是在测试用例执行之后执行的,必须执行。
在测试用例中使用Setup和Teardown的最简单方法是在设置表中设置Setup和Teardown。单独的用例也可以有Setup和Teardown。在用例中设置Setup和Teardown,会覆盖Suite的Setup和Teardown设置。
2) Variable部分的主要作用是:
1、定义测试用例中要使用的变量
变量不能跨文件访问(只能在同一个txt里)
除非设置全局变量(set globle varible)
变量类型:常量、列表型、字典型,见下一节“数据类型”
3) TestCase部分的主要作用是:
1、使用测试关键字来完成测试用例
4) Keword部分的主要作用是:
1、把现有关键字进行组合,生成更高一级的新关键字
2、关键词(方法、命令的封装)可以统一放到一个文件夹里管理
数据类型
标量Scalar:${scalar}
列表List:@{list22}
字典Dictionary:&{dict}
可以右键、新建变量;
可以在测试用例里用命令创建:.
${s} | Set Variable | Aaaa | |
${s1} | CreateList | a | b |
@{s2} | CreateList | a | b |
&{dictionaryV} | createDictionary | a=1 | b=2 |
log | ${s} | | |
log | ${s1} | | |
logmany | @{s2} | | |
logmany | &{dictionaryV} | | |
执行结果:
Starting test: APItest.Test.Test00.testcase
20170817 11:06:03.736 :
INFO :${s} = ssssssss
20170817 11:06:03.739 :
INFO :${s1} = [u'a', u'b']
20170817 11:06:03.742 :
INFO :@{s2} = [ a | b ]
20170817 11:06:03.746 :
INFO :&{dictionaryV} = { a=1 | b=2 }
20170817 11:06:03.748 :
INFO : ssssssss
20170817 11:06:03.750 :
INFO : [u'a', u'b']
20170817 11:06:03.752 :
INFO : a
20170817 11:06:03.753 :
INFO : b
20170817 11:06:03.756 :
INFO : a=1
20170817 11:06:03.757 : INFO : b=2
自定义库
写.py文件,导入,引用
· 记住Robotframework的套件名称是直接从文件/目录的名字转换来的。
· 文件的后缀名被去掉了
· 而且下划线会被转换成空格,
· 如果你的用到的单词都是小写的,那么开头字母会被转换成大写的。比如login_test.txt会被转换成Login Tests, DHCP_and_DNS会被转换成DHCP and DNS。
Examples:
· login_tests.robot -> Login
Tests
· IP_v4_and_v6 -> IP v4
and v6
测试模板
case的setting里面有一个配置项叫