Robotframework之自定义库

前面对RF有了基本的认识, 系统关键字和自定义关键字都已搞定, 那么就可以开始来封装自己的库了.

过程并不复杂, 但是容易被一些小问题卡住, 因此, 仔细一点咯

1. 在python安装目录下的 Lib\site-packages目录下 新建一个目录,目录名就是库名,如NewLibrary

2. 在新建的NewLibrary目录下创建一个python文件,任何合法的文件名即可,扩展名为py。如:myclass.py. 内容如下:

#!/usr/bin/env python
#-*- coding: utf-8 -*-

class MyClass(object):
    def __init__(self):
        pass

    def printMsg(self, msg):
        print(msg)

上面代码定义了一个python类,其中除构造方法 _init_ 外,还定义了一个printMsg方法,该方法其实就是rf中的关键字,可以直接在rf中使用。方法也可以定义 print_msg, 大小写不用太在意, RF最后都会把这个方法处理成关键字 Print Msg.

3. 在新建的NewLibrary目录下创建__init__.py 文件,文件名必须固定这样。该文件的功能,就是把关键字类暴露出来,让rf能知道。

#!/usr/bin/env python
#-*- coding: utf-8 -*-

from NewLibrary.myclass import MyClass

class NewLibrary(MyClass):
    ROBOT_LIBRARY_SCOPE = ‘GLOBAL‘

4. 通过前面三个步骤,一个最简单的自定义的NewLibrary库就创建好了,在RIDE中就可以使用了

查看关键字

在Suite层级导入关键字, 注意, 导入的关键字必须是黑色才表示导入成功.

关键字使用:

运行结果:

5. 如果还要添加其它的关键字, 请重复以上步骤.

原文地址:https://www.cnblogs.com/xiaowangzi1110/p/12302991.html

时间: 2024-11-02 17:19:52

Robotframework之自定义库的相关文章

ant使用总结(四):自定义库

自定义Condition 编写自定义的condition,可以实现自定义的条件判断逻辑,需要实现org.apache.tools.ant.taskdefs.condition.Condition接口,只有一个必须实现的方法就是eval,用于返回条件判断结果. 比如:实现一个用于判断一个字符串是否全部大写的Condition. 步骤: 1.新建Java工程 2.引入ant库 ant相关的jar就在apache-ant-1.9.4\lib目录下.在Java工程中新建一个libs目录,把jar包都拷贝

python解决导入自定义库失败: ModuleNotFoundError: No module named 'MyLib'

python安装目录:...\python_3_6_1_64bit 新建文件:chenyeubai.pth,写入库所在的绝对路径E:\workSpace\my_code\learn\myLib 安装路径下的.pth文件会在运行时将文件中路径写入path python解决导入自定义库失败: ModuleNotFoundError: No module named 'MyLib' 原文地址:https://www.cnblogs.com/chenyuebai/p/8416706.html

[python]RobotFramework自定义库实现UI自动化

1.安装教程 环境搭建不多说,网上资料一大堆,可参考https://www.cnblogs.com/puresoul/p/3854963.html,写的比较详细,值得推荐.目前python3是不支持ride的所以,用python2 2.创建一个工程 &工程下有哪些目录,这样放文件比较明确,如下 &创建好,这时候就得写脚本主题是UI自动化,所以用selenium库,还有其他得辅助库 ,cd c:\Python27\Scripts\,执行easy_install pip, 安装好pip后dos

Dart自定义库、系统库和第三方库

/* 前面介绍Dart基础知识的时候基本上都是在一个文件里面编写Dart代码的,但实际开发中不可能这么写,模块化很重要,所以这就需要使用到库的概念. 在Dart中,库的使用时通过import关键字引入的. library指令可以创建一个库,每个Dart文件都是一个库,即使没有使用library指令来指定. Dart中的库主要有三种: 1.我们自定义的库 import 'lib/xxx.dart'; 2.系统内置库 import 'dart:math'; import 'dart:io'; imp

自定义库引用时编译出错“collect2: error: ld returned 1 exit status”

想必很多人都遇到过这样的事情,需要写一个共享库,这个库又不能让所有的人都了解里面是怎么实现的,所以只能提供一个库出来供项目使用,可能是处于保密.核心业务的需要,这些都能够理解.笔者也写了一个简单的东西测试了一下,里面还是有不少东西. "collect2: error: ld returned 1 exit status"首先就遇到了这个问题.查了一下,这种错误网上说法也一大堆,起作用的还不多.在android系统里面加的共享库,需要加"namespace android &q

struts2权威指南学习笔记:struts2引入自定义库

问题: 在jsp页面中添加了s:property标签,然而在页面始终未展示 解决: 经过搜索学习,发现只要添加语句 <%@ taglib prefix="s" uri="/struts-tags"%> 原因: @taglib表明引用标签.类似java中的import语句 prefix="s" 引用的名称在页面可以使用,就像java中生成的一个对象名,以后调用的时候直接使用<s:xxx/>就可以了 uri="/st

Robotframework框架AndroidLibrary库安装

1.Ruby官网(http://rubyinstaller.org/)下载系统对应安装包进行安装 2.Ruby官网(http://rubyinstaller.org/)下载对应DevKit,运行解压到任一目录. 3.命令行进入解压后目录,执行:Ruby dk.rb init 4.在生成的config.yml中最下方添加ruby目录,如: # - C:/ruby19trunk# - C:/ruby192dev##---- C:\Ruby22-x64 5.命令行运行:ruby dk.rb insta

RobotFramwork自定义库

这么长时间才知道有RobotFramwork这东西... 感叹之前都干啥去了,感叹公司为啥不用这货? 网上的安装文档都有,就不用自己在记录啦. 感觉在实际实用时,肯定要有自己定义的库啊,不能只用buildin的库啊,有些方法是要自己定义的.所以就记下怎么import 自己写的library.这个网上还真没看见. 为什么国内的介绍文档都只停留在安装层面?就不能再深入下吗? 虽然我这也是皮毛...嘿嘿 好吧,看看怎么搞: 我是在Windows7上运行的RIDE,我把自己的库放到了“D:\mylib”

RobotFramework下HttpLibrary库其它关键字

关键字 使用描述 DELETE 向服务器端发送http delete请求,该请求接收一个参数[ url ],请求的方式和post请求非常类似,示例: DELETE /_utils/config.htm HEAD 向服务器端发送http HEAD请求,该请求接收一个参数[ url ],请求的方式和get请求非常类似,示例: HEAD /_utils/config.htm PUT 向服务器端发送http PUT请求,该请求接收一个参数[ url ],请求的方式和post请求非常类似,示例: PUT