import static net.grinder.script.Grinder.grinder
import static org.junit.Assert.*
import static org.hamcrest.Matchers.*
import net.grinder.plugin.http.HTTPRequest
import net.grinder.plugin.http.HTTPPluginControl
import net.grinder.script.GTest
import net.grinder.script.Grinder
import net.grinder.scriptengine.groovy.junit.GrinderRunner
import net.grinder.scriptengine.groovy.junit.annotation.AfterThread
import net.grinder.scriptengine.groovy.junit.annotation.BeforeProcess
import net.grinder.scriptengine.groovy.junit.annotation.BeforeThread
import org.junit.Before
import org.junit.BeforeClass
import org.junit.Test
import org.junit.runner.RunWith
import HTTPClient.CookieModule
import HTTPClient.HTTPResponse
import org.slf4j.LoggerFactory
import ch.qos.logback.classic.Level
import com.alibaba.fastjson.JSONObject;
//import com.suning.sacs.service.api.Response
import java.util.HashMap;
import java.util.Map;
import HTTPClient.HTTPResponse
import com.suning.rsf.RSFException;
import com.suning.rsf.ServiceException;
import com.suning.rsf.consumer.Callback;
import java.io.File;
import com.suning.framework.scm.client.SCMClientImpl;
import com.alibaba.fastjson.JSON;
import com.suning.rsf.consumer.ServiceAgent;
import com.suning.rsf.consumer.ServiceLocator;
//import com.suning.rsf.main.PassWordAuthReqInfo;
//import com.suning.rsf.main.RSAEncrypt;
//import com.suning.ids.rsf.service.announcersf.RSFAnnouncementService
//import com.suning.api.rsf.service.ApiRemoteMapService;
import com.suning.api.rsf.service.ApiRemoteService;
import com.suning.rsf.consumer.ServiceLocator;
//import org.apache.commons.collections.MapUtils;
import com.google.gson.Gson;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import java.util.HashMap;
import java.util.Map;
@RunWith(GrinderRunner)
class TestRunner {
public static GTest action1
//public static HTTPRequest request
public ApiRemoteService service
public static int rowNumber
// public static int rowNumber2
public static ListlineList
// public static ListlineList2
@BeforeProcess
public static void beforeProcess() {
LoggerFactory.getLogger("worker").setLevel(Level.INFO);
action1 = new GTest(1, "action1")
System.setProperty("ldc", "NJXG_PST")
lineList = new File("./resources/size.txt").readLines()
}
@BeforeThread
public void beforeThread() {
//按随机方式取值,txt文件中可以存放多个boday体
//rowNumber = new Random().nextInt(lineList.size())
// if(rowNumber == 0) {
// rowNumber = 1
//}
action1.record(this, "action1")
grinder.statistics.delayReports=true
service = ServiceLocator.getService("***.******.api.rsf.service.ApiRemoteService","*",false)
sleep(3000)
}
@Test
public void action1() {
String testdata="{\"appId\":\"10000025\",\"accessKey\":\"faf47c6feb094b87b998eb99\",\"recogReq\":{\"picType\":\"base64\",\"picData\":\"IMGE\"}}";
int rowNumber = rowNumber%(lineList.size())+1 //考虑了0行是列名行的情况,实际值从第1行开始
String newData2= testdata.replaceAll("IMGE",lineList.get(rowNumber-1));
// grinder.logger.info(“testdata===”+newData2);
String json = service.execute(newData2) ;
if(json.contains("“msg”:“ok”")){
assertTrue(true)
grinder.logger.info("-------调用成功--------");
// grinder.logger.info("-------"+json+"-------");
}else{
grinder.logger.info("-------"+json);
assertTrue(false);
}
}
@AfterThread
public void afterThread() {
}
}