JMeter로 샘플링 만들기
배경
GMail의 URL을 Jmeter로 직접 밟습니다.이런 도구를 만들고 있습니다.
저는 Mail Reader Sampler의 행동을 잘 몰라요.
imap는 참고자료로 해도 연결이 안 돼요.
pop3 연결.그런데 본문은 어떻게 추출합니까?이렇게
구체적으로 말하면
이런 느낌으로 끼워져 있어서 뒷처리의 정규 표현식 추출 등 이 본문을 취하는 방법을 모른다
(최하층의 첫 번째 저장물에 초점을 맞추는 방법을 모른다)
결과적으로 이전에 샘플링을 자제한 적이 있기 때문에 샘플링을 자제했다.
그럼
샘플링 자제 방법도 상당히 잊어버렸어요. 어차피 보도할 거예요.
버전
apache-jmeter : 5.2.1
JRE : 1.8
샘플러 코드
DemoSampler.javapackage jmeter.extend.sampler;
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;
public class DemoSampler extends AbstractJavaSamplerClient {
// パラメータのキーを定義
private static final String MAIL_ADDRESS = "mailAddress";
private static final String PASSWORD = "password";
/* (non-Javadoc)
* デフォルトのパラメータを設定する
*/
@Override
public Arguments getDefaultParameters() {
// デフォルトパラメータの設定
Arguments defaultParameters = new Arguments();
defaultParameters.addArgument(MAIL_ADDRESS, "[email protected]");
defaultParameters.addArgument(PASSWORD, "input your password");
return defaultParameters;
}
@Override
public SampleResult runTest(JavaSamplerContext context) {
SampleResult result = new SampleResult();
try {
// JMeterで入力されたパラメーターをもらう
String mail = context.getParameter(MAIL_ADDRESS);
String password = context.getParameter(PASSWORD);
// 時間計測開始(1)
result.sampleStart();
// 計測したい任意の処理
Thread.sleep(500);
StringBuilder bulder = new StringBuilder();
bulder.append("this is ResponseData\n");
bulder.append("mail : ").append(mail).append("\n");
bulder.append("password : ").append(password).append("\n");
bulder.append("日本語文字列文字列\n");
bulder.append("URL : https://github.com/");
// 時間計測終了(2)
// (2) - (1) の時間がJMeterのレスポンスタイムとして取得できる
result.sampleEnd();
// JMeterの取得結果を成功にする
result.setSuccessful(true);
// JMeterのレスポンスコードをOK(200)に設定する
result.setResponseCodeOK();
result.setRequestHeaders("this is RequestHeaders");
result.setResponseData(bulder.toString(), "utf-8");
//こいつはどこにも出ないっぽい
result.setResponseMessage("this is ResponseMessage");
} catch (Exception e) {
// 時間計測終了(2)
// (2) - (1) の時間がJMeterのレスポンスタイムとして取得できる
result.sampleEnd();
// JMeterの取得結果を失敗にする
result.setSuccessful(false);
// JMeterのレスポンスコードをOK(200)以外の数字に設定する
result.setResponseCode("500");
// JMeterで表示されるレスポンスデータの中身を詰める
result.setResponseMessage("Error!! " + e.getMessage());
}
return result;
}
}
필요한 라이브러리는 모두 jmeter의bin 아래에 있습니다.
JMeter의 import로
Eclipse의 export 기능 등을 통해 상기 패키지를jar로 설정
jmeter의libs/ext 산하에서 jmeter를 설정하고 다시 시작하기만 하면 됩니다.
하면, 만약, 만약...
그jar도 같은 폴더에 넣었어요.
실행 이미지
Java 요청을 사용합니다.
클래스 이름 목록에는 AbstractJavaSamplerClient를 상속하는 클래스가 포함됩니다.
result.setResponseData에 지정된 문자가 ResponseBody에 표시됩니다.
참고 자료
https://qiita.com/kiida/items/6af3e46e5bae14c38242
참고라기보다는 거의 표절이다.미안합니다.
추가
메일 리더 샘플러에서 제대로 받을 수 있어요!이런 사람이 있으면 꼭 알려주세요.
Reference
이 문제에 관하여(JMeter로 샘플링 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yakitatata/items/179c4567565dd9699f3b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
apache-jmeter : 5.2.1
JRE : 1.8
샘플러 코드
DemoSampler.javapackage jmeter.extend.sampler;
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;
public class DemoSampler extends AbstractJavaSamplerClient {
// パラメータのキーを定義
private static final String MAIL_ADDRESS = "mailAddress";
private static final String PASSWORD = "password";
/* (non-Javadoc)
* デフォルトのパラメータを設定する
*/
@Override
public Arguments getDefaultParameters() {
// デフォルトパラメータの設定
Arguments defaultParameters = new Arguments();
defaultParameters.addArgument(MAIL_ADDRESS, "[email protected]");
defaultParameters.addArgument(PASSWORD, "input your password");
return defaultParameters;
}
@Override
public SampleResult runTest(JavaSamplerContext context) {
SampleResult result = new SampleResult();
try {
// JMeterで入力されたパラメーターをもらう
String mail = context.getParameter(MAIL_ADDRESS);
String password = context.getParameter(PASSWORD);
// 時間計測開始(1)
result.sampleStart();
// 計測したい任意の処理
Thread.sleep(500);
StringBuilder bulder = new StringBuilder();
bulder.append("this is ResponseData\n");
bulder.append("mail : ").append(mail).append("\n");
bulder.append("password : ").append(password).append("\n");
bulder.append("日本語文字列文字列\n");
bulder.append("URL : https://github.com/");
// 時間計測終了(2)
// (2) - (1) の時間がJMeterのレスポンスタイムとして取得できる
result.sampleEnd();
// JMeterの取得結果を成功にする
result.setSuccessful(true);
// JMeterのレスポンスコードをOK(200)に設定する
result.setResponseCodeOK();
result.setRequestHeaders("this is RequestHeaders");
result.setResponseData(bulder.toString(), "utf-8");
//こいつはどこにも出ないっぽい
result.setResponseMessage("this is ResponseMessage");
} catch (Exception e) {
// 時間計測終了(2)
// (2) - (1) の時間がJMeterのレスポンスタイムとして取得できる
result.sampleEnd();
// JMeterの取得結果を失敗にする
result.setSuccessful(false);
// JMeterのレスポンスコードをOK(200)以外の数字に設定する
result.setResponseCode("500");
// JMeterで表示されるレスポンスデータの中身を詰める
result.setResponseMessage("Error!! " + e.getMessage());
}
return result;
}
}
필요한 라이브러리는 모두 jmeter의bin 아래에 있습니다.
JMeter의 import로
Eclipse의 export 기능 등을 통해 상기 패키지를jar로 설정
jmeter의libs/ext 산하에서 jmeter를 설정하고 다시 시작하기만 하면 됩니다.
하면, 만약, 만약...
그jar도 같은 폴더에 넣었어요.
실행 이미지
Java 요청을 사용합니다.
클래스 이름 목록에는 AbstractJavaSamplerClient를 상속하는 클래스가 포함됩니다.
result.setResponseData에 지정된 문자가 ResponseBody에 표시됩니다.
참고 자료
https://qiita.com/kiida/items/6af3e46e5bae14c38242
참고라기보다는 거의 표절이다.미안합니다.
추가
메일 리더 샘플러에서 제대로 받을 수 있어요!이런 사람이 있으면 꼭 알려주세요.
Reference
이 문제에 관하여(JMeter로 샘플링 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yakitatata/items/179c4567565dd9699f3b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
package jmeter.extend.sampler;
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;
public class DemoSampler extends AbstractJavaSamplerClient {
// パラメータのキーを定義
private static final String MAIL_ADDRESS = "mailAddress";
private static final String PASSWORD = "password";
/* (non-Javadoc)
* デフォルトのパラメータを設定する
*/
@Override
public Arguments getDefaultParameters() {
// デフォルトパラメータの設定
Arguments defaultParameters = new Arguments();
defaultParameters.addArgument(MAIL_ADDRESS, "[email protected]");
defaultParameters.addArgument(PASSWORD, "input your password");
return defaultParameters;
}
@Override
public SampleResult runTest(JavaSamplerContext context) {
SampleResult result = new SampleResult();
try {
// JMeterで入力されたパラメーターをもらう
String mail = context.getParameter(MAIL_ADDRESS);
String password = context.getParameter(PASSWORD);
// 時間計測開始(1)
result.sampleStart();
// 計測したい任意の処理
Thread.sleep(500);
StringBuilder bulder = new StringBuilder();
bulder.append("this is ResponseData\n");
bulder.append("mail : ").append(mail).append("\n");
bulder.append("password : ").append(password).append("\n");
bulder.append("日本語文字列文字列\n");
bulder.append("URL : https://github.com/");
// 時間計測終了(2)
// (2) - (1) の時間がJMeterのレスポンスタイムとして取得できる
result.sampleEnd();
// JMeterの取得結果を成功にする
result.setSuccessful(true);
// JMeterのレスポンスコードをOK(200)に設定する
result.setResponseCodeOK();
result.setRequestHeaders("this is RequestHeaders");
result.setResponseData(bulder.toString(), "utf-8");
//こいつはどこにも出ないっぽい
result.setResponseMessage("this is ResponseMessage");
} catch (Exception e) {
// 時間計測終了(2)
// (2) - (1) の時間がJMeterのレスポンスタイムとして取得できる
result.sampleEnd();
// JMeterの取得結果を失敗にする
result.setSuccessful(false);
// JMeterのレスポンスコードをOK(200)以外の数字に設定する
result.setResponseCode("500");
// JMeterで表示されるレスポンスデータの中身を詰める
result.setResponseMessage("Error!! " + e.getMessage());
}
return result;
}
}
Eclipse의 export 기능 등을 통해 상기 패키지를jar로 설정
jmeter의libs/ext 산하에서 jmeter를 설정하고 다시 시작하기만 하면 됩니다.
하면, 만약, 만약...
그jar도 같은 폴더에 넣었어요.
실행 이미지
Java 요청을 사용합니다.
클래스 이름 목록에는 AbstractJavaSamplerClient를 상속하는 클래스가 포함됩니다.
result.setResponseData에 지정된 문자가 ResponseBody에 표시됩니다.
참고 자료
https://qiita.com/kiida/items/6af3e46e5bae14c38242
참고라기보다는 거의 표절이다.미안합니다.
추가
메일 리더 샘플러에서 제대로 받을 수 있어요!이런 사람이 있으면 꼭 알려주세요.
Reference
이 문제에 관하여(JMeter로 샘플링 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yakitatata/items/179c4567565dd9699f3b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
https://qiita.com/kiida/items/6af3e46e5bae14c38242
참고라기보다는 거의 표절이다.미안합니다.
추가
메일 리더 샘플러에서 제대로 받을 수 있어요!이런 사람이 있으면 꼭 알려주세요.
Reference
이 문제에 관하여(JMeter로 샘플링 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yakitatata/items/179c4567565dd9699f3b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(JMeter로 샘플링 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yakitatata/items/179c4567565dd9699f3b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)