Package com.crawljax.core.state

Examples of com.crawljax.core.state.Eventable


  public List<List<Eventable>> getCrawlPaths() {
    List<List<Eventable>> paths = new ArrayList<List<Eventable>>();
    for (List<Transition> transitions : savedCrawlSession.getCrawlPaths()) {
      List<Eventable> path = new ArrayList<Eventable>();
      for (Transition transition : transitions) {
        Eventable e =
                savedCrawlSession.getMapEventables().get(transition.getEventableId());
        // TODO Why is this null?
        if (e != null) {
          path.add(e);
        }
View Full Code Here


  private Map<Long, Eventable> getEventables() {
    setEventableIds();
    Map<Long, Eventable> mapEventables = new HashMap<Long, Eventable>();
    for (Eventable orgEventable : session.getStateFlowGraph().getAllEdges()) {
      Eventable eventable =
              new Eventable(orgEventable.getElement().getNode(),
                      orgEventable.getEventType());
      eventable.setId(orgEventable.getId());
      eventable.setRelatedFormInputs(orgEventable.getRelatedFormInputs());
      mapEventables.put(eventable.getId(), eventable);
    }
    return mapEventables;
  }
View Full Code Here

   * @param eventable
   *            the eventable to fire
   * @return true iff the event is fired
   */
  private boolean fireEvent(Eventable eventable) {
    Eventable eventToFire = eventable;
    if (eventable.getIdentification().getHow().toString().equals("xpath")
            && eventable.getRelatedFrame().equals("")) {
      eventToFire = resolveByXpath(eventable, eventToFire);
    }
    boolean isFired = false;
    try {
      isFired = browser.fireEventAndWait(eventToFire);
    } catch (ElementNotVisibleException | NoSuchElementException e) {
      if (crawlRules.isCrawlHiddenAnchors() && eventToFire.getElement() != null
              && "A".equals(eventToFire.getElement().getTag())) {
        isFired = visitAnchorHrefIfPossible(eventToFire);
      } else {
        LOG.debug("Ignoring invisble element {}", eventToFire.getElement());
      }
    } catch (InterruptedException e) {
      LOG.debug("Interrupted during fire event");
      Thread.currentThread().interrupt();
      return false;
View Full Code Here

    String newXPath = new ElementResolver(eventable, browser).resolve();
    if (newXPath != null && !xpath.equals(newXPath)) {
      LOG.debug("XPath changed from {} to {} relatedFrame: {}", xpath, newXPath,
              eventable.getRelatedFrame());
      eventToFire =
              new Eventable(new Identification(Identification.How.xpath, newXPath),
                      eventType);
    }
    return eventToFire;
  }
View Full Code Here

    CandidateCrawlAction action =
            candidateActionCache.pollActionOrNull(stateMachine.getCurrentState());
    while (action != null && !interrupted) {
      CandidateElement element = action.getCandidateElement();
      if (element.allConditionsSatisfied(browser)) {
        Eventable event = new Eventable(element, action.getEventType());
        handleInputElements(event);
        waitForRefreshTagIfAny(event);

        boolean fired = fireEvent(event);
        if (fired) {
View Full Code Here

  }

  @Test
  public void domChangeNotifierIsCalled() {
    StateVertex stateBefore = mock(StateVertex.class);
    Eventable eventable = mock(Eventable.class);
    StateVertex stateAfter = mock(StateVertex.class);
    String oldDom = "old";
    String newDom = "new";
    when(stateBefore.getDom()).thenReturn(oldDom);
    when(stateAfter.getDom()).thenReturn(newDom);
View Full Code Here

  }

  @Test
  public void fireEventFailedIsCalled() {
    List<Eventable> path = ImmutableList.of();
    Eventable eventable = mock(Eventable.class);
    plugins.runOnFireEventFailedPlugins(context, eventable, path);
    verify(fireEventFailedPlugin).onFireEventFailed(context, eventable, path);
    assertThat(counterFor(OnFireEventFailedPlugin.class), is(1));
  }
View Full Code Here

  }

  @Test
  public void whenDomChangeErrorsTheDefaultIsUsed() {
    StateVertex stateBefore = mock(StateVertex.class);
    Eventable eventable = mock(Eventable.class);
    StateVertex stateAfter = mock(StateVertex.class);
    String oldDom = "old";
    String newDom = "new";
    when(stateBefore.getDom()).thenReturn(oldDom);
    when(stateAfter.getDom()).thenReturn(newDom);
View Full Code Here

   * @throws CrawljaxException
   *             when the event can not be fired.
   */
  @Test(expected = BrowserConnectionException.class)
  public void testFireEvent() throws Exception {
    browser.fireEventAndWait(new Eventable(new Identification(How.xpath, "/HTML"),
            EventType.click));
  }
View Full Code Here

   *             when the event can not be fired.
   */
  @Test
  public final void testFireEvent() throws Exception {
    browser.goToUrl(new URL(SERVER.getSiteUrl() + "simple.html"));
    browser.fireEventAndWait(new Eventable(new Identification(How.xpath, "//H1"),
            EventType.click));
  }
View Full Code Here

TOP

Related Classes of com.crawljax.core.state.Eventable

Copyright © 2018 www.massapicom. 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.