Package $

Source Code of $.Runner

package ${package};

import java.io.File;
import java.util.HashMap;
import java.util.Map;

import com.crawljax.core.CrawljaxRunner;
import com.crawljax.core.configuration.CrawljaxConfiguration;
import com.crawljax.core.configuration.InputSpecification;
import com.crawljax.core.plugin.HostInterfaceImpl;
import com.crawljax.core.plugin.descriptor.Parameter;
import com.crawljax.core.plugin.descriptor.PluginDescriptor;

/**
* Use the sample plugin in combination with Crawljax.
*/
public class Runner {

  private static final String URL = "http://www.google.com";
  private static final int MAX_DEPTH = 2;
  private static final int MAX_NUMBER_STATES = 8;

  /**
   * Entry point
   */
  public static void main(String[] args) {
    CrawljaxConfiguration.CrawljaxConfigurationBuilder builder = CrawljaxConfiguration.builderFor(URL);
    builder.crawlRules().insertRandomDataInInputForms(false);

    builder.crawlRules().click("a");
    builder.crawlRules().click("button");

    // except these
    builder.crawlRules().dontClick("a").underXPath("//DIV[@id='guser']");
    builder.crawlRules().dontClick("a").withText("Language Tools");

    // limit the crawling scope
    builder.setMaximumStates(MAX_NUMBER_STATES);
    builder.setMaximumDepth(MAX_DEPTH);

    PluginDescriptor descriptor = PluginDescriptor.forPlugin(SamplePlugin.class);
    Map<String, String> parameters = new HashMap<>();
    for(Parameter parameter : descriptor.getParameters()) {
      parameters.put(parameter.getId(), "value");
    }
    builder.addPlugin(new SamplePlugin(new HostInterfaceImpl(new File("out"), parameters)));

    builder.crawlRules().setInputSpec(getInputSpecification());

    CrawljaxRunner crawljax = new CrawljaxRunner(builder.build());
    crawljax.call();
  }

  private static InputSpecification getInputSpecification() {
    InputSpecification input = new InputSpecification();
    input.field("gbqfq").setValue("Crawljax");
    return input;
  }

  private Runner() {
    // Utility class
  }
}
TOP

Related Classes of $.Runner

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.