Chimp / webdriver waitForExist not finding a page element


#1

I have written some simple end-to-end tests, and in one test am having difficulty finding a page element. Has anyone seen the behavior when using Chimp, where the subsequent search of a found page element, is not found?

Note, the element is a react-router-dom ‘Link’, that is wrapped by react-meteor-data createContainer.

Any help or clarification appreciated.

  • test
  describe("Sign-up Page", function () {
    it("displays signup when join button clicked", function () {
      const homePage = "http://localhost:3000";
      const joinLink = "#navbarJoinLink";
      const signUp = "div.sidebar > div.pitch";

      browser.url(homePage);            // succeeds
      browser.waitForExist(joinLink);   // succeeds
      browser.click(joinLink);          // fails, element not found

      expect(browser.waitForExist(signUp)).toBe(true); // not executed
    });
  });
  • running chimp
    • chimp --ddp=http://localhost:3000 --jasmine --path=./tests/end-to-end/
  • running meteor test server
    • meteor test --full-app --settings settings.json --driver-package tmeasday:acceptance-test-driver
  • reporter error message
    • Error: An element could not be located on the page using the given search parameters.
  • some other details
    • I can find the element in browser console, via jquery $("#navbarJoinLink")
    • even running waitForExist on the same element twice in a row (instead of click), the second call will fail with element not found
    • another identical test written for a different link (anchor) succeeds (the difference being, that link is not wrapped in createContainer)