Package com.lazerycode.jmeter

Source Code of com.lazerycode.jmeter.FailureScanner

package com.lazerycode.jmeter;

import java.io.File;
import java.io.IOException;
import java.util.Scanner;
import java.util.regex.Pattern;

/**
* Handles checking a JMeter results file in XML format for errors and failures.
*
* @author Jon Roberts
*/
class FailureScanner {

  private static final String REQUEST_FAILURE_PATTERN = "s=\"false\"";
  private final boolean ignoreFailures;
  private int failureCount;

  public FailureScanner(boolean ignoreFailures) {
    this.ignoreFailures = ignoreFailures;
  }

  /**
   * Check given file for errors
   *
   * @param file File to parse for failures
   * @return true if file doesn't contain failures
   * @throws IOException
   */
  public boolean hasTestFailed(File file) throws IOException {
    if (this.ignoreFailures) return false;
    failureCount = 0;
    Scanner resultFileScanner;
    Pattern errorPattern = Pattern.compile(REQUEST_FAILURE_PATTERN);
    resultFileScanner = new Scanner(file);
    while (resultFileScanner.findWithinHorizon(errorPattern, 0) != null) {
      failureCount++;
    }
    resultFileScanner.close();

    return this.failureCount > 0;
  }

  /**
   * @return failureCount
   */
  public int getFailureCount() {
    return this.failureCount;
  }
}
TOP

Related Classes of com.lazerycode.jmeter.FailureScanner

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.