Merge pull request #1624 from jwzimmer/issue/fix-failing-footer-links

Updated selenium & chromedriver versions, which fixed test failures i…
This commit is contained in:
Ray Schamp 2017-11-15 15:42:10 -05:00 committed by GitHub
commit d3719d078f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 24 deletions

View file

@ -1,6 +1,6 @@
{ {
"testDependencies": { "devDependencies": {
"selenium-webdriver": "2.44.0", "selenium-webdriver": "2.45.0",
"chromedriver": "2.27.0" "chromedriver": "2.33.0"
} }
} }

View file

@ -4,20 +4,20 @@
* Test cases: https://github.com/LLK/scratch-www/wiki/Most-Important-Workflows * Test cases: https://github.com/LLK/scratch-www/wiki/Most-Important-Workflows
*/ */
require('chromedriver');
var tap = require('tap'); var tap = require('tap');
var seleniumWebdriver = require('selenium-webdriver');
const {
driver,
webdriver
} = require('../../helpers/selenium-helpers.js');
// Selenium's promise driver will be deprecated, so we should not rely on it // Selenium's promise driver will be deprecated, so we should not rely on it
seleniumWebdriver.SELENIUM_PROMISE_MANAGER=0; webdriver.SELENIUM_PROMISE_MANAGER=0;
//chrome driver
var driver = new seleniumWebdriver.Builder().withCapabilities(seleniumWebdriver.Capabilities.chrome()).build();
var rootUrl = process.env.ROOT_URL || 'https://scratch.ly'; var rootUrl = process.env.ROOT_URL || 'https://scratch.ly';
//timeout for each test; timeout for suite set at command line level //timeout for each test; timeout for suite set at command line level
var options = { timeout: 20000 }; var options = { timeout: 30000 };
//number of tests in the plan //number of tests in the plan
tap.plan(25); tap.plan(25);
@ -33,20 +33,16 @@ tap.beforeEach(function () {
}); });
// Function clicks the link and returns the url of the resulting page // Function clicks the link and returns the url of the resulting page
function clickFooterLinks ( linkText ) {
// Not sure if I need this first wait - maybe it solved intermittent initial failure problem? function clickFooterLinks (linkText) {
return driver.wait(seleniumWebdriver.until.elementLocated(seleniumWebdriver.By.id('view'))) return driver.wait(webdriver.until.elementLocated(webdriver.By.id('footer')))
.then( function () { .then( function (element) {
return driver.wait(seleniumWebdriver.until.elementLocated(seleniumWebdriver.By return element.findElement(webdriver.By.linkText(linkText)); })
.id('footer'))) .then( function (element) {
.then( function () { return element.click(); })
return driver.findElement(seleniumWebdriver.By.linkText(linkText)); }) .then(function () {
.then( function (element) { return driver.getCurrentUrl();
return element.click(); }) });
.then(function () {
return driver.getCurrentUrl();
});
});
} }
// ==== ABOUT SCRATCH column ==== // ==== ABOUT SCRATCH column ====