美文网首页
Robot Framework之强大的Evaluate和Coll

Robot Framework之强大的Evaluate和Coll

作者: keitwo | 来源:发表于2017-12-13 10:43 被阅读697次

    一、Evaluate关键字

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

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

    random函数

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

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

    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.调用框架

    导入框架

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

    2.调用Python文件

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

    test.py

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

    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。

    转换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 成对存放的

    字典

    2.操作字典

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

    操作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

    相关文章

      网友评论

          本文标题:Robot Framework之强大的Evaluate和Coll

          本文链接:https://www.haomeiwen.com/subject/iqtaixtx.html