Robot Framework之强大的Evaluate和Collections 库

简介: 一、Evaluate关键字为什么说“Evaluate”关键字强大呢?是因为通过它可以使用Python语言中所提供的方法。在python中我们可以这样来引用和使用方法:random函数random模块的randint()方法用于获取当前随机数。

一、Evaluate关键字

为什么说“Evaluate”关键字强大呢?是因为通过它可以使用Python语言中所提供的方法。

在python中我们可以这样来引用和使用方法:

img_cdbd93a78328c4bab27d64fdfd5227a4.png
random函数

random模块的randint()方法用于获取当前随机数。

在Robot Framework中使用“Evaluate”也可以调用Python所提供的random模块下的randint()方法。

img_0ad3ff142404e16a6365deca6e8044e1.png
Robot Framework+Python

执行结果:

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
导入框架

我们导入了 Python 标准的单元测试框架 unittest。 当然, 在RobotFramework 中并不能使用 unittest单元测试框架。这只里只演示“Import Library”等同于 Python 语言中的 import。导入不存在的库,运行测试用例时会提示找不到该库文件。

2.调用Python文件

首先创建test.py文件,运行结果为9

img_2f599590f0aa37dd9745101800d98a40.png
test.py

下面通过Robot Framework调用test.py文件中的add()函数

img_057135e713f6b0e5ab8dc577d580b283.png
robotframework调用python文件

执行结果:

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
转换int类型后重新计算

执行结果:

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
字典

2.操作字典

Get Dictionary Items 关键字用于读取字典的 key 和 value

img_6d1c976228ce90374ce09dc592107418.png
操作dictionary

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

目录
相关文章
|
机器人 Python
Robot Framework之python脚本调用
前言 喜欢使用RF的原因之一就是能自己定义关键字,这篇就简单说下如何创建系统关键字,先来个最简单的,求比较两个数的大小 一、建立库文件 假设python的安装路径在D:/下面(作者是放在D:\python\python27) 1、在D:\python\...
3875 0
|
1月前
|
机器学习/深度学习 Linux TensorFlow
【Tensorflow 2】解决tensorflow.python.framework.errors_impl.UnknownError: [_Derived_] Fail to find the...
本文解决了在使用TensorFlow 2.0和Keras API时,尝试使用双向LSTM (tf.keras.layers.Bidirectional) 出现的未知错误问题,并提供了三种解决该问题的方法。
27 3
|
11月前
tensorflow.python.framework.errors_impl.InvalidArgumentError
tensorflow.python.framework.errors_impl.InvalidArgumentError:logits and labels must be broadcastable: logits_size=[8,4] labels_size=[8,2]训练模型时报错,tensorflow.python.framework.errors_impl.InvalidArgu...
100 1
|
Java API
Why Java Collections Framework does not contain Tree and Graph
Why Java Collections Framework does not contain Tree and Graph
57 0
|
自然语言处理 机器人
Robot Framework(8)- Collections 测试库常用的关键字列表
Robot Framework(8)- Collections 测试库常用的关键字列表
119 0
Robot Framework(8)- Collections 测试库常用的关键字列表
|
机器人 Java 测试技术
Robot Framework(2)- 快速安装
Robot Framework(2)- 快速安装
202 0
Robot Framework(2)- 快速安装
|
XML 机器人 Java
Robot Framework(5)- 使用测试库
Robot Framework(5)- 使用测试库
249 0
Robot Framework(5)- 使用测试库
成功解决tensorflow.python.framework.errors_impl.InvalidArgumentError: slice index 1 of dimension 0 out o
成功解决tensorflow.python.framework.errors_impl.InvalidArgumentError: slice index 1 of dimension 0 out o
|
Web App开发 机器人 测试技术
Robot Framework使用技巧
1、变量的使用 变量可以在命令行中设置,个别变量设置使用--variable (-v)选项,变量文件的选择使用--variablefile (-V)选项。通过命令行设置的变量是全局变量,对其所有执行的用例都有效。
1383 0
|
JSON 机器人 数据格式
Robot Framework开发系统关键字详细
本文的目的,是记录如何在rf下,开发属于自己的库函数(又称之系统关键字) 1、首先在..\Python27\Lib\site-packages目录下创建自定义库目录如Verification_Library,用于放自定义的library库。
1422 0