Merge remote-tracking branch 'origin/master'

This commit is contained in:
daisyonly 2014-08-29 10:49:40 +08:00
commit c938d5734b
334 changed files with 144136 additions and 144149 deletions

View File

@ -92,16 +92,19 @@ public class HBasePlugin {
/** /**
* get style, read according to rowKey * get style, read according to rowKey
*
* @param rowkey * @param rowkey
* @throws IOException * @throws IOException
* @return * @return
*/ */
@SuppressWarnings("deprecation")
@Behavior(value = "Get", type = BehaviorType.USER_BEHAVIOR) @Behavior(value = "Get", type = BehaviorType.USER_BEHAVIOR)
public HBaseReturn get(@Parameter(value = "rowkey", type = SupportTypes.Field) String rowkey) { public HBaseReturn get(
@Parameter(value = "rowkey", type = SupportTypes.Field) String rowkey) {
try { try {
Get g = new Get(Bytes.toBytes(rowkey)); Get g = new Get(Bytes.toBytes(rowkey));
Result r = tableUnderTest.get(g); Result r = tableUnderTest.get(g);
for(KeyValue kv : r.raw()){ for (KeyValue kv : r.raw()) {
System.out.println("column: " + new String(kv.getRow())); System.out.println("column: " + new String(kv.getRow()));
System.out.println("value: " + new String(kv.getValue())); System.out.println("value: " + new String(kv.getValue()));
} }
@ -112,18 +115,21 @@ public class HBasePlugin {
} }
} }
/** /**
* Perform a range scan for a set of records in the database. * Perform a range scan for a set of records in the database.
* @param startkey The record key of the first record to read. *
* @param recordcount The number of records to read * @param startkey
* The record key of the first record to read.
* @param recordcount
* The number of records to read
* @return * @return
*/ */
@SuppressWarnings("deprecation")
@Behavior(value = "Scan", type = BehaviorType.USER_BEHAVIOR) @Behavior(value = "Scan", type = BehaviorType.USER_BEHAVIOR)
public HBaseReturn scan(@Parameter(value = "startkey", type = SupportTypes.Field) String startkey, public HBaseReturn scan(
@Parameter(value = "recordcount", type = SupportTypes.Field) String recordcount) @Parameter(value = "startkey", type = SupportTypes.Field) String startkey,
{ @Parameter(value = "recordcount", type = SupportTypes.Field) String recordcount) {
Scan s = new Scan(Bytes.toBytes(startkey)); Scan s = new Scan(Bytes.toBytes(startkey));
Integer count = Integer.getInteger(recordcount); Integer count = Integer.getInteger(recordcount);
s.setCaching(count); s.setCaching(count);
@ -131,24 +137,22 @@ public class HBasePlugin {
try { try {
scanner = tableUnderTest.getScanner(s); scanner = tableUnderTest.getScanner(s);
int numResults = 0; int numResults = 0;
for (Result rr = scanner.next(); rr != null; rr = scanner.next()) for (Result rr = scanner.next(); rr != null; rr = scanner.next()) {
{
String key = Bytes.toString(rr.getRow());
for (KeyValue kv : rr.raw()) { for (KeyValue kv : rr.raw()) {
System.out.println("result: key =" + kv.getQualifier() + " value = " + kv.getValue()); System.out.println("result: key =" + kv.getQualifier()
+ " value = " + kv.getValue());
} }
numResults++; numResults++;
if (numResults >= count) if (numResults >= count) {
{
break; break;
} }
} }
}catch (IOException e) { } catch (IOException e) {
Logger.getLogger(HBasePlugin.class).info(e, e); Logger.getLogger(HBasePlugin.class).info(e, e);
return new HBaseReturn(false); return new HBaseReturn(false);
}finally { } finally {
scanner.close(); scanner.close();
} }

View File

@ -3,32 +3,32 @@
<ui> <ui>
<plugin name="CsvProvider"> <plugin name="CsvProvider">
<params> <params>
<param name="fileName" label="The name of the input file(Required)"> <param name="fileName" label="The name of the input file" required="true">
<file /> <file />
</param> </param>
<param name="separator" <param name="separator"
label="The separator of the input file and the following fieldNames"> label="The separator of the input file and the following fieldNames" required="true">
<field size="7" /> <field size="7" />
</param> </param>
<param name="fieldNames" label="fields names:"> <param name="fieldNames" label="fields names:" required="true">
<nfield /> <nfield />
</param> </param>
<param name="shared" label="to share the file descriptor"> <param name="shared" label="to share the file descriptor" required="false">
<checkbox> <checkbox>
<choice value="enable" default="false" /> <choice value="enable" default="false" />
</checkbox> </checkbox>
</param> </param>
<param name="loop" label="when to the EOF, is in loop"> <param name="loop" label="when to the EOF, is in loop" required="false">
<checkbox> <checkbox>
<choice value="enable" default="true" /> <choice value="enable" default="true" />
</checkbox> </checkbox>
</param> </param>
<param name="loadAtRuntime" label="is to load it at runtime"> <param name="loadAtRuntime" label="is to load it at runtime" required="true">
<checkbox> <checkbox>
<choice value="loadAtRuntime" default="true" /> <choice value="loadAtRuntime" default="true" />
</checkbox> </checkbox>
</param> </param>
<param name="commentPrefix" label="perfix of the commnet"> <param name="commentPrefix" label="perfix of the commnet" required="false">
<nfield></nfield> <nfield></nfield>
</param> </param>
</params> </params>

View File

@ -227,6 +227,9 @@ public class RunningAgentDB implements RunningAgentInterface {
@Override @Override
public TestBriefStatusModel briefAll() { public TestBriefStatusModel briefAll() {
if (this.isStoped()) {
return null;
}
return this.getAgentMessenger().scriptBriefAll(this.getAgent(), return this.getAgentMessenger().scriptBriefAll(this.getAgent(),
this.getAgentRunId()); this.getAgentRunId());
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -1,6 +1,6 @@
<div id="recordProxy-toolbar" style="margin: 0 0 0 0 !important;padding: 0 0 0 0 !important;z-index: 1000000;position: fixed;top: -3px;_position: absolute;_top: expression(eval(document.body.scrollTop-3));height: 40px;border: solid #fff 3px;background: #115822;filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#196630', endColorstr='#004811'); background: -webkit-gradient(linear,left top,left bottom,from(#61b0df),to(#369bd7));background: -moz-linear-gradient(#61b0df, #369bd7);background: -o-linear-gradient(top,#61b0df,#369bd7);background:linear-gradient(#61b0df, #369bd7);border-radius: 0px 0px 10px 10px"> <div id="recordProxy-toolbar" style="margin: 0 0 0 0 !important;padding: 0 0 0 0 !important;z-index: 1000000;position: fixed;top: -3px;_position: absolute;_top: expression(eval(document.body.scrollTop-3));height: 40px;border: solid #fff 3px;background: #115822;filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#196630', endColorstr='#004811'); background: -webkit-gradient(linear,left top,left bottom,from(#61b0df),to(#369bd7));background: -moz-linear-gradient(#61b0df, #369bd7);background: -o-linear-gradient(top,#61b0df,#369bd7);background:linear-gradient(#61b0df, #369bd7);border-radius: 0px 0px 10px 10px">
<div id="recordProxy-toolbar-content" style=" vertical-align: top;overflow: hidden;display: block;width: 175px;height: 38px;background: url('bench4q.png') no-repeat 10px 10px"> <div id="recordProxy-toolbar-content" style=" vertical-align: top;overflow: hidden;display: block;width: 175px;height: 38px;background: url('data:image/png;base64,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') no-repeat 10px 10px">
<a class="recordProxy-button" style="margin: 7px 5px;display: inline-block;background: #F3F3F3;filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#c4c4c4');background: -webkit-gradient(linear, 0% 0%, 0% 170%, from(white), to(#C4C4C4));background: -moz-linear-gradient(0% 170% 90deg, #C4C4C4, white);background: -o-linear-gradient(0% 170% 90deg, #C4C4C4, white);color: #404040 !important;font: 12px/12px 'Helvetica Neue', Helvetica, Arial, sans-serif;text-align: center;text-decoration: none;text-shadow: 1px 1px 0 white;white-space: nowrap;outline: 0;padding: 5px 8px 5px;border: 1px solid;-moz-border-radius: 3px;-webkit-border-radius: 3px;-o-border-radius: 3px;border-radius: 3px;border-color: #E6E6E6 #CCC #CCC #E6E6E6;margin-left: 40px" onclick="alert('请返回bench4q进行操作')" href="#">正在录制脚本</a> <a class="recordProxy-button" style="margin: 7px 5px;display: inline-block;background: #F3F3F3;filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#c4c4c4');background: -webkit-gradient(linear, 0% 0%, 0% 170%, from(white), to(#C4C4C4));background: -moz-linear-gradient(0% 170% 90deg, #C4C4C4, white);background: -o-linear-gradient(0% 170% 90deg, #C4C4C4, white);color: #404040 !important;font: 12px/12px 'Helvetica Neue', Helvetica, Arial, sans-serif;text-align: center;text-decoration: none;text-shadow: 1px 1px 0 white;white-space: nowrap;outline: 0;padding: 5px 8px 5px;border: 1px solid;-moz-border-radius: 3px;-webkit-border-radius: 3px;-o-border-radius: 3px;border-radius: 3px;border-color: #E6E6E6 #CCC #CCC #E6E6E6;margin-left: 40px" onclick="alert('请返回bench4q进行操作')" href="#">正在录制脚本</a>
<a class="recordProxy-indicator" style="cursor: default;vertical-align: top;text-decoration: none;display: inline-block;width: 22px;height: 22px;margin-top: 8px;background: url('recordProxy.png') no-repeat top left;border: none" onclick="return false;" href="#">&nbsp;</a> <a class="recordProxy-indicator" style="cursor: default;vertical-align: top;text-decoration: none;display: inline-block;width: 22px;height: 22px;margin-top: 8px;background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA6dJREFUeNrUlV9oW3UUx8/v3iQ3ubk3q0mXm2xZa0oximKXtqNOBhMq60NQoeCzjO1pVAWh4FsJTFAfJqgMffBpjz7JGHtYCzoYdC6YqW2Zbik1XZubJQ1dbnJzc//9PL+2YV3/yR724IEvv5vfPb9PTs7vnBNCKYXnYRw8J/Mc9JIQwuMSQvmZZABBA2jjs7GlOv5i55nACJUQdOR7gPfjhJwWAQZ4Sg87hDxqAfz+kNKfLwD8iH4qwhu7zu+VY0mSlI8BXn9H1789PDTU253JCL6eHvB0d4O9tgbm8jJUb9xoV27dWvxJFD/6BuDPRqNRPhCcTCa7JqvVsTds+4cXJyZE6eRJ0i6VwKnXwWk2gRME4INBEI4eBX1ujv5z6ZL+C8d98HU0Ol0oFB7vCR4eHvb263rqk3v3Zl7OZqOeWAxa9+8DtW0A5sfkugCOA5QQEFMpcNbX4a9sVv0ilXp7KRD4O5fLWbuqQlGUyIVC4dMjmUzYixE183lwNbwuw3iidntTGH0zlwNvJALK6GhkYnFxUpblyJ7lFgqF/EHLejdy5oxHv3sXQNf3hFK2miZAqwXa9DREBga8kmm+F4vF/LvA2WzW81axGPceOiRwgQDY5TJQPLgdSnBlopUK2AsLYN6+DQaKcBx4BEF8c2Ulyjg7y83Xs7z8ihiP29b8vM8uFICXpI3LoiyvLEIGrdXAtSxgd0Nwn8NcO7gnJRJO/9LSa78CzCHL3g52iSxrFsspHnSxEgAjoSgWEdbrphDIsX1c2bW7CCc+H1iGQTGXdba1M8dmc2xswVBVge/qAs7rfQJDcZ0v4PnN584++vGhELRWV33VTGaecZ4CT01NueTUqccYSdnC/Ap9fRsHYQd8O5S9Y37MH3h+NTgyojHOrqoYHx9/6PT1fbZy7ZoRHBoCDhvhqai31PnMGiUwOAgr168bZjL5eTgcbhzY0r/J8oySTp9+4cQJvjU7C46qAocp2IgSjV0mpyjgHxmB9Tt3HDWfnyE3b55Np9Ml9nrfITSoaaN5v3+hpapJbBa/i/Xs4oygjQZwsgwcNgURRShdvWpoxeJi8OLFyVQ6Xe1A9424Y3/09n5Jy+UP5f5+GozHBV84zJm1mquXSu36gweEKMpXL83Ofld1nEoikWj953TbbpXLl4+vXbly3CwW09BovIoRz3mOHcuHz53LR8+fX0WXWqfEngmMxoa9wBpI0zQPzgN7q6TYwHf2nef/u/+8fwUYAGyMtUnmcOi+AAAAAElFTkSuQmCC') no-repeat top left;border: none" onclick="return false;" href="#">&nbsp;</a>
</div> </div>
</div> </div>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -10,7 +10,6 @@ import javax.xml.bind.JAXBException;
import org.bench4q.master.domain.RunningAgentInterface; import org.bench4q.master.domain.RunningAgentInterface;
import org.bench4q.master.domain.entity.Agent; import org.bench4q.master.domain.entity.Agent;
import org.bench4q.master.domain.entity.RunningAgentDB;
import org.bench4q.master.domain.factory.RunningAgentFactory; import org.bench4q.master.domain.factory.RunningAgentFactory;
import org.bench4q.master.domain.valueobject.datastatistics.RunningScriptSampler; import org.bench4q.master.domain.valueobject.datastatistics.RunningScriptSampler;
import org.junit.Test; import org.junit.Test;
@ -30,13 +29,29 @@ public class Test_ScriptSample {
testcase2.add(Agent.createAgentWithoutId("127.0.0.2", 6565, 500)); testcase2.add(Agent.createAgentWithoutId("127.0.0.2", 6565, 500));
} }
/**
* The destiny is to justify if a runningAgent is stopped, if it will
* decrease the totalSuccessCount
*
* @throws JAXBException
*/
@Test @Test
public void test() throws JAXBException { public void testForStopOneRunningAgentWhenSample() throws JAXBException {
ArrayList<RunningAgentInterface> runningAgents = new ArrayList<RunningAgentInterface>(); ArrayList<RunningAgentInterface> runningAgents = new ArrayList<RunningAgentInterface>();
runningAgents.add(this.runningAgentFactory runningAgents.add(this.runningAgentFactory
.buildRunningAgentWithOutIdAndRunningScript( .buildRunningAgentWithOutIdAndRunningScript(
this.testcase2.get(0), 10, UUID.randomUUID())); this.testcase2.get(0), 10, UUID.randomUUID()));
runningAgents.add(this.runningAgentFactory
.buildRunningAgentWithOutIdAndRunningScript(
this.testcase2.get(1), 20, UUID.randomUUID()));
RunningScriptSampler sampler = new RunningScriptSampler(runningAgents); RunningScriptSampler sampler = new RunningScriptSampler(runningAgents);
assertNotNull(sampler.getResultModelFromAgent()); long totalSuccessCountBeforeStop = sampler.getResultModelFromAgent()
.getScriptBriefResultModel().getTotalSuccessCountFromBegin();
runningAgents.get(0).stop();
long totalSuccessCountAfterStop = sampler.getResultModelFromAgent()
.getScriptBriefResultModel().getTotalSuccessCountFromBegin();
assertTrue(totalSuccessCountAfterStop >= totalSuccessCountBeforeStop);
} }
} }

View File

@ -1,12 +1,14 @@
package stubs; package stubs;
import java.io.File; import java.io.File;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import org.bench4q.master.domain.entity.Agent; import org.bench4q.master.domain.entity.Agent;
import org.bench4q.master.infrastructure.communication.AgentMessenger; import org.bench4q.master.infrastructure.communication.AgentMessenger;
import org.bench4q.share.enums.master.AgentStatus; import org.bench4q.share.enums.master.AgentStatus;
import org.bench4q.share.models.agent.BehaviorBriefModel;
import org.bench4q.share.models.agent.RunScenarioModel; import org.bench4q.share.models.agent.RunScenarioModel;
import org.bench4q.share.models.agent.RunScenarioResultModel; import org.bench4q.share.models.agent.RunScenarioResultModel;
import org.bench4q.share.models.agent.ServerStatusModel; import org.bench4q.share.models.agent.ServerStatusModel;
@ -41,13 +43,25 @@ public class Mock_AgentMessenger implements AgentMessenger {
@Override @Override
public TestBriefStatusModel scriptBriefAll(Agent agent, UUID runId) { public TestBriefStatusModel scriptBriefAll(Agent agent, UUID runId) {
if (isDead(agent)) {
return null;
}
TestBriefStatusModel result = new TestBriefStatusModel(); TestBriefStatusModel result = new TestBriefStatusModel();
result.setScenarioBriefModel(new AgentBriefStatusModel()); AgentBriefStatusModel scenarioBriefModel = new AgentBriefStatusModel();
scenarioBriefModel.setSuccessCountFromBegin(1000);
result.setScenarioBriefModel(scenarioBriefModel);
result.setPagesBriefModel(new AgentPagesBriefModel()); result.setPagesBriefModel(new AgentPagesBriefModel());
result.setBehaviorsBriefModel(new AgentBehaviorsBriefModel()); AgentBehaviorsBriefModel behaviorsBriefModel = new AgentBehaviorsBriefModel();
behaviorsBriefModel
.setBehaviorBriefModels(new ArrayList<BehaviorBriefModel>());
result.setBehaviorsBriefModel(behaviorsBriefModel);
return result; return result;
} }
private boolean isDead(Agent agent) {
return agent.getCurrentEnumStatus() == AgentStatus.BreakDown;
}
@Override @Override
public StopTestModel stop(Agent agent, UUID runId) { public StopTestModel stop(Agent agent, UUID runId) {
// if (runId == this.testId) { // if (runId == this.testId) {

View File

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="src/main/resource"/>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>

View File

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>bench4q-recorder</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>

View File

@ -6,7 +6,6 @@ import java.nio.charset.Charset;
import java.util.StringTokenizer; import java.util.StringTokenizer;
import org.apache.commons.httpclient.ChunkedInputStream; import org.apache.commons.httpclient.ChunkedInputStream;
import org.apache.commons.httpclient.ChunkedOutputStream;
import org.apache.commons.io.output.ByteArrayOutputStream; import org.apache.commons.io.output.ByteArrayOutputStream;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
@ -175,7 +174,7 @@ public class ResponseParser {
chunkedIS = new ChunkedInputStream(in); chunkedIS = new ChunkedInputStream(in);
int tempByte; int tempByte;
while ((tempByte = chunkedIS.read()) != -1){ while ((tempByte = chunkedIS.read()) != -1) {
out.write(tempByte); out.write(tempByte);
} }
@ -188,7 +187,7 @@ public class ResponseParser {
if (chunkedIS != null) { if (chunkedIS != null) {
chunkedIS.close(); chunkedIS.close();
} }
if(out != null){ if (out != null) {
out.close(); out.close();
} }
} catch (IOException e) { } catch (IOException e) {

View File

@ -1,7 +1,6 @@
package org.bench4q.recorder; package org.bench4q.recorder;
import java.io.IOException; import java.io.IOException;
import java.net.ServerSocket;
import org.apache.commons.httpclient.HostConfiguration; import org.apache.commons.httpclient.HostConfiguration;
import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpClient;
@ -15,6 +14,7 @@ import org.junit.Test;
public class Test_RequestHandler { public class Test_RequestHandler {
private static final int PORT = 8910; private static final int PORT = 8910;
@Test @Test
public void test() { public void test() {
try { try {
@ -34,6 +34,8 @@ public class Test_RequestHandler {
private static class SendRequest implements Runnable { private static class SendRequest implements Runnable {
private HttpClient httpClient = new HttpClient(); private HttpClient httpClient = new HttpClient();
@SuppressWarnings("deprecation")
public void run() { public void run() {
HostConfiguration hostConfiguration = new HostConfiguration(); HostConfiguration hostConfiguration = new HostConfiguration();
hostConfiguration.setProxy("127.0.0.1", PORT); hostConfiguration.setProxy("127.0.0.1", PORT);

View File

@ -59,7 +59,7 @@ ContainerFactory.prototype.appendEdtiors = function(container, label, name, requ
} else if (editorInfo.type.toLowerCase() == "file") { } else if (editorInfo.type.toLowerCase() == "file") {
$(container).append( $(container).append(
editorFactory.createFile(lable, name, required, editorInfo.size, id,value)); editorFactory.createFile(label, name, required, editorInfo.size, id,value));
} else if (editorInfo.type.toLowerCase() == "date") { } else if (editorInfo.type.toLowerCase() == "date") {
$(container).append( $(container).append(
editorFactory.createDate(label, name, required, editorInfo.size, id,value)); editorFactory.createDate(label, name, required, editorInfo.size, id,value));