本文简单介绍了如何在robot里面调用一个python写的函数。
构建
我们在D盘下创建两个文件,一个叫pyfile.py,用于编写python函数,另外一个叫test.txt,编写我们的测试用例。
pyfile.py的内容如下:
def sum(a, b):
return int(a) + int(b)
很简单,定义了一个函数sum,用于返回两个数的和,注意return int(a) + int(b)这里为什么使用了int进行转换,因为robot传递过来的值,默认是str类型。
test.txt的内容如下:
*** Settings ***
Library pyfile
*** TestCases ***
Step1: test_sum_1
${ret} sum 1 1
Should Be Equal ${ret} ${2}
代码解析:
-
*** Settings ***和*** TestCases ***都是robot的标识,必须顶格 -
Library pyfile是引入python的库,类似于python里面的import,我们这样引入后,就可以使用pyfile里面的sum函数了 -
${ret} sum 1 1调用了sum函数,并且传递了两个参数都是1,其中返回值使用${ret}接收,robot里面定义一般变量的方式就是${} - 最后我们使用
Should Be Equal ${ret} ${2}判断了是否相等,这里${2}为什么把2包起来呢,上面说了,robot里面默认是str类型, 如果直接使用2,那么是一个str,sum返回的是一个int,导致不相等,而使用${2}这种方式,表示就是int类型的2,你可以试试把${2}改成2在次运行用例,查看报错的信息。
运行
同样,先在cmd下进入D盘,使用下面的命令:
robot test.txt
输出类似:
D:\>robot test.txt
==============================================================================
Test
==============================================================================
Step1: test_sum_1 | PASS |
------------------------------------------------------------------------------
Test | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Output: D:\output.xml
Log: D:\log.html
Report: D:\report.html
D:\>
最后打开你的log.html类似

log.png
