关于robotframework中post传参数,如何传参数(学习记录分享)

本文主要帮助新手掌握传参方法。介绍了在有id输入需求时,在Arguments里写入${id};使用已取得的token的步骤;固定id值的写法;还指出传参时用params=传入参数值,而非网上常见的data=传入参数值,无token可删相关部分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面:之前看网上传参数几乎都是用的用户名、密码这类参数,其实只要是传参数,大致方法都是相同的。写这篇主要是为了帮助跟自己一样的新手如何传参数。

如下图:

在这里插入图片描述

1.主要看前六行就行了,如果你想传入的id是自己输入的话,记得在Arguments里面写入${id}
2.这里也包含了使用已经取得的token的步骤,如第一行,没有token就不用写
3.第三行就是参数相关,如果你想固定id的值,可以直接写id=你的内容,Arguments就不用写了
4.第五行里的params=需要传入的参数,之前写的是data=传入的参数,一直传不进去,所以还是写params吧

@@@:实在不行,抄我的!!我也是这么过来的~~·

注意一点的是:在传参时,我看网上都是data=传入的参数值,其实根据每个人的不同,我自己是params=传入参数值。用data的时候,报错,说是传入的参数不对。其实根本就没传进来。我这个是有token的情况,就是有token,进入到其他页面,有id参数的情况。没有token的同学可以删除token部分~~

### RobotFramework 中的接口封装与报文处理 在 RobotFramework 进行接口测试时,通常会涉及到 HTTP 请求发送、响应验证以及数据预处理等内容。为了提高代码可维护性和重用率,对接口操作进行适当封装是非常必要的。 #### 创建自定义库用于接口调用 通过 Python 编写自定义库来实现对请求方法(GET/POST 等)、URL 组装、参数递等功能的抽象化: ```python from robot.api.deco import keyword import requests class ApiLibrary: @keyword('Send Get Request') def send_get_request(self, url, params=None): response = requests.get(url=url, params=params) return response.json() @keyword('Send Post Request With Json Body') def send_post_json_body(self, url, json_data): headers = {'Content-Type': 'application/json'} response = requests.post( url=url, json=json_data, headers=headers ) try: result = response.json() except ValueError as e: raise Exception(f"Failed to parse JSON from POST request: {e}") return result ``` 此部分实现了两个关键字 `Send Get Request` 和 `Send Post Request With Json Body` 来分别执行 GET 和 POST 方法并返回解析后的 JSON 数据[^2]。 #### 处理 Excel 文件中的输入数据 当从 Excel 表格读取的数据为字符串形式而非字典对象时,在将其作为 payload 发送之前需先做转换工作。这里推荐使用 pandas 库简化 CSV 或 XLSX 格式的文件读入过程,并利用 ast.literal_eval 函数安全地评估字符串表达式成为相应的 Python 结构体: ```python import pandas as pd from ast import literal_eval @keyword('Convert String To Dict From File') def convert_str_to_dict_from_file(file_path, sheet_name=0): df = pd.read_excel(io=file_path, sheet_name=sheet_name) converted_dicts = [] for index, row in df.iterrows(): raw_string = row['data_column'] # 假设存在名为"data_column"的一列存储待转JSON串 try: parsed_dict = literal_eval(raw_string.strip()) converted_dicts.append(parsed_dict) except (ValueError, SyntaxError) as err: print(f"Parsing error on line {index}: ", err) return converted_dicts ``` 上述代码片段展示了如何创建一个新的关键字 `Convert String To Dict From File` ,该功能可以从指定路径加载Excel文档并将特定字段内的字符串内容转化为Python字典列表以便后续使用[^4]。 #### 使用 RIDE 工具编写测试案例 安装好RIDE之后可以通过图形界面快速构建基于以上关键词的实际应用场景。下面是一个简单的例子说明怎样组合这些组件完成一次完整的 API 测试流程: ```robotframework *** Settings *** Library Collections Library OperatingSystem Library ./path/to/api_library.py *** Variables *** ${BASE_URL} http://example.com/api/v1/ *** Test Cases *** Test Case Name Here ${dict_list}= Convert String To Dict From File path/to/testcases.xlsx FOR ${item} IN @{dict_list} Send Post Request With Json Body ${BASE_URL}/endpoint ${item} Log Dictionary ${response_content} END ``` 这段脚本首先引入了前面提到过的API库模块,接着声明了一个基础 URL 变量供各个端点拼接之用;最后在一个循环结构内依次取出每条记录并通过 POST 方式提交给服务器,同时打印出服务端反馈的信息日志。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值