zoukankan      html  css  js  c++  java
  • 开发系统关键字

      之前在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,

    已经打印出来。

    感谢您的阅读,辛苦!

  • 相关阅读:
    C++的开源跨平台日志库glog学习研究(一)
    C++实现的字符串模糊匹配
    Git&GitHub学习日志
    UTF-8和GBK等中文字符编码格式介绍及相互转换
    HDU
    340. 通信线路(分层图最短路)
    ACwing 你能回答这些问题吗(线段树求最大连续字段和)
    Laptop(线段树+离散化)
    Infinite Inversions(树状数组+离散化)
    HDU-4417-Super Mario(主席树解法)
  • 原文地址:https://www.cnblogs.com/feifei-cyj/p/7522724.html
Copyright © 2011-2022 走看看