org.apache.jmeter.threads.JMeterVariables类的使用及代码示例

x33g5p2x  于2022-01-22 转载在 其他  
字(9.7k)|赞(0)|评价(0)|浏览(144)

本文整理了Java中org.apache.jmeter.threads.JMeterVariables类的一些代码示例,展示了JMeterVariables类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。JMeterVariables类的具体详情如下:
包路径:org.apache.jmeter.threads.JMeterVariables
类名称:JMeterVariables

JMeterVariables介绍

[英]Class which defines JMeter variables. These are similar to properties, but they are local to a single thread.
[中]类,该类定义JMeter变量。这些属性类似于属性,但它们是单个线程的本地属性。

代码示例

代码示例来源:origin: org.apache.jmeter/ApacheJMeter_components

private void saveOneMatch(JMeterVariables vars, String refName, List<String> matches) {
  if (matches.size() == 1) { // if not then invalid matchNum was likely supplied
    String match = matches.get(0);
    if (match != null) {
      vars.put(refName, match);
    }
  }
}

代码示例来源:origin: org.apache.jmeter/ApacheJMeter_core

@Override
public Object getObject(String key) {
  return variables.getObject(key);
}

代码示例来源:origin: org.apache.jmeter/ApacheJMeter_components

buf.append("_g"); // $NON-NLS-1$
int pfxlen=buf.length();
String prevString=vars.get(buf.toString());
int previous=0;
if (prevString!=null){
for (int x = 0; x < groups; x++) {
  buf.append(x);
  vars.put(buf.toString(), match.group(x));
  buf.setLength(pfxlen);
vars.put(buf.toString(), Integer.toString(groups-1));
for (int i = groups; i <= previous; i++){
  buf.append(i);
  vars.remove(buf.toString());// remove the remaining _gn vars
  buf.setLength(pfxlen);

代码示例来源:origin: org.apache.jmeter/ApacheJMeter_components

private void clearOldRefVars(JMeterVariables vars, String refName) {
  vars.remove(refName + REF_MATCH_NR);
  for (int i=1; vars.get(refName + "_" + i) != null; i++) {
    vars.remove(refName + "_" + i);
  }
}

代码示例来源:origin: org.apache.jmeter/ApacheJMeter_jdbc

private void putIntoVar(final JMeterVariables jmvars, final String name,
    final ResultSet resultSet) throws SQLException {
  if (RS_STORE_AS_OBJECT.equals(resultSetHandler)) {
    jmvars.putObject(name, resultSet);
  } else if (RS_COUNT_RECORDS.equals(resultSetHandler)) {
    jmvars.put(name, resultSet.toString() + " " + countRows(resultSet)
        + " rows");
  } else {
    jmvars.put(name, resultSet.toString());
  }
}

代码示例来源:origin: org.apache.jmeter/ApacheJMeter_core

/**
 * Create variables for testPlan
 * @param testPlan {@link JMeterVariables}
 * @return {@link JMeterVariables}
 */
private JMeterVariables createVars(TestPlan testPlan) {
  testPlan.prepareForPreCompile(); //A hack to make user-defined variables in the testplan element more dynamic
  Map<String, String> args = testPlan.getUserDefinedVariables();
  replacer.setUserDefinedVariables(args);
  JMeterVariables vars = new JMeterVariables();
  vars.putAll(args);
  return vars;
}

代码示例来源:origin: org.apache.jmeter/ApacheJMeter_jdbc

if(!currentResultVariable.isEmpty()) {
  results = new ArrayList<>();
  jmvars.putObject(currentResultVariable, results);
      String name = varNames[i - 1].trim();
      if (name.length()>0){ // Save the value in the variable if present
        jmvars.put(name+UNDERSCORE+j, o == null ? null : o.toString());
    final String varCount = name + "_#"; // $NON-NLS-1$
    String prevCount = jmvars.get(varCount);
    if (prevCount != null) {
      int prev = Integer.parseInt(prevCount);
      for (int n = j + 1; n <= prev; n++) {
        jmvars.remove(name + UNDERSCORE + n);
    jmvars.put(varCount, Integer.toString(j)); // save the current count

代码示例来源:origin: org.apache.jmeter/ApacheJMeter_core

private void saveVars(JMeterVariables vars){
  for(int i = 0; i < variableNames.length; i++){
    values[i] = vars.get(variableNames[i]);
  }
}

代码示例来源:origin: org.apache.jmeter/ApacheJMeter_functions

/** {@inheritDoc} */
@Override
public String execute(SampleResult previousResult, Sampler currentSampler)
    throws InvalidVariableException {
  JMeterVariables vars = getVariables();
  String stringToSplit = ((CompoundVariable) values[0]).execute();
  String varNamePrefix = ((CompoundVariable) values[1]).execute().trim();
  String splitString = ",";
  if (values.length > 2) { // Split string provided
    String newSplitString = ((CompoundVariable) values[2]).execute();
    splitString = newSplitString.length() > 0 ? newSplitString : splitString;
  }
  if (log.isDebugEnabled()){
    log.debug("Split "+stringToSplit+ " using "+ splitString+ " into "+varNamePrefix);
  }
  String[] parts = JOrphanUtils.split(stringToSplit, splitString, "?");// $NON-NLS-1$
  vars.put(varNamePrefix, stringToSplit);
  vars.put(varNamePrefix + "_n", Integer.toString(parts.length));// $NON-NLS-1$ 
  for (int i = 1; i <= parts.length; i++) {
    if (log.isDebugEnabled()){
      log.debug(parts[i-1]);
    }
    vars.put(varNamePrefix + "_" + i, parts[i - 1]);// $NON-NLS-1$
  }
  vars.remove(varNamePrefix + "_" + (parts.length+1));
  return stringToSplit;
}

代码示例来源:origin: org.apache.jmeter/ApacheJMeter_functions

vars.put(name, defaultValue);
  textToMatch=vars.get(inputVariable);
} else if (previousResult != null){
  textToMatch = previousResult.getResponseDataAsString();
    vars.put(name + "_matchNr", Integer.toString(collectAllMatches.size())); //$NON-NLS-1$

代码示例来源:origin: org.apache.jmeter/ApacheJMeter_components

/**
 * {@inheritDoc}
 */
@Override
public boolean isDone() {
  if (loopCount >= getEndIndex()) {
    return true;
  }
  JMeterContext context = getThreadContext();
  StringBuilder builder = new StringBuilder(
      getInputVal().length()+getSeparator().length()+3);
  String inputVariable = 
      builder.append(getInputVal())
      .append(getSeparator())
      .append(Integer.toString(loopCount+1)).toString();
  final JMeterVariables variables = context.getVariables();
  final Object currentVariable = variables.getObject(inputVariable);
  if (currentVariable != null) {
    variables.putObject(getReturnVal(), currentVariable);
    if (log.isDebugEnabled()) {
      log.debug("{} : Found in vars:{}, isDone:{}",
          getName(), inputVariable, Boolean.FALSE);
    }
    return false;
  }
  return super.isDone();
}

代码示例来源:origin: org.apache.jmeter/ApacheJMeter_components

globalCounter = start;
  variables.put(getVarName(), formatNumber(globalCounter));
  globalCounter += increment;
long current = perTheadNumber.get().longValue();
if(isResetOnThreadGroupIteration()) {
  int iteration = variables.getIteration();
  Long lastIterationNumber = perTheadLastIterationNumber.get();
  if(iteration != lastIterationNumber.longValue()) {
variables.put(getVarName(), formatNumber(current));
current += increment;
if (current > end) {

代码示例来源:origin: org.apache.jmeter/ApacheJMeter_core

threadContext.setVariables(jMeterVariables);
threadContext.setThreadNum(1);
threadContext.getVariables().put(JMeterThread.LAST_SAMPLE_OK, "true");
ThreadGroup threadGroup = new ThreadGroup();
threadGroup.setName("FunctionHelper-Dialog-ThreadGroup");
jMeterVariables = new JMeterVariables();
variablesTextArea.setText(variablesToString(jMeterVariables));

代码示例来源:origin: org.apache.jmeter/ApacheJMeter_http

/**
 * Store in JMeter Variables the UserToken so that the SSL context is reused
 * See <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=57804">Bug 57804</a>
 * @param jMeterVariables {@link JMeterVariables}
 * @param localContext {@link HttpContext}
 */
private void extractClientContextAfterSample(JMeterVariables jMeterVariables, HttpContext localContext) {
  Object userToken = localContext.getAttribute(HttpClientContext.USER_TOKEN);
  if(userToken != null) {
    log.debug("Extracted from HttpContext user token:{} storing it as JMeter variable:{}", userToken, JMETER_VARIABLE_USER_TOKEN);
    // During recording JMeterContextService.getContext().getVariables() is null
    if (jMeterVariables != null) {
      jMeterVariables.putObject(JMETER_VARIABLE_USER_TOKEN, userToken); 
    }
  }
}

代码示例来源:origin: Blazemeter/jmeter-bzm-plugins

);
JMeterVariables variables = new JMeterVariables();
JMeterContextService.getContext().setVariables(variables);
  while (true) {
    config.iterationStart(null);
    filePaths.add(variables.get(variableName));

代码示例来源:origin: BrightTag/kafkameter

/**
  * Helper for testing outside of JMeter
  */
 public static void main(String[] args) {
  LoadGenerator generator = new LoadGenerator();

  // Mock out JMeter environment
  JMeterVariables variables = new JMeterVariables();
  JMeterContextService.getContext().setVariables(variables);
  generator.setFileName("config1.json");
  generator.setVariableName("kafka_message");

  generator.iterationStart(null);

  for (Map.Entry<String, Object> entry : variables.entrySet()) {
   System.out.println(entry.getKey() + " : " + entry.getValue());
  }
 }
}

代码示例来源:origin: org.apache.jmeter/ApacheJMeter_core

@Override
public int getIteration() {
  return variables.getIteration();
}

代码示例来源:origin: org.apache.jmeter/ApacheJMeter_core

void notifyTestListeners() {
  threadVars.incIteration();
  for (TestIterationListener listener : testIterationStartListeners) {
    listener.testIterationStart(new LoopIterationEvent(threadGroupLoopController, threadVars.getIteration()));
    if (listener instanceof TestElement) {
      ((TestElement) listener).recoverRunningVersion();
    }
  }
}

代码示例来源:origin: org.apache.jmeter/ApacheJMeter_core

public JMeterThread(HashTree test, JMeterThreadMonitor monitor, ListenerNotifier note) {
  this.monitor = monitor;
  threadVars = new JMeterVariables();
  testTree = test;
  compiler = new TestCompiler(testTree);
  threadGroupLoopController = (Controller) testTree.getArray()[0];
  SearchByClass<TestIterationListener> threadListenerSearcher = new SearchByClass<>(TestIterationListener.class); // TL - IS
  test.traverse(threadListenerSearcher);
  testIterationStartListeners = threadListenerSearcher.getSearchResults();
  SearchByClass<SampleMonitor> sampleMonitorSearcher = new SearchByClass<>(SampleMonitor.class);
  test.traverse(sampleMonitorSearcher);
  sampleMonitors = sampleMonitorSearcher.getSearchResults();
  notifier = note;
  running = true;
}

代码示例来源:origin: org.apache.jmeter/ApacheJMeter_jdbc

private void putIntoVar(final JMeterVariables jmvars, final String name,
    final Blob blob) throws SQLException {
  if (RS_STORE_AS_OBJECT.equals(resultSetHandler)) {
    try {
      long length = Math.max(blob.length(), MAX_RETAIN_SIZE);
      jmvars.putObject(name,
          IOUtils.toByteArray(blob.getBinaryStream(0, length)));
    } catch (IOException e) {
      log.warn("Could not read BLOB into {} as object.", name, e);
    }
  } else if (RS_COUNT_RECORDS.equals(resultSetHandler)) {
    jmvars.put(name, blob.length() + " bytes");
  } else {
    try {
      long length = Math.max(blob.length(), MAX_RETAIN_SIZE);
      try (InputStream is = blob.getBinaryStream(0, length)) {
        jmvars.put(name, IOUtils.toString(is, ENCODING));
      }
    } catch (IOException e) {
      log.warn("Can't convert BLOB to String using {}", ENCODING, e);
    }
  }
}

相关文章