[英]How to use Java Code in JMeter which generates some HKSTD id ? This id will be use in further http request sampler
刪除類和主方法,然后輸入您的代碼,例如:
import org.apache.commons.codec.digest.DigestUtils;
String contextRoot = "root";
String csrfToken = "a";
String url = "http://www.google.com/root?ta=b&_hkstd=1234c=d";
String urlWithQueryString = removeParamsAndHost(url, contextRoot);
String token = getHashValueOfUrl(urlWithQueryString, csrfToken);
String urlWithToken = findurlWithToken(url, token);
private static String findurlWithToken(String url, String token) {
StringBuilder builder = new StringBuilder(removeParams(url));
if (builder.indexOf("?") == -1) {
builder.append("?");
} else {
builder.append("&");
}
builder.append("_hkstd").append("=").append(token);
;
return builder.toString();
}
private static String removeParamsAndHost(String url, String contextRoot) {
if (url.indexOf("_hkstd") != -1) {
return url.substring(url.indexOf(contextRoot), url.indexOf("_hkstd") - 1);
} else {
return url.substring(url.indexOf(contextRoot));
}
}
private static String removeParams(String url) {
if (url.indexOf("_hkstd") != -1) {
return url.substring(0, url.indexOf("_hkstd") - 1);
} else {
return url;
}
}
public static String getHashValueOfUrl(String url, String csrfToken) {
return DigestUtils.md5Hex(url + csrfToken);
}
您可以添加一個JMeter變量,以后可以使用vars.put
來使用vars.put
:
vars.put("url", urlWithToken );
如果要按原樣運行此Java類:
將以下代碼放入“腳本”區域:
AppendHtstd.main()
就是這樣,您的課程將由JMeter執行
請參閱Apache Groovy-為什么和應該如何使用它,以了解有關JMeter測試中的自定義腳本的更多信息
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.