如何从插件读取、更新和替换 Web 测试中的 "String body" 字段?
How do I read, update and replace a "String body" field in a web test from a plugin?
我记录的网络性能测试有几个 "String body" 字段,我需要在 运行 时间从网络测试请求插件中修改它们的内容。
"String body" 字段不能直接从 PreRequestEventArgs
的各个字段和子字段中获得。
如何将 "String body" 字段读出到 string
中,并在修改后写回?
要读出 "String body" 字段,请将请求正文转换为 StringHttpBody
,从而使字符串可用。要将其写回,请创建一个新的 StringHttpBody
对象以包含更新后的字符串,然后将其写入请求。
我需要使用插件修改网络性能测试中请求的 "String body" 字段。我可以使用以下代码访问内容:
public override void PreRequest(object sender, PreRequestEventArgs e)
{
if ( e.Request.Body == null ) { return; }
StringHttpBody httpBody = e.Request.Body as StringHttpBody;
if ( httpBody == null ) { return; }
string body = httpBody.BodyString;
string updatedBody = UpdateBody(body);
StringHttpBody newBody = new StringHttpBody();
newBody.BodyString = updatedBody;
e.Request.Body = newBody;
}
我记录的网络性能测试有几个 "String body" 字段,我需要在 运行 时间从网络测试请求插件中修改它们的内容。
"String body" 字段不能直接从 PreRequestEventArgs
的各个字段和子字段中获得。
如何将 "String body" 字段读出到 string
中,并在修改后写回?
要读出 "String body" 字段,请将请求正文转换为 StringHttpBody
,从而使字符串可用。要将其写回,请创建一个新的 StringHttpBody
对象以包含更新后的字符串,然后将其写入请求。
我需要使用插件修改网络性能测试中请求的 "String body" 字段。我可以使用以下代码访问内容:
public override void PreRequest(object sender, PreRequestEventArgs e)
{
if ( e.Request.Body == null ) { return; }
StringHttpBody httpBody = e.Request.Body as StringHttpBody;
if ( httpBody == null ) { return; }
string body = httpBody.BodyString;
string updatedBody = UpdateBody(body);
StringHttpBody newBody = new StringHttpBody();
newBody.BodyString = updatedBody;
e.Request.Body = newBody;
}