jmeter - loadrunner的truclient协议中如何调用外部API
问题描述
我正在使用 truclient 协议录制脚本。在我的脚本中,我需要从外部调用生成密码的 API。使用关联关系获取密码,用作登录的输入。但是,我无法使用真正的客户端协议调用外部 API。有人可以建议如何在真正的客户端协议中调用外部 API。
解决方案
您是否尝试过评估 JavaScript 步骤?您可以将消息发布到服务器并在运行时获取生成的密码。Chrome 和 Firefox 应该支持 XHR 和 fetch API,TCIE 应该支持 XHR。
当然。请查看详细步骤:
从 TruClient 拖放评估 JS 步骤
打开脚本编辑器
添加这些代码,确保使用同步 XHR 以确保在结束步骤开始之前返回密码:
var xhr = new XMLHttpRequest(); xhr.open("POST", '/server', false);
//随请求一起发送正确的头部信息 xhr.setRequestHeader("xxx", "value"); xhr.send();
if (this.status === 200) { // 请求完成。在这里进行处理。} var 密码 = xhr.response;
将登录密码步骤从纯文本更改为 JS 并使用
ArgsContext.password
参考之前收到的密码。
如果您还有其他问题,请告诉我。如何使用您可以参考此链接的参数上下文。
顺便提一句。页面的窗口和文档对象可以在 TruClient 中通过 AUT.window、AUT.document 引用。
请从这里查看帮助文档。
推荐阅读
- android - 通过房间库选择多桩柱
- r - R 两个地块叠加
- mysql - MySQL - 从 2 个不同的表和分组结果中选择 product_id
- android - Android Socket、AsyncTask、Handler 内存泄漏
- python - 应用 groupby 后如何在数据框中添加一列
- google-app-engine - Google Cloud Platform 上的 ndb 查询间歇性地不返回任何内容
- android - gradle 无法在 flutter 中构建
- java - FlowLayout 内的 Java FlowLayout
- c# - MySql DataReader:读取多条记录
- powershell - 如何使用远程机器任务调度程序中的 get-scheduledTasks 过滤某些特定任务