org.apache.jmeter.threads.JMeterContext.getVariables()方法的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(8.4k)|赞(0)|评价(0)|浏览(128)

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

JMeterContext.getVariables介绍

[英]Gives access to the JMeter variables for the current thread.
[中]允许访问当前线程的JMeter变量。

代码示例

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

private void injectVariables(JMeterThread jmThread, JMeterContext threadContext) {
  if (threadContext != null && threadContext.getVariables() != null) {
    try {
      Class<JMeterThread> cls = JMeterThread.class;
      Field vars = cls.getDeclaredField("threadVars");
      vars.setAccessible(true);
      vars.set(jmThread, threadContext.getVariables());
    } catch (Throwable ex) {
      log.warn("Cannot inject variables into parallel thread ", ex);
    }
  }
}

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

/**
 * Gives access to the JMeter variables for the current thread.
 * 
 * @return a pointer to the JMeter variables.
 */
protected JMeterVariables getVariables() {
  return JMeterContextService.getContext().getVariables();
}

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

/**
 * @return {@link JMeterVariables}
 */
public final JMeterVariables getJMeterVariables() {
  return JMeterContextService.getContext().getVariables();
}

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

private JMeterVariables getVariables() {
  JMeterContext context = JMeterContextService.getContext();
  return context.getVariables();
}

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

public void setInitialContext(JMeterContext context) {
  threadVars.putAll(context.getVariables());
}

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

public static MongoDB getMongoDB(String source) {
  Object mongoSource = JMeterContextService.getContext().getVariables().getObject(source);
  if(mongoSource == null) {
    throw new IllegalStateException("mongoSource is null");
  } else {
    if(mongoSource instanceof MongoDB) {
      return (MongoDB)mongoSource;
    } else {
      throw new IllegalStateException("Variable:"+ source +" is not a MongoDB instance, class:"+mongoSource.getClass());
    }
  }
}

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

private void processVariables() {
  final Arguments args1 = (Arguments) this.getUserDefinedVariablesAsProperty().getObjectValue();
  Arguments args = (Arguments) args1.clone();
  final JMeterVariables vars = JMeterContextService.getContext().getVariables();
  Iterator<Entry<String, String>> it = args.getArgumentsAsMap().entrySet().iterator();
  Entry<String, String> var;
  while (it.hasNext()) {
    var = it.next();
    log.debug("Setting " + var.getKey() + "=" + var.getValue());
    vars.put(var.getKey(), var.getValue());
  }
}

代码示例来源:origin: kg.apc/jmeter-plugins-webdriver

private WebDriver getWebDriver() {
  return (WebDriver) getThreadContext().getVariables().getObject(WebDriverConfig.BROWSER);
}

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

private void processVariables() {
  final Arguments args1 = (Arguments) this.getUserDefinedVariablesAsProperty().getObjectValue();
  Arguments args = (Arguments) args1.clone();
  final JMeterVariables vars = JMeterContextService.getContext().getVariables();
  Iterator<Map.Entry<String, String>> it = args.getArgumentsAsMap().entrySet().iterator();
  Map.Entry<String, String> var;
  while (it.hasNext()) {
    var = it.next();
    if (log.isDebugEnabled()) {
      log.debug("Setting " + var.getKey() + "=" + var.getValue());
    }
    vars.put(var.getKey(), var.getValue());
  }
}

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

/**
   * Get access to MongoDB object
   * @param varName String MongoDB source
   * @param dbName Mongo DB database name
   * @param login name to use for login
   * @param password password to use for login
   * @return {@link DB}
   */
  public static DB getDBFromSource(String varName, String dbName, String login, String password) {
    MongoDB mongodb = (MongoDB) JMeterContextService.getContext().getVariables().getObject(varName);
    if(mongodb==null) {
      throw new IllegalStateException("You didn't define variable:"+varName +" using MongoDB Source Config (property:MongoDB Source)");
    }
    return mongodb.getDB(dbName, login, password);
  }
}

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

/**
 * @param elementName Test Element
 * @param iterCount iteration count
 */
default void updateIterationIndex(String elementName, int iterCount) {
  JMeterVariables variables = JMeterContextService.getContext().getVariables();
  if(variables != null) {
    variables.putObject(
        JMeterUtils.formatJMeterExportedVariableName(elementName+GenericController.INDEX_VAR_NAME_SUFFIX), iterCount);
  }
}

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

@Override
public void testEnded() {
  if(log.isDebugEnabled()) {
    log.debug(getTitle() + " testEnded");
  }
  ((MongoDB)getThreadContext().getVariables().getObject(getSource())).clear();
}

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

@Override
public void run() {
  try {
    // Copy in ThreadStarter thread context from calling Thread
    JMeterContextService.getContext().setVariables(this.context.getVariables());
    supplyActiveThreads();
  } catch (InterruptedException e) {
    log.debug("Interrupted", e);
  }
  log.debug("Thread starter has done its job");
}

代码示例来源:origin: kg.apc/jmeter-plugins-casutg

@Override
public void run() {
  try {
    // Copy in ThreadStarter thread context from calling Thread
    JMeterContextService.getContext().setVariables(this.context.getVariables());
    supplyActiveThreads();
  } catch (InterruptedException e) {
    log.debug("Interrupted", e);
  }
  log.debug("Thread starter has done its job");
}

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

private Map<String, String> buildParamsMap(){
  String regExRefName = getRegExRefName()+"_";
  String grNames = getRegParamNamesGrNr();
  String grValues = getRegExParamValuesGrNr();
  JMeterVariables jmvars = getThreadContext().getVariables();
  // verify if regex groups exists
  if(jmvars.get(regExRefName + MATCH_NR) == null
      || jmvars.get(regExRefName + 1 + REGEX_GROUP_SUFFIX + grNames) == null 
      || jmvars.get(regExRefName + 1 + REGEX_GROUP_SUFFIX + grValues) == null){
    return null;
  }
  int n = Integer.parseInt(jmvars.get(regExRefName + MATCH_NR));
  Map<String, String> map = new HashMap<>(n);
  for(int i=1; i<=n; i++){
    map.put(jmvars.get(regExRefName + i + REGEX_GROUP_SUFFIX + grNames), 
        jmvars.get(regExRefName + i + REGEX_GROUP_SUFFIX + grValues));
  }
  return map;
}

代码示例来源:origin: kg.apc/jmeter-plugins-standard

public void process() {
  String value = null;
  try {
    Object valueObj = FifoMap.getInstance().pop(getQueueName(), getTimeoutAsLong());
    if (valueObj != null) {
      value = valueObj.toString();
    }
  } catch (InterruptedException ex) {
    log.warn("Interrupted pop from queue " + getQueueName());
    value = "INTERRUPTED";
  }
  final JMeterVariables vars = JMeterContextService.getContext().getVariables();
  if (vars != null) {
    vars.put(getVarName(), value);
  }
}

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

public void process() {
  String value = null;
  try {
    Object valueObj = FifoMap.getInstance().pop(getQueueName(), getTimeoutAsLong());
    if (valueObj != null) {
      value = valueObj.toString();
    }
  } catch (InterruptedException ex) {
    log.warn("Interrupted pop from queue " + getQueueName());
    value = "INTERRUPTED";
  }
  final JMeterVariables vars = JMeterContextService.getContext().getVariables();
  if (vars != null) {
    vars.put(getVarName(), value);
  }
}

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

@Override
public void iterationStart(LoopIterationEvent loopIterationEvent) {
 if (generator == null) {
  generator = createGenerator(getClassName(), readFile(getFileName()));
 }
 JMeterVariables variables = JMeterContextService.getContext().getVariables();
 variables.put(getVariableName(), generator.nextMessage());
}

代码示例来源:origin: kg.apc/jmeter-plugins-webdriver

ScriptEngine createScriptEngineWith(SampleResult sampleResult) {
    final ScriptEngine scriptEngine = scriptEngineManager.getEngineByName(this.getScriptLanguage());
    Bindings engineBindings = new SimpleBindings();
    WebDriverScriptable scriptable = new WebDriverScriptable();
    scriptable.setName(getName());
    scriptable.setParameters(getParameters());
    JMeterContext context = JMeterContextService.getContext();
    scriptable.setVars(context.getVariables());
    scriptable.setProps(JMeterUtils.getJMeterProperties());
    scriptable.setCtx(context);
    scriptable.setLog(LOGGER);
    scriptable.setSampleResult(sampleResult);
    scriptable.setBrowser(getWebDriver());
    engineBindings.put("WDS", scriptable);
    scriptEngine.setBindings(engineBindings, ScriptContext.ENGINE_SCOPE);
    return scriptEngine;
  }
}

代码示例来源:origin: kg.apc/jmeter-plugins-webdriver

@Override
public void iterationStart(LoopIterationEvent loopIterationEvent) {
  if (isRecreateBrowserOnIterationStart() && !isDevMode()) {
    final T browser = getThreadBrowser();
    quitBrowser(browser);
    setThreadBrowser(getPreparedBrowser());
    LOGGER.info("Created browser object: " + browser);
  }
  getThreadContext().getVariables().putObject(WebDriverConfig.BROWSER, getThreadBrowser());
}

相关文章