RF自定义系统关键字

抱歉各位,由于前段时间一直沉迷于青山七惠的小说,又顺便看了本《教父》所以一直没有更新。 本来打算仔细的介绍一下Python,可是公众号里入驻了几位真正的Python大神,为了不被大神反复的提醒自己代码的缺陷(略~~)我决定只介绍RF中常用的Python知识,这部分主要集中在列表(list)、字典(dict)的操作。 如果您准备学习Python,船长在这里给大家推荐几个学习Python的好地方: 1、廖雪峰官网

http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000 2、菜鸟教程 http://www.runoob.com/python/python-tutorial.html 如果您有编程基础的话,会非常快的上手Python。

好,废话不多说,先看一段小代码:

#coding:utf-8

import json

class SeatMap(object):

‍    ROBOT_LIBRARY_SCOPE = 'GLOBAL'
    ROBOT_LIBRARY_VERSION = '0.1'

‍    def __init__(self):
        pass

    def create_seatMap(self, name, password):

        dict1 = {"name": name,
                 "password": password}

        dict2 = {"type": "login"}
        dict1.update(dict2)
        return json.dumps(dict1)

现在我们来分析一下上面的(弱鸡(⊙o⊙)…)代码:

首先用import json导入json了库,在create_seatMap函数中我们定义了两个字典,然后通过字典的update方法将两个字典合并,最后用json库中的dumps方法将字典转换成字符串(没错,就是这么low,^_^)

这里需要注意的是

ROBOT_LIBRARY_SCOPE = 'GLOBAL'

ROBOT_LIBRARY_VERSION = '0.1'

因为RF要调用create_seatMap函数,所以需要加上这两句,这两句话做了两件事

第一就是声明该自定义关键字的范围,第二声明该库的版本。

好,简单的代码已经完成了,我们将上面的代码保存为SeatMap.py文件,注意,文件名要和类名相同。

将该py文件放到

这个文件夹下面,使suit调用这个库(类名):

然后在用例中直接调用函数即可:

因为我们在函数中定义了两个参数,所以这里需要传两个参数(需要传参的位置会显示为红色)

最后,运行这个用例:

我们在输出中看到定义的${login}变量已经返回了我们在代码中拼接的字符串。

这里提醒大家,自定义关键字在使用的时候,从robot运行传进的参数都会变成字符串类型,所以如果您准备做数学计算,则需要在代码中进行一下参数类型的转换

原文发布于微信公众号 - 自动化测试实战(gh_839e78b6ba28)

原文发表时间:2017-04-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

Java类的生命周期详解

最近有位细心的朋友在阅读笔者的文章时,对java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题 讲明白的,主要是因为...

1073
来自专栏欧阳大哥的轮子

深入解构objc_msgSend函数的实现

熟悉OC语言的Runtime(运行时)机制以及对象方法调用机制的开发者都知道,所有OC方法调用在编译时都会转化为对C函数objc_msgSend的调用。

1072
来自专栏日常学python

再有人问什么是元类,就把这篇文章扔给他!

我之前在深入理解python中的类和对象中说过,python中的类也是一个对象,可以说是类对象,可以由 type() 来创建类对象的。有了这个知识我们先看看下面...

1112
来自专栏noteless

[十三]JavaIO之PushBackInputStream

看得出来,如果你从来不曾回退过,那么好像什么都一样,还是使用原来的InputStream 进行读取

1712
来自专栏令仔很忙

javascript变量:全局?还是局部?这个得注意

        如果有Var,在函数内部声明变量是局部变量,如下例,读取不到name的数据。

1003
来自专栏微信公众号:Java团长

Java的三种代理模式

代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即...

531
来自专栏思考的代码世界

Python基础学习08天

1494
来自专栏IT派

Python字节码介绍

如果你曾经编写亦或只是使用Python语言,那么你可能已经习惯了看Python源码文件; 源码的文件名以.py结尾。或许你也已经注意到了另一种类型的文件,文件名...

1633
来自专栏玄魂工作室

看代码学安全(11) - unserialize反序列化漏洞

大家好,我们是红日安全-代码审计小组。最近我们小组正在做一个PHP代码审计的项目,供大家学习交流,我们给这个项目起了一个名字叫 PHP-Audit-Labs 。...

1233
来自专栏C语言C++游戏编程

七夕来了,请用C 语言和我交流

当我们提到输入时,这意味着要向程序填充一些数据。输入可以是以文件的形式或从命令行中进行。C 语言提供了一系列内置的函数来读取给定的输入,并根据需要填充到程序中。

1052

扫码关注云+社区