百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

python自动化RobotFramework中Collections字典关键字使用(五)

off999 2025-09-06 10:13 4 浏览 0 评论

前言介绍

安装好robotframework库后,跟之前文章介绍的BuiltIn库一样BuiltIn库使用介绍,在“python安装目录\Lib\site-packages\robot\libraries”中有一个常用库Collections.py,主要用于操作列表和字典。

打开客户端ride后,BuiltIn模块是默认导入,可直接使用,而其他模块或者第三方模块/包都需要import才能被使用。

我们可以在测试套件和resource文件中导入这些模块或者包,两者导入的方式是一样的。区别是在Suite中导入,该Suite内的测试用例可以直接使用导入的关键字;如果是在resource文件中导入,那么Suite需要再导入resource文件才能使用这些关键字。

该文章主要介绍在Suite中导入Collections模块的字典相关关键字的使用

在测试套件Suite中导入Collections

选中Suite(创建时选择Type为File类型;如果是Directory类型,导入库后用例不能使用导入的关键字),在右侧编辑区域可以看到有个按钮“Library”

点击“Library”按钮,在弹出的对话框中填入Collecitons(ride可以自动找到该库的目录),点击OK。

导入成功后选择“Tools->Search Keywords”,可以看到source为Collections的各类关键字。


2、字典类关键字介绍

关键字

描述

Convert To Dictionary

将传入的对象转换为字典,代码如dict(item)。这个关键字很少使用,因为对传入类型有特殊要求,并不是传入一个列表或者元组就能转换字典

Copy Dictionary

复制字典,如果参数deepcopy

为True,使用深拷贝模式copy.deepcopy(list),新列表的修改不会影响到传入的列表

Dictionary Should Contain Sub Dictionary

检查字典1是否包含字典2的所有key:value组合,也就是字典2是不是字典1的子字典

Dictionary Should Contain Item

检查字典是否包含传入的key和value

Dictionary Should Contain Key

检查字典是否包含传入的key

Dictionary Should Contain Value

检查字典是否包含传入的value

Dictionaries Should Be Equal

检查两个字典是否相等

Dictionary Should Not Contain Key

检查字典是否不包含传入的key

Dictionary Should Not Contain Value

检查字典是否不包含传入的value

Get Dictionary Items

获取字典的所有kev,value,默认返回排序后的列表。配置参数sort_keys=False,则不排序。

Get Dictionary Keys

获取字典的所有keys, 代码如dictionary.keys(),默认返回排序后的列表。配置参数sort_keys=False,则不排序。

Get Dictionary Values

获取字典的所有values, 代码如dictionary.values(),默认返回排序后的列表。配置参数sort_keys=False,则不排序。

Get From Dictionary

获取字典中传入key对应的value值。

Keep In Dictionary

保留字典中给定范围的key,去掉不包含在内的key。

Log Dictionary

打印字典

Pop From Dictionary

删除传入的字典中的key,并返回移除的key对应的value值

Remove From Dictionary

删除传入的字典中的key

Set To Dictionary

在字典中添加key和value

以上面的几个关键字 我们举例介绍:

  1. Convert To Dictionary

通过evaluate函数和zip函数实现将两个列表转为一个字典。

在TextEdit编辑区域如下,可直接拷贝使用。

*** Settings ***

Suite Setup log 测试套件开始执行

Suite Teardown log 测试套件结束执行

Test Setup log 测试用例开始执行

Test Teardown log 测试用例结束执行

Force Tags Suite

Library Collections

*** Test Cases ***

case2

[Tags] Test2

${list1} create list apple banana peat

${list2} create list apple banana peat

${item} evaluate zip(${list1},${list1})

${Dict1} Convert To Dictionary ${item}

log ${Dict1}

用例执行后,点击report看下报告如下

2、Keep In Dictionary

在Text Edit页签中内容如下:

*** Settings ***

Suite Setup log 测试套件开始执行

Suite Teardown log 测试套件结束执行

Test Setup log 测试用例开始执行

Test Teardown log 测试用例结束执行

Force Tags Suite

Library Collections

*** Test Cases ***

case2

[Tags] Test2

${list1} create list apple banana pear

${list2} create list apple banana pear

${item} evaluate zip(${list1},${list1})

${Dict1} Convert To Dictionary ${item}

log ${Dict1}

Keep In Dictionary ${Dict1} apple banana orange

log ${Dict1}

用例执行后,点击report看下报告如下:移除了不在范围的pear。


其他库


在robotframework库的安装目录/robot/libraries下,当然还有很对其他的一些库,只是没有默认加载,大家可以在使用时选择import导入这些库。

Dialogs:提供了暂停测试执行和从用户的输入方式

OperatingSystem:允许执行各种操作系统相关功能

Remote:远程库接口库,可实现调用其他机器上的关键字

Screenshot:提供关键字来捕获和存储桌面的截图

String:用于生成、修改和验证字符串的库

Telnet:支持连接到Telnet服务器的库

XML:用于生成、修改和验证XML文件的库

Process:系统中运行过程的库

DateTime:日期和时间转换的库,支持创建和验证日期和时间值以及它们之间的计算


总结:没有举例的关键字,请大家在线下多操作和练习,这样会更清楚这些列表相关的关键字的作用和实现,当然也就可以直接看python的代码实现。


共勉: 东汉·班固《汉书·枚乘传》:“泰山之管穿石,单极之绠断干。水非石之钻,索非木之锯,渐靡使之然也。”

-----指水滴不断地滴,可以滴穿石头;

-----比喻坚持不懈,集细微的力量也能最终克服万难,迎来成功。

相关推荐

Python设计模式 第 13 章 中介者模式(Mediator Pattern)

在行为型模式中,中介者模式是解决“多对象间网状耦合”问题的核心模式。它就像“机场调度中心”——多个航班(对象)无需直接沟通起飞、降落时间,只需通过调度中心(中介者)协调,避免航班间的冲突与混乱...

1.3.1 python交互式模式的特点和用法

什么是Python交互模式Python交互模式,也叫Python交互式编程,是一种在Python解释器中运行的模式,它允许用户在解释器窗口中输入单个Python语句,并立即查看结果,而不需要编写整个程...

Python设计模式 第 8 章 装饰器模式(Decorator Pattern)

在结构型模式中,装饰器模式是实现“动态功能扩展”的核心模式。它就像“手机壳与手机的关系”——手机(原始对象)具备通话、上网等基础功能,手机壳(装饰器)可在不改变手机本身的前提下,为其新增保护、...

python设计模式 综合应用与实战指南

经过前面16章的学习,我们已系统掌握创建型模式(单例、工厂、建造者、原型)、结构型模式(适配器、桥接、组合、装饰器、外观、享元、代理)、行为型模式(责任链、命令、迭代器、中介者、观察者、状态、策略...

Python入门学习教程:第 16 章 图形用户界面(GUI)编程

16.1什么是GUI编程?图形用户界面(GraphicalUserInterface,简称GUI)是指通过窗口、按钮、菜单、文本框等可视化元素与用户交互的界面。与命令行界面(CLI)相比,...

Python 中 必须掌握的 20 个核心:str()

str()是Python中用于将对象转换为字符串表示的核心函数,它在字符串处理、输出格式化和对象序列化中扮演着关键角色。本文将全面解析str()函数的用法和特性。1.str()函数的基本用法1.1...

Python偏函数实战:用functools.partial减少50%重复代码的技巧

你是不是经常遇到这样的场景:写代码时同一个函数调用了几十次,每次都要重复传递相同的参数?比如处理文件时总要用encoding='utf-8',调用API时固定传Content-Type...

第2节.变量和数据类型【第29课-输出总结】

同学们,关于输出的知识点讲解完成之后,把重点性的知识点做一个总结回顾。·首先对于输出这一章节讲解的比如有格式化符号,格式化符号这里需要同学们额外去多留意的是不是百分号s格式化输出字符串。当然课上也说百...

AI最火语言python之json操作_python json.loads()

JSON(JavaScriptObjectNotation,JavaScript对象表示法)是一种开放标准的文件格式和数据交换格式,它易于人阅读和编写。JSON是一种常用的数据格式,比如对接各种第...

python中必须掌握的20个核心函数—split()详解

split()是Python字符串对象的方法,用于将字符串按照指定的分隔符拆分成列表。它是文本处理中最常用的函数之一。一、split()的基本用法1.1基本语法str.split(sep=None,...

实用方法分享:pdf文件分割方法 横向A3分割成纵向A4

今天在街上打印店给儿子打印试卷时,我在想:能不能,把它分割成A4在家中打印,这样就不需要跑到街上的打印店打印卷子了。原来,老师发的作业,是电子稿,pdf文件,A3格式的试卷。可是家中的打印机只能打印A...

20道常考Python面试题大总结_20道常考python面试题大总结免费

20道常考Python面试题大总结关于Python的面试经验一般来说,面试官会根据求职者在简历中填写的技术及相关细节来出面试题。一位拿了大厂技术岗SpecialOffer的网友分享了他总结的面试经...

Kotlin Data Classes 快速上手_kotlin快速入门

引言在日常开发中,我们常常需要创建一些只用来保存数据的类。问题是,这样的类往往需要写一堆模板化的方法:equals()、hashCode()、toString()……每次都重复,既枯燥又容易出错。//...

python自动化RobotFramework中Collections字典关键字使用(五)

前言介绍安装好robotframework库后,跟之前文章介绍的BuiltIn库一样BuiltIn库使用介绍,在“python安装目录\Lib\site-packages\robot\librarie...

Python中numpy数据分析库知识点总结

Python中numpy数据分析库知识点总结二、对已读取数据的处理②指定一个值,并对该值双边进行修改③指定两个值,并对第一个值的左侧和第二个值的右侧进行修改2.4数组的拼接和行列交换①竖直拼接(np...

取消回复欢迎 发表评论: