#jmeter #cryptojs
#jmeter #cryptojs
Вопрос:
Я использовал библиотеки CryptoJS (загруженные и помещенные в папку lib в Jmeter) в Jmeter JSR223 Sampler, используя директиву load.
load('crypto-js-3.1.9/crypto-js.js');
function AESEncryption(text, passphase, bytessize) {
var key = CryptoJS.enc.Utf8.parse('ABCDEFGHIJKL1234567891234');
var iv = CryptoJS.enc.Utf8.parse('1234567890123456');
var blocksize = bytessize / 2;
var encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(text), passphase, key,
{
keySize: bytessize,
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
var dta = String(encrypted);
return dta;}
function AESDecryption(text, key, bytessize) {
try {
//alert(text ":" key ":" bytessize);
var e = CryptoJS.AES.decrypt(text, key, bytessize);
//alert("Ec:" e);
return CryptoJS.AES.decrypt(text, key, bytessize).toString(CryptoJS.enc.Utf8);
}
catch (Error) {
return "";}}
Я просто хочу интегрировать этот файл JMX в MAVEN com.lazerycode.jmeter.Плагин. Я только что скопировал файл JMX в папку src / test / jmeter, но когда я попытался запустить скрипт из CLI с помощью mvn install, он не смог загрузить модуль Crypto (Actullay, я только что скопировал файл JMX, и я не уверен, куда мне следует поместить этот CryptoJS в папку maven).
Дайте мне знать, где я должен хранить этот CryptoJS, который будет работать в среде maven.
POM.XML
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.paypal</groupId>
<artifactId>AMAZON_P2P</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>AMAZON_P2P</name>
<url>http://maven.apache.org</url>
<properties>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- ttps://mvnrepository.com/artifact/com.jayway.jsonpath/json-path -->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
</plugin>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>2.4.0</version>
<configuration>
<testResultsTimestamp>false</testResultsTimestamp>
<propertiesUser>
<threadCount>${performancetest.threadCount}</threadCount>
<testIterations>${performancetest.testIterations}</testIterations>
</propertiesUser>
<propertiesJMeter>
<jmeter.save.saveservice.thread_counts>true</jmeter.save.saveservice.thread_counts>
<jmeter.save.saveservice.sample_count>true</jmeter.save.saveservice.sample_count>
</propertiesJMeter>
</configuration>
<executions>
<execution>
<id>jmeter-tests</id>
<phase>verify</phase>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Ответ №1:
Приведенные ниже строки творят волшебство:
<jmeterExtensions>
<artifact>org.webjars.bower:crypto-js:3.1.9</artifact>
</jmeterExtensions>