百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

python自动化RobotFramework中Collections列表关键字使用(四)

toyiye 2024-06-23 18:37 14 浏览 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、列表类关键字介绍

关键字

描述

Append To List

在列表尾部添加元素,代码如list.append()

Combine Lists

合并多个列表并返回一个新列表

Convert To List

将可迭代对象转换为列表,代码如list(item)

Copy List

复制列表,如果参数deepcopy

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

Count Values In List

返回列表中某个值出现的次数,默认是遍历全列表,也可以带上start和end参数指定需要遍历的index的范围。

Get From List

返回某个index位置的值

Get Index From List

返回列表中某个值的index,默认是遍历全列表,也可以带上start和end参数指定需要遍历的index的范围。

Get Match Count

返回跟传入参数相匹配的元素的个数,传入的参数为带*的字符串(示例中的a.*)或者以regexp=开头的正则表达式(示例中的regexp=a.*)

Get Matches

返回跟传入参数相匹配的元素,传入的参数为带*的字符串(示例中的a.*)或者以regexp=开头的正则表达式(示例中的regexp=a.*)

Get Slice From List

返回index位于start和end位置的切片数据

Insert Into List

往列表中某个位置插入元素

List Should Contain Sub List

检查列表1是否包含列表2的所有元素,也就是列表2是不是列表1的子列表

List Should Contain Value

检查元素是否在列表中

List Should Not Contain Duplicates

检查列表是否不包含重复元素

List Should Not Contain Value

检查元素是否不在列表中

Lists Should Be Equal

检查两个列表是否相等

Log List

打印列表

Remove Duplicates

从列表中移除重复元素,并返回移除后的列表

Remove From List

从列表中移除某个index的元素并返回该元素

Remove Values From List

从列表中移除传入的多个元素

Reverse List

反转列表(从后往前排序)

Set List Value

设置列表的index位置的元素值,例如list[0]=11

Should Contain Match

判断列表是否与传入参数相匹配,传入的参数为带*的字符串(示例中的a.*)或者以regexp=开头的正则表达式(示例中的regexp=a.*)

Should Not Contain Match

判断列表是否与传入参数不匹配,传入的参数为带*的字符串(示例中的a.*)或者以regexp=开头的正则表达式(示例中的regexp=a.*)

Sort List

将列表排序

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

1、Should Contain Match

在Text Edit页签中内容如下:

*** Settings ***

Suite Setup log 测试套件开始执行

Suite Teardown log 测试套件结束执行

Test Setup log 测试用例开始执行

Test Teardown log 测试用例结束执行

Force Tags Suite

Library Collections

*** Test Cases ***

Case1

[Tags] Test1

${List1} create list apple banana peat

Should Contain Match ${List1} a*

Should Contain Match ${List1} c*

用例执行后,点击report看下报告如下:用例中第二个断言会失败。

2、Get Match Count 和 Remove Duplicates

在Text Edit页签中内容如下:

*** Settings ***

Suite Setup log 测试套件开始执行

Suite Teardown log 测试套件结束执行

Test Setup log 测试用例开始执行

Test Teardown log 测试用例结束执行

Force Tags Suite

Library Collections

*** Test Cases ***

Case1

[Tags] Test1

${List1} create list apple banana peat banana

#获取匹配元素的个数

${count} Get Match Count ${List1} b*

log ${count}

#移除重复元素

${List2} Remove Duplicates ${List1}

Log List ${List2}

用例执行后,点击report看下报告如下,打印出我们期望得到的值。

总结

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


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

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

-----比喻坚持不懈,集细微的力量也能成就难能的

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码