Python3 Robot Framework CustomLibrary 封装系统关键字(使用自定义函数)

本文档描述了如何创建一个简单的Python脚本并将其导入到RIDE环境中。在创建了一个名为helloworld.py的文件后,脚本定义了一个名为hi的函数,用于打印问候语。然而,在RIDE中导入该脚本时出现错误,表现为红色标记,提示可能存在语法错误。检查启动RIDE的终端输出以获取更多错误信息,并通过F5尝试运行脚本来定位问题。

1.创建一个python文件,确认能够执行,放入任意一个目录(如C:\CustomLibrary\helloworld.py)。

# -*- coding:utf-8 -*-

def hi(name):
    u'''接收一个名字,并问候.例如
    | hi  | xiaoming        | 
    '''
    print('Hello, ' + name + '!')

if __name__ == "__main__":
    name = u'xiaoming'
    hi(name)

2.在RIDE里导入,导致后显示红色表示失败,查看是否是语法错误(启动ride.py的终端里有提示)

 3.按F5快捷键能看到导入的库

 4.使用

 5.执行结果

Robot Framework 中,开发自定义系统关键字是一种扩展测试框架功能的重要方式。自定义关键字可以通过 Python 类和函数实现,并支持关键字封装与复用。以下是一个完整的开发和使用流程: ### 自定义关键字的实现方式 1. **通过 Python 类定义关键字**: 在 Robot Framework 中,可以通过定义 Python 类来实现关键字。类中的方法将被视为关键字,并且可以设置关键字的文档说明和参数。例如,定义一个 `Count` 类,其中包含两个方法 `add` 和 `sub`,分别用于实现加法和减法操作: ```python class Count(object): def add(self, a, b): '''用于计算a、b两数相加的结果,例: | add | a | b |''' return int(a) + int(b) def sub(self, a, b): '''用于计算a、b两数相减的结果,例: | sub | a | b |''' return int(a) - int(b) ``` 2. **设置关键字库的作用范围**: Robot Framework 支持通过 `ROBOT_LIBRARY_SCOPE` 属性定义关键字库的作用范围。作用范围可以是 `GLOBAL`(全局共享)、`SUITE`(每个测试套件独立)或 `TEST`(每个测试用例独立)。例如,设置关键字库的作用范围为 `GLOBAL`: ```python class MyLibrary(Count): ROBOT_LIBRARY_SCOPE = 'GLOBAL' ``` 3. **关键字的文档说明**: 每个关键字可以通过方法的文档字符串(docstring)提供描述信息,这些信息在 Robot Framework 的测试脚本中会显示为提示。例如,在 `add` 方法中定义的文档字符串会作为关键字的描述。 ### 关键字的注册与使用 1. **关键字库的安装**: 自定义关键字库需要打包并安装到 Python 的 `site-packages` 目录中。例如,创建一个名为 `MyLibrary` 的文件夹,并在其中放置 `count.py` 和 `__init__.py` 文件: - `count.py` 包含关键字的实现。 - `__init__.py` 用于将文件夹注册为 Python 模块。 ```python # MyLibrary/__init__.py from MyLibrary.count import Count __version__ = '1.0' class MyLibrary(Count): ROBOT_LIBRARY_SCOPE = 'GLOBAL' ``` 2. **关键字库的导入**: 在 Robot Framework 测试脚本中,可以通过 `Library` 关键字导入自定义关键字库。例如: ```robotframework *** Settings *** Library MyLibrary ``` 3. **关键字的调用**: 导入关键字库后,可以直接在测试用例中调用关键字。例如: ```robotframework *** Test Cases *** Test Addition ${result} = Add 2 3 Should Be Equal ${result} 5 ``` ### 关键字的调试与验证 1. **关键字的调试**: 在开发过程中,可以通过 Python 的 `__main__` 方法测试关键字的功能。例如,在 `count.py` 中添加以下代码: ```python if __name__ == "__main__": c = Count() result = c.add(1, 2) print(result) assert result == 3 ``` 2. **关键字的查看**: 在 RIDE(Robot Framework 开发工具)中,按 `F5` 可以查看关键字库中定义的所有关键字及其描述。 ### 自定义关键字的优势 - **可复用性**:关键字可以被多个测试用例和测试套件共享。 - **可维护性**:通过封装常用操作,可以减少代码重复并提高可维护性。 - **扩展性**:通过自定义关键字,可以灵活扩展 Robot Framework 的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值