一、Evaluate关键字
为什么说“Evaluate”关键字强大呢?是因为通过它可以使用Python语言中所提供的方法。
在python中我们可以这样来引用和使用方法:
![img_cdbd93a78328c4bab27d64fdfd5227a4.png](https://i-blog.csdnimg.cn/blog_migrate/100adebcef58b65cc3175b5fc7819fca.png)
random模块的randint()方法用于获取当前随机数。
在Robot Framework中使用“Evaluate”也可以调用Python所提供的random模块下的randint()方法。
![img_0ad3ff142404e16a6365deca6e8044e1.png](https://i-blog.csdnimg.cn/blog_migrate/17f6edadbccf445779faa0d07e2c126c.png)
执行结果:
Starting test: Test.Testsuit.test
20171213 09:12:50.109 : INFO : ${d} = 5776
20171213 09:12:50.109 : INFO : 5776
Ending test: Test.Testsuit.test
二、导入不同的库文件
在 Python 语言中可以使用 import 导入标准和第三方模块或框架。那么在 Robot Framework 中也提供了“Import Library”关键字来完成这个事情。
1.调用框架
![img_df705cd1b5a2b14c9911ffdf2b1b27e1.png](https://i-blog.csdnimg.cn/blog_migrate/dc7c34767d3c191d27104b7053afb940.png)
我们导入了 Python 标准的单元测试框架 unittest。 当然, 在RobotFramework 中并不能使用 unittest单元测试框架。这只里只演示“Import Library”等同于 Python 语言中的 import。导入不存在的库,运行测试用例时会提示找不到该库文件。
2.调用Python文件
首先创建test.py文件,运行结果为9
![img_2f599590f0aa37dd9745101800d98a40.png](https://i-blog.csdnimg.cn/blog_migrate/b5adb09f849ec80e486ea5c7f07b465e.png)
下面通过Robot Framework调用test.py文件中的add()函数
![img_057135e713f6b0e5ab8dc577d580b283.png](https://i-blog.csdnimg.cn/blog_migrate/fdc3bdc4ea5f13797c079b2c2b376dbf.png)
执行结果:
Starting test: Test.Testsuit.test
20171213 09:32:50.845 : INFO : ${add} = 45
20171213 09:32:50.845 : INFO : 45
Ending test: Test.Testsuit.test
从执行结果中看到和预想的结果不是样,不应该是 9 么?怎么是 45。这是因为 Robot Framework 把 4和 5 当前两个字符串。所以 4 和 5 拼接起来是 45。我们可以将 4 和 5 转化成 int 类型,再调用 add。
![img_7e00dd19409c10e032d66b5bb1d74d11.png](https://i-blog.csdnimg.cn/blog_migrate/a2c5ec75073c6dfa3a91e98e8d9f03e4.png)
执行结果:
Starting test: Test.Testsuit.test
20171213 09:38:08.932 : INFO : ${a} = 4
20171213 09:38:08.933 : INFO : ${b} = 5
20171213 09:38:08.935 : INFO : ${add} = 9
20171213 09:38:08.935 : INFO : 9
Ending test: Test.Testsuit.test
三、注释
在Robot Framework中注释有“#”和“Comment”关键字注释2种方法。
四、Collections 库之字典的使用
Collections 库同样为 Robot Framework 标准类库,它所提供的关键字主要用于列表、索引、字典的处理
1.字典的存放方式是 key:value 成对存放的
![img_af6a1f668509623d63be9440ae4f9d43.png](https://i-blog.csdnimg.cn/blog_migrate/19e2725ef8421c6767768a7ff4ca4145.png)
2.操作字典
Get Dictionary Items 关键字用于读取字典的 key 和 value
![img_6d1c976228ce90374ce09dc592107418.png](https://i-blog.csdnimg.cn/blog_migrate/c5497ce4f2b36fdbc1f37b653cb64ea5.png)
Get Dictionary Items 关键字获取字典中的 key 和 value。
Get Dictionary Keys 关键字获取字典中的 key。
Get Dictionary Values 关键字获取字典中的 value。
Get From Dictionary 关键字获取字典中的 key 对应的 value。
执行结果:
Starting test: Test.Testsuit.test
20171213 10:36:39.187 : INFO : ${dict} = {u'a': u'1', u'b': u'5'}
20171213 10:36:39.187 : INFO : ${items} = [u'a', u'1', u'b', u'5']
20171213 10:36:39.187 : INFO : [u'a', u'1', u'b', u'5']
20171213 10:36:39.187 : INFO : ${key} = [u'a', u'b']
20171213 10:36:39.187 : INFO : [u'a', u'b']
20171213 10:36:39.187 : INFO : ${value} = [u'1', u'5']
20171213 10:36:39.187 : INFO : [u'1', u'5']
20171213 10:36:39.187 : INFO : ${v} = 5
20171213 10:36:39.197 : INFO : 5
Ending test: Test.Testsuit.test