开发系统关键字

  之前在51testing培训了三个月,一直学习的自动化测试框架是Java的TestNG框架。毕业后的第一份工作是测试开发工程师,新公司要求用robot framework来做自动化测试。看虫师的视频,有很大收获,也有一些自己的想法。robot官网提供了很多的库,有很多的关键字,但是如果你对现有的关键字,不满意,可以自己开发系统每个关键字。

  比如说Selenium2Library库,下载之后,是放在了python目录下lib的site-packages包下,所以我们开发的系统关键字也要放在这个路径下。

1、举个例子,想要开发一个加减乘除的系统关键字,我们首先写一个calc.py文件

 1 #coding=utf-8
 2 
 3 class Calc(object):
 4     def add(self,a,b):
 5         c=int(a)+int(b)
 6         return c
 7 
 8     def sub(self,a,b):
 9         c=int(a)-int(b)
10         return c
11 
12 #验证该python文件是正确的
13 c=Calc()
14 print c.add(1,4)

2、新建一个main.robot的文件,调用上面定义的add、sub方法

 1 ***Settings***
 2 Library                 Calc
 3 
 4 ***Test Cases***
 5 case1
 6     ${result}       add         5       6
 7     log             ${result}
 8 
 9     ${result}       sub         8       9
10     log             ${result}

3、要想运行起来,必须还有有一个__init__.py文件,在python-lib-site-packages下新建一个Calc文件夹,下面新建__init__.py文件

1 from calc import Calc
2 
3 __version__='0.1'
4 
5 class CalcCode(Calc):
6     ROBOT_LIBRARY_SCOPE='GLOBAL'

  其中,先从calc.py中导入Calc类,然后定义CalcCode集成Calc类,这样就成了库,在main.robot中,声明Library是python-lib-site-packages-Calc目录,之后用例使用Calc类中的add、sub方法,执行。

结果如下:

在工作区间查看log.html,

已经打印出来。

感谢您的阅读,辛苦!

原文地址:https://www.cnblogs.com/feifei-cyj/p/7522724.html