JMeter-需要提交POST数据,但我只希望修改单个字段

JMeter-需要提交POST数据,但我只希望修改单个字段,jmeter,Jmeter,我正在运行一些JMeter测试来编辑一个字段。如果我使用JMeterHTTP(S)测试脚本记录器,我可以获得页面的精确表示和我所做的编辑 它为页面上的每个字段、复选框和下拉列表创建一个HTTP POST请求,并带有一个参数。我只关心修改其中一个 我的问题是,我不能从POST数据中删除所有其他参数,因为页面将其解释为我从页面中删除了所有参数(然后抱怨缺少数据)。因此,我只剩下尝试获取剩余可编辑字段和复选框的当前值,以便在只想修改单个字段时可以重新提交它们 例如,假设我正在提交一些包含姓名、电子邮件

我正在运行一些JMeter测试来编辑一个字段。如果我使用JMeterHTTP(S)测试脚本记录器,我可以获得页面的精确表示和我所做的编辑

它为页面上的每个字段、复选框和下拉列表创建一个HTTP POST请求,并带有一个参数。我只关心修改其中一个

我的问题是,我不能从POST数据中删除所有其他参数,因为页面将其解释为我从页面中删除了所有参数(然后抱怨缺少数据)。因此,我只剩下尝试获取剩余可编辑字段和复选框的当前值,以便在只想修改单个字段时可以重新提交它们

例如,假设我正在提交一些包含姓名、电子邮件和地址字段的用户数据。我想通过在名称末尾添加1来更改名称,并保留其他两个字段的原样

我的想法是:

1) 使用XPath尝试获取页面上显示的值,将它们全部存储在变量中,然后在post请求中重新提交它们。这是混乱的,也是非常困难的,因为页面显示在弹出窗口中,增加了复杂性

2) 查询数据库中的所有信息并重新提交。看起来开销很大,加上数据不是免费的。。我不想这么做

3) 使用我不知道的JMeter的其他元素从页面获取特定元素数据。也许是我还没弄明白的听众?如果我可以从页面中提取参数并保存它们,那将非常方便

4) 以某种方式提交一个只有一个字段的POST请求,指定我不希望清除其余字段,我只想让它们单独存在。我可以坦率地承认,我对web应用程序不是非常熟悉,因此可能有一个非常明显的原因说明为什么不能做到这一点(或者这取决于应用程序后端如何处理它)


想法?

从整篇文章中,我了解到您想要参数化一个字段,每次传递不同的值

如果我的理解是正确的,答案在于,您可以从CSV文件中传递值

从你的例子来看:

例如,假设我正在提交一些带有字段的用户数据 姓名、电子邮件和地址。我想通过向中添加1来更改名称 结束它并保持其他两个字段不变

为实现这一目标:

步骤如下:

  • 创建一个csv文件。填写以下姓名:
    名称
    名称1
    姓名2
    名字3
    名称4
  • 名称
    为列标题,其余为值
  • 将CSV数据集配置添加到测试计划中
  • 指定文件路径
  • httppost
    请求中name字段中的值替换为
    ${names}
    。就这样

  • 从整篇文章中,我了解到您想要参数化一个字段,每次传递不同的值

    如果我的理解是正确的,答案在于,您可以从CSV文件中传递值

    从你的例子来看:

    例如,假设我正在提交一些带有字段的用户数据 姓名、电子邮件和地址。我想通过向中添加1来更改名称 结束它并保持其他两个字段不变

    为实现这一目标:

    步骤如下:

  • 创建一个csv文件。填写以下姓名:
    名称
    名称1
    姓名2
    名字3
    名称4
  • 名称
    为列标题,其余为值
  • 将CSV数据集配置添加到测试计划中
  • 指定文件路径
  • httppost
    请求中name字段中的值替换为
    ${names}
    。就这样

  • 不幸的是,我事先不知道这些价值观。我需要加载页面,获取页面上已经存在的所有值,更改其中一个,然后重新提交所有值。然后您只需使用“正则表达式提取器”关联这些值,它允许您在响应上应用正则表达式,并将所需值保存到变量(比如id)中,稍后,您可以使用变量名替换发送到的任何位置的值。请在谷歌上搜索Jmeter相关性,你会找到许多要完成的链接。这听起来不错,在大多数情况下可能都会奏效。不幸的是,在我的设置中,这些字段中存在的数据不是文本。就是在这个设置中,您开始键入内容,并根据您的输入提供一个选择列表。当你点击一个按钮时,它会变成一种按钮。在HTML中,有一个简单的“只有两个数据源。如果客户端生成(使用js等)数据,则使用参数化。如果服务器将数据发送给客户端,则使用关联。因此,我们的工作是找到数据源,并使用参数化(使用CSV提供多个值)或关联(使用正则表达式提取器)。希望有帮助。遗憾的是,我无法提前知道这些值。我需要加载页面,获取页面上已经存在的所有值,更改其中一个,然后重新提交所有值。然后您只需使用“正则表达式提取器”关联这些值,它允许您在响应上应用正则表达式,并获取所需的值转换为变量(如id)因此,以后您可以使用变量名替换发送到的任何位置的值。请在Google中搜索Jmeter Correlation,您将找到许多要完成的链接。这听起来不错,并且可能在大多数情况下都有效。不幸的是,在我的设置中,这些字段中存在的数据不是文本。正是在这个设置中,您开始键入nd它根据您的输入提供一个选择列表。当您单击其中一个时,它会变成一种按钮。在HTML中,只有一个“只有两个数据源。如果客户端生成