在jmeter中加载两个javascript文件后,我无法使用javascript文件的功能
我使用的是jmeter版本5.2.1。为了加载我的javascript文件,我使用jsr223采样器,语言为javascript。 我的问题是,我必须从jmeter登录cognito,而不使用外部phantomjs驱动程序。因此,我导入了用于在cognito上登录的cognito javascript文件,并提供了正确的详细信息。以前,当我通过外部创建的js文件使用phantom js登录时,这段代码工作正常。但在jsr223采样器中移动我的代码时,它给出了错误“AWSCognito”未在中定义。 我还将jsr223采样器的尺寸增加到600,即 jsr223.编译的脚本缓存大小=600 我正在执行以下代码在jmeter中加载两个javascript文件后,我无法使用javascript文件的功能,javascript,jmeter,amazon-cognito,jsr223,Javascript,Jmeter,Amazon Cognito,Jsr223,我使用的是jmeter版本5.2.1。为了加载我的javascript文件,我使用jsr223采样器,语言为javascript。 我的问题是,我必须从jmeter登录cognito,而不使用外部phantomjs驱动程序。因此,我导入了用于在cognito上登录的cognito javascript文件,并提供了正确的详细信息。以前,当我通过外部创建的js文件使用phantom js登录时,这段代码工作正常。但在jsr223采样器中移动我的代码时,它给出了错误“AWSCognito”未在中定义
load("D:/apache-jmeter-5.2.1/bin/aws-cognito-sdk.min.js");
load("D:/apache-jmeter-5.2.1/bin/amazon-cognito-identity.min.js");
//var CognitoUserPool = AmazonCognitoIdentity.CognitoUserPool;
var userData = { user_email: 'test@test.com', user_pw: 'test', UserPoolId: 'test', ClientId: 'test',}
var authenticationData = {
Username : userData.user_email,
Password : userData.user_pw,
};
var authenticationDetails = new AWSCognito.CognitoIdentityServiceProvider.AuthenticationDetails(authenticationData);
var poolData = {
UserPoolId : userData.UserPoolId,
ClientId : userData.ClientId
};
var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
var userData = {
Username : userData.user_email,
Pool : userPool
};
var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);
cognitoUser.authenticateUser(authenticationDetails, {
onSuccess: function (result) {
// console.log('access token + ' + result.getAccessToken().getJwtToken());
//document.getElementById("successAndErrorMessages").innerHTML=result.getAccessToken().getJwtToken();
log.info(result.getAccessToken().getJwtToken());
},
onFailure: function(err) {
log.info(err);
},
});
在执行脚本时,我遇到了以下错误
2020-01-02 10:47:59,037 INFO o.a.j.t.ThreadGroup: Started thread group number 1
2020-01-02 10:47:59,038 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
2020-01-02 10:47:59,039 INFO o.a.j.t.JMeterThread: Thread started: AutomationR&D 1-1
2020-01-02 10:48:00,381 ERROR o.a.j.p.j.s.JSR223Sampler: Problem in JSR223 script JSR223 Sampler (load js)path, message: javax.script.ScriptException: ReferenceError: "AWSCognito" is not defined in <eval> at line number 15
javax.script.ScriptException: ReferenceError: "AWSCognito" is not defined in <eval> at line number 15
at jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:470) ~[nashorn.jar:?]
at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:454) ~[nashorn.jar:?]
at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:406) ~[nashorn.jar:?]
at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:402) ~[nashorn.jar:?]
at jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:155) ~[nashorn.jar:?]
at javax.script.AbstractScriptEngine.eval(Unknown Source) ~[?:1.8.0_221]
at org.apache.jmeter.util.JSR223TestElement.processFileOrScript(JSR223TestElement.java:225) ~[ApacheJMeter_core.jar:5.2.1]
at org.apache.jmeter.protocol.java.sampler.JSR223Sampler.sample(JSR223Sampler.java:71) [ApacheJMeter_java.jar:5.2.1]
at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:627) [ApacheJMeter_core.jar:5.2.1]
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:551) [ApacheJMeter_core.jar:5.2.1]
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:490) [ApacheJMeter_core.jar:5.2.1]
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:257) [ApacheJMeter_core.jar:5.2.1]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_221]
Caused by: jdk.nashorn.internal.runtime.ECMAException: ReferenceError: "AWSCognito" is not defined
at jdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:57) ~[nashorn.jar:?]
at jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:319) ~[nashorn.jar:?]
at jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:291) ~[nashorn.jar:?]
at jdk.nashorn.internal.objects.Global.__noSuchProperty__(Global.java:1442) ~[nashorn.jar:?]
at jdk.nashorn.internal.scripts.Script$1312$\^eval\_.:program(<eval>:15) ~[?:?]
at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:637) ~[nashorn.jar:?]
at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:494) ~[nashorn.jar:?]
at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:393) ~[nashorn.jar:?]
at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:449) ~[nashorn.jar:?]
... 11 more
2020-01-02 10:47:59037信息o.a.j.t.螺纹组:已启动螺纹组编号1
2020-01-02 10:47:59038信息o.a.j.e.StandardJMeterEngine:所有线程组都已启动
2020-01-02 10:47:59039信息o.a.j.t.JMeterThread:线程已启动:自动研发1-1
2020-01-02 10:48:00381错误o.a.j.p.j.s.JSR223采样器:JSR223脚本JSR223采样器(加载js)路径中存在问题,消息:javax.script.ScriptException:ReferenceError:“AWSCognito”未在第15行中定义
javax.script.ScriptException:ReferenceError:“AWSCognito”未在第15行中定义
在jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:470)~[nashorn.jar:?]
在jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:454)~[nashorn.jar:?]
在jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:406)~[nashorn.jar:?]
在jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:402)~[nashorn.jar:?]
在jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:155)~[nashorn.jar:?]
在javax.script.AbstractScriptEngine.eval(未知源代码)~[?:1.8.0_221]
在org.apache.jmeter.util.jsr23testelement.processFileOrScript(jsr23testelement.java:225)~[ApacheJMeter_core.jar:5.2.1]
在org.apache.jmeter.protocol.java.sampler.JSR223Sampler.sample(JSR223Sampler.java:71)[ApacheJMeter_java.jar:5.2.1]
位于org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:627)[ApacheJMeter_core.jar:5.2.1]
在org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:551)[ApacheJMeter_core.jar:5.2.1]
位于org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:490)[ApacheJMeter_core.jar:5.2.1]
在org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:257)[ApacheJMeter_core.jar:5.2.1]
在java.lang.Thread.run(未知源代码)[?:1.8.0_221]
原因:jdk.nashorn.internal.runtime.ECMAException:ReferenceError:未定义“AWSCognito”
在jdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:57)~[nashorn.jar:?]
在jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:319)~[nashorn.jar:?]
在jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:291)~[nashorn.jar:?]
在jdk.nashorn.internal.objects.Global.\uuuNoSuchProperty\uuuu(Global.java:1442)~[nashorn.jar:?]
在jdk.nashorn.internal.scripts.Script$1312$\^eval\:程序(:15)~[?:?]
在jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:637)~[nashorn.jar:?]
在jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:494)~[nashorn.jar:?]
在jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:393)~[nashorn.jar:?]
在jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:449)~[nashorn.jar:?]
... 还有11个
请帮助我解决此问题加载多个JavaScript文件应该没有问题,例如:
foo.js
文件,其中包含以下代码:
function foo() {
log.info('foo')
}
function bar() {
log.info('bar')
}
bar.js
文件:
function foo() {
log.info('foo')
}
function bar() {
log.info('bar')
}
aws cognito sdk.min.js
文件的完整性,甚至可以从Github获取该文件,而不是依赖本地副本,如:
load("https://raw.githubusercontent.com/amazon-archives/amazon-cognito-identity-js/master/dist/aws-cognito-sdk.min.js")
也要注意,对于脚本,请考虑迁移到使用代码> Groovy 语言来获取令牌,可以作为参考。p> 您的库似乎在
"AWSCognito" is not defined in <eval> at line number 15
“AWSCognito”未在at第15行中定义
解决此问题将修复您的功能。OP收到一个脚本错误
“AWSCognito”未在第15行定义,应首先修复,因为它不会导致任何JS执行。