diff options
author | Kegan Dougal <kegan@matrix.org> | 2014-09-22 16:50:12 +0100 |
---|---|---|
committer | Kegan Dougal <kegan@matrix.org> | 2014-09-22 16:50:12 +0100 |
commit | 95acf63ea38eae6762fb8c7d3ac672661f711dfd (patch) | |
tree | 8b7c71d8e3bcbd66c029c4458eb5a28d35333fd7 /webclient/test/protractor.conf.js | |
parent | Set required environment variables for e2e testing. (diff) | |
download | synapse-95acf63ea38eae6762fb8c7d3ac672661f711dfd.tar.xz |
Add working protractor e2e test.
This uses the ignoreSynchronization flag because of the longpoll on the event stream. It would be better to use $interval, but couldn't get that to *reliably* work when testing. I suspect that $interval won't help us here, since there is genuinely an open $http connection, as we're doing a long poll. https://github.com/angular/protractor/issues/49 for more info.
Diffstat (limited to '')
-rw-r--r-- | webclient/test/protractor.conf.js | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/webclient/test/protractor.conf.js b/webclient/test/protractor.conf.js index 720096b390..76ae7b712b 100644 --- a/webclient/test/protractor.conf.js +++ b/webclient/test/protractor.conf.js @@ -3,9 +3,16 @@ exports.config = { seleniumAddress: env.seleniumAddress, specs: ['e2e/*.spec.js'], onPrepare: function() { - browser.driver.get(env.loginUrl); + browser.driver.get(env.baseUrl); browser.driver.findElement(by.id("user_id")).sendKeys(env.username); browser.driver.findElement(by.id("password")).sendKeys(env.password); browser.driver.findElement(by.id("login")).click(); + + // wait till the login is done, detect via url change + browser.driver.wait(function() { + return browser.driver.getCurrentUrl().then(function(url) { + return !(/login/.test(url)) + }); + }); } } |