Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automated testing against IE #204

Open
stephank opened this issue Apr 26, 2020 · 2 comments
Open

Automated testing against IE #204

stephank opened this issue Apr 26, 2020 · 2 comments

Comments

@stephank
Copy link
Member

I'd really like to have the end-to-end test running on Windows against Internet Explorer 11, but can't seem to make it work.

I thought adding these steps to the Windows build in GitHub Actions would do it, but it fails:

- name: E2E test deps
  run: cd tests/e2e/ && yarn --frozen-lockfile

- name: E2E test IE
  run: |
    $env:Path += ";$env:IEWebDriver"
    cd tests/e2e/ && node ./main.js
  env: { SELENIUM_BROWSER: 'internet explorer' }

The failure looks like this:

 ✖ successful flow with code input
Error: Test timed out
    at Timeout._onTimeout (D:\a\portier-broker\portier-broker\tests\e2e\src\tests.js:122:18)
    at listOnTimeout (internal/timers.js:549:17)
    at processTimers (internal/timers.js:492:7)
 ✖ successful flow following the email link
UnsupportedOperationError: get: Error 404: Not Found
Not Found
    at parseHttpResponse (D:\a\portier-broker\portier-broker\tests\e2e\node_modules\selenium-webdriver\lib\http.js:580:11)
    at Executor.execute (D:\a\portier-broker\portier-broker\tests\e2e\node_modules\selenium-webdriver\lib\http.js:491:26)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async Driver.execute (D:\a\portier-broker\portier-broker\tests\e2e\node_modules\selenium-webdriver\lib\webdriver.js:700:17)
    at async D:\a\portier-broker\portier-broker\tests\e2e\src\tests.js:47:3
    at async module.exports (D:\a\portier-broker\portier-broker\tests\e2e\src\tests.js:125:7)
    at async main (D:\a\portier-broker\portier-broker\tests\e2e\main.js:20:5) {
  name: 'UnsupportedOperationError',
  remoteStacktrace: ''
}
[... 404s continue on for the remaining tests ...]

So Selenium can at least find the WebDriver executable (I already jumped that hurdle). I believe the timeouts should be long enough. It simply appears to hang there for some reason.

I don't have a Windows machine to debug this kind of stuff, so it'd be great if someone on Windows could figure this stuff out and send a PR. 🙂

@dstaley
Copy link
Contributor

dstaley commented Jul 7, 2020

I'll be happy to take a look at this! (Also, for what it's worth, I was able to successfully use both the link and code flow on demo.portier.io in IE11.)

@dstaley
Copy link
Contributor

dstaley commented Jul 7, 2020

Alrighty so I managed to get past the timeout errors by using the 32-bit version of the IE webdriver. Why this makes a difference is completely beyond me, but it's something the Selenium folks have been aware of.

The next issue I ran into is that, following form submission, element selectors no longer work. I've asked about this in a StackOverflow question, so hopefully someone will be able to point out why this is working in Chrome/Firefox but not in IE11.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

2 participants