当前位置: 首页 > 面试题库 >

如何捕获在Jmeter中使用JavaScript创建的动态值

苏承载
2023-03-14
问题内容

我正在尝试运行JMeter脚本,但登录失败。原因是,密码是使用RSA算法(即使用javascript)进行加密的。因此在录制时保存的密码将无法使用,并且由于使用JMeter不支持的javascript对其进行加密,因此无法获得加密密码的动态值。由于运行时使用javascript,因此我无法使用正则表达式查找响应数据,因为这不是响应的一部分。

我试图登录到Tableau报表服务器。


问题答案:

使用NEOLOAD时遇到相同的问题,因此在Auth POST之前包含以下脚本。

// Get variable value from VariableManager
var doLoginIDString = context.variableManager.getValue("doLoginID");
if (doLoginIDString==null) {
    context.fail("Variable 'doLoginID' not found");
}

logger.debug("doLoginIDString="+doLoginIDString);

var rsa = new RSAKey();
rsa.setPublic(doLoginIDString,'10001');
var res = rsa.encrypt('<USER_PASSWORD>');
logger.debug("encrypted_var= "+res);
if (res) {
     context.variableManager.setValue("crypted_Password",res);
}

VariableManager是一个NEOLOAD变量管理器:)

“ doLoginID”是我根据服务器传递的字符串创建的变量,以供您使用密码进行加密。该字符串可以在LoginPage的源代码中找到。

“ crypted_Password”是我为POST加密参数创建的变量。

当您访问登录页面时,从服务器下载的.js文件中包含RSAKey(),setPublic()和crypto()。我只是将这些文件包含在我的项目的库中,并且可以正常工作。

我不知道与JMeter是否相同,但是希望这可以帮助您了解需要做什么。



 类似资料:
  • 我试图从字符串数组中创建一个新对象,但无法正确创建所需的对象。 我正在尝试创建一个对象,比如: 这是我的代码: null null

  • 问题内容: 我需要在JavaScript中动态创建CSS样式表类,并将其分配给一些HTML元素(例如div,table,span,tr等)以及一些控件(例如asp:Textbox,Dropdownlist和datalist)。 可能吗? 一个样本很好。 问题答案: 尽管我不确定为什么要使用JavaScript创建CSS类,但这是一个选择:

  • 我试图使用wro4j创建这个基础结构,用户可以通过它来决定绑定哪些js文件,只需编辑模板,而不需要接触任何Java代码。因此,像http://.../bundle/scrip1.js/scrip2.js/script3.js/script4.js这样的请求将返回一个按要求顺序包含所有四个脚本的包。 但是,必须事先以xml或自定义WroModelFactory实现指定具有资源的组,这仍然不能提供足够

  • 本文向大家介绍JavaScript如何动态创建table表格,包括了JavaScript如何动态创建table表格的使用技巧和注意事项,需要的朋友参考一下 两种JavaScript动态创建table表格的方法,分享给大家,具体实现如下 方法一:最原始的方法,创建一一元素 方法二:利用table对象里面含有的函数:插入行和插入列 动态的创建和删除: 创建表格,通过输入的值: 删除行: 删除列: 完整

  • 我有多个动态json模板如下 JSON 1 JSON 2 JSON 3 我想在运行时将它们隐藏到JAVA对象中,即在编译时不创建POJO。这可能吗?如果是,如何做到这一点? 我尝试使用Jackson lib将json转换为对象(对象类),但如何创建通用POJO,或者如何使用setter-getter动态创建POJO?

  • 有一些通过rest API公开的CRUD性能测试,rest API将测试名称作为参数。每次创建新的测试时,都必须创建一个新的JMeter文件来命中此endpoint。我不能使用一个Jmeter脚本来运行所有测试,因为使用Jmeter输出的报告框架使用单个Jmeter文件来显示输出-Jmeter fileName Vs Time。除了三个参数外,JMeter脚本的配置都是相同的。是否有一种方法可以自