7、Json文件的操作总结【robot framework】

2024-01-30 23:12

本文主要是介绍7、Json文件的操作总结【robot framework】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、JSONLibrary简介

Robot Framework 是一种通用的自动化测试框架,它支持使用关键字驱动的测试,并且易于学习和使用。Robot Framework 提供了丰富的标准库,而 JSONLibrary 就是其中之一,用于处理 JSON 数据。

安装 JSONLibrary

在开始使用 JSONLibrary 之前,首先需要确保它已被正确安装。可以使用 pip 进行安装:

bash

pip install robotframework-jsonlibrary

导入 JSONLibrary

在 Robot Framework 的测试套件中,通过导入 JSONLibrary 来启用对 JSON 数据的处理:

robot

*** Settings ***

Library    JSONLibrary

2、简单用法示例

关键字:Should Be Valid JSON

这个关键字用于验证给定的字符串是否是有效的 JSON 数据:

robot

*** Test Cases ***

Check If Valid JSON

    ${json_string}    Set Variable    {"key": "value"}

    Should Be Valid JSON    ${json_string}

在上述例子中,我们设置了一个 JSON 字符串,并使用 Should Be Valid JSON 来验证它是否有效。

关键字:Get Value From Json

这个关键字用于从 JSON 数据中获取特定键的值:

robot

*** Test Cases ***

Get Value From JSON

    ${json_string}    Set Variable    {"name": "John", "age": 30}

    ${name}    Get Value From Json    ${json_string}    name

    Log    Name: ${name}

在上述例子中,我们通过 Get Value From Json 关键字获取了 JSON 数据中键为 name 的值。

关键字:Should Match Json

这个关键字用于验证两个 JSON 字符串是否匹配:

robot

*** Test Cases ***

Check JSON Matching

    ${expected}    Set Variable    {"name": "John", "age": 30}

    ${actual}    Set Variable    {"name": "John", "age": 30}

    Should Match Json    ${actual}    ${expected}

在上述例子中,我们使用 Should Match Json 关键字验证了两个 JSON 字符串是否匹配。

3、进阶 JSON 数据操作

JSONLibrary 提供了一些关键字,可以进行更复杂的 JSON 数据操作,包括更新、删除等。以下是一些关键字的使用示例:

关键字:Update Value In Json

这个关键字用于更新 JSON 数据中指定键的值:

robot

*** Test Cases ***

Update JSON Value

    ${json_string}    Set Variable    {"name": "John", "age": 30}

    ${updated_json}    Update Value In Json    ${json_string}    age    31

    Should Not Be Equal As Strings    ${json_string}    ${updated_json}

在上述例子中,我们使用 Update Value In Json 关键字将 JSON 数据中键为 age 的值从 30 更新为 31。

关键字:Remove Member From Json

这个关键字用于从 JSON 数据中删除指定键:

robot

*** Test Cases ***

Remove JSON Member

    ${json_string}    Set Variable    {"name": "John", "age": 30}

    ${json_after_removal}    Remove Member From Json    ${json_string}    age

    Should Not Contain    ${json_after_removal}    age

在上述例子中,我们使用 Remove Member From Json 关键字删除了 JSON 数据中的键 age。

关键字:Set Value In Json

这个关键字用于设置 JSON 数据中指定键的值,如果键不存在,则创建该键:

robot

*** Test Cases ***

Set Value In JSON

    ${json_string}    Set Variable    {"name": "John"}

    ${updated_json}    Set Value In Json    ${json_string}    age    30

    Should Not Be Equal As Strings    ${json_string}    ${updated_json}

在上述例子中,我们使用 Set Value In Json 关键字设置了 JSON 数据中键为 age 的值为 30。

4、JSON 文件的打开、修改与保存

robot

*** Settings ***

Library    JSONLibrary

*** Test Cases ***

Read and Modify JSON

    ${json_data}=    Get File    path/to/your/file.json

    Log    Original JSON: ${json_data}

   

    ${value}=    Get Value From JSON    ${json_data}    $.company

    Log    Company Name: ${value}

   

    ${modified_json}=    Set Value To JSON    ${json_data}    $.company    NewCompanyName

    Log    Modified JSON: ${modified_json}

   

    Save JSON To File    ${modified_json}    path/to/your/modified_file.json

在这个例子中:

    使用 Get File 关键字读取 JSON 文件的内容。

    使用 Get Value From JSON 关键字根据 JSONPath 表达式获取特定字段的值。

    使用 Set Value To JSON 关键字修改 JSON 文件的特定字段的值。

    使用 Save JSON To File 关键字保存修改后的 JSON 数据到新的文件中。

请确保根据你的实际 JSON 结构和需求,调整 JSONPath 表达式和要修改的字段值。JSONLibrary 还提供了其他关键字,如 Get Keys From JSON、Remove From JSON 等,可以根据需要进行使用。

5、遍历查找更新json文件的内容

在这个例子中:

  1. 使用 Get File 关键字读取 JSON 文件的内容。
  2. 使用 Traverse and Update 自定义关键字进行 JSON 数据的遍历。
  3. 在遍历过程中,使用 Get Value From JSON 获取键值对应的值。
  4. 如果值为 'old_value',则使用 Set Value To JSON 更新为 'new_value'。
  5. 如果值为字典(dictionary),则递归调用 Traverse and Update 关键字。

*** Settings ***

Library    JSONLibrary

*** Variables ***

${json_file}    path/to/your/file.json

*** Test Cases ***

Traverse and Update JSON

    ${json_data}=    Get File    ${json_file}

    ${modified_json}=    Call Method    Traverse and Update    ${json_data}

    Save JSON To File    ${modified_json}    path/to/your/updated_file.json

*** Keywords ***

Traverse and Update

    [Arguments]    ${json_data}

    Log    Traversing and updating JSON...

    :FOR    ${key}    IN    @{json_data.keys()}

    \    ${value}=    Get Value From JSON    ${json_data}    ${key}

    \    Run Keyword If    '${value}' == 'old_value'    Set Value To JSON    ${json_data}    ${key}    new_value

    \    Run Keyword If    '${value}' is dictionary    Run Keyword    Traverse and Update    ${value}

    [Return]    ${json_data}

这篇关于7、Json文件的操作总结【robot framework】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/661854

相关文章

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

Python操作PDF文档的主流库使用指南

《Python操作PDF文档的主流库使用指南》PDF因其跨平台、格式固定的特性成为文档交换的标准,然而,由于其复杂的内部结构,程序化操作PDF一直是个挑战,本文主要为大家整理了Python操作PD... 目录一、 基础操作1.PyPDF2 (及其继任者 pypdf)2.PyMuPDF / fitz3.Fre

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

MySQL 强制使用特定索引的操作

《MySQL强制使用特定索引的操作》MySQL可通过FORCEINDEX、USEINDEX等语法强制查询使用特定索引,但优化器可能不采纳,需结合EXPLAIN分析执行计划,避免性能下降,注意版本差异... 目录1. 使用FORCE INDEX语法2. 使用USE INDEX语法3. 使用IGNORE IND

详解MySQL中JSON数据类型用法及与传统JSON字符串对比

《详解MySQL中JSON数据类型用法及与传统JSON字符串对比》MySQL从5.7版本开始引入了JSON数据类型,专门用于存储JSON格式的数据,本文将为大家简单介绍一下MySQL中JSON数据类型... 目录前言基本用法jsON数据类型 vs 传统JSON字符串1. 存储方式2. 查询方式对比3. 索引

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

Python使用openpyxl读取Excel的操作详解

《Python使用openpyxl读取Excel的操作详解》本文介绍了使用Python的openpyxl库进行Excel文件的创建、读写、数据操作、工作簿与工作表管理,包括创建工作簿、加载工作簿、操作... 目录1 概述1.1 图示1.2 安装第三方库2 工作簿 workbook2.1 创建:Workboo

MySQL 8 中的一个强大功能 JSON_TABLE示例详解

《MySQL8中的一个强大功能JSON_TABLE示例详解》JSON_TABLE是MySQL8中引入的一个强大功能,它允许用户将JSON数据转换为关系表格式,从而可以更方便地在SQL查询中处理J... 目录基本语法示例示例查询解释应用场景不适用场景1. ‌jsON 数据结构过于复杂或动态变化‌2. ‌性能要