Browse Source

Minor test refactoring

Artur Paikin 9 years ago
parent
commit
19202a2f55

+ 2 - 4
test/acceptance/dragdrop.spec.js

@@ -1,8 +1,6 @@
 var test = require('tape')
 var path = require('path')
-var webdriver = require('selenium-webdriver')
 var chalk = require('chalk')
-var By = webdriver.By
 var Driver = require('./Driver')
 var collectErrors = Driver.collectErrors
 
@@ -24,7 +22,7 @@ module.exports = function (driver, platform, host) {
 
     // Find input by css selector & pass absolute image path to it
     driver
-      .findElement(By.css('.UppyDragDrop-One .UppyDragDrop-input'))
+      .findElement({css: '.UppyDragDrop-One .UppyDragDrop-input'})
       .sendKeys(path.join(__dirname, 'image.jpg'))
 
     function isUploaded () {
@@ -37,7 +35,7 @@ module.exports = function (driver, platform, host) {
 
       // .getText() only work on visible elements, so we use .getAttribute('textContent'), go figure
       // http://stackoverflow.com/questions/21994261/gettext-not-working-on-a-select-from-dropdown
-      return driver.findElement(By.css('.UppyDragDrop-One-Progress .UppyProgressBar-percentage'))
+      return driver.findElement({css: '.UppyDragDrop-One-Progress .UppyProgressBar-percentage'})
         .getAttribute('textContent')
         .then(function (value) {
           var progress = parseInt(value)

+ 1 - 3
test/acceptance/i18n.spec.js

@@ -1,7 +1,5 @@
 var test = require('tape')
 var chalk = require('chalk')
-var webdriver = require('selenium-webdriver')
-var By = webdriver.By
 var Driver = require('./Driver')
 var collectErrors = Driver.collectErrors
 
@@ -16,7 +14,7 @@ module.exports = function (driver, platform, host) {
     t.plan(1)
 
     function findLabelTextElement () {
-      return driver.findElements(By.css('.UppyDragDrop-label')).then(function (result) {
+      return driver.findElements({css: '.UppyDragDrop-label'}).then(function (result) {
         return result[0]
       })
     }

+ 6 - 5
test/acceptance/index.js

@@ -1,6 +1,7 @@
 // Docs aren't that great to find. Mostly JAVA based. Here are few helpful resources:
 // - https://www.browserstack.com/automate/node#testing-frameworks
 // - http://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/firefox/index_exports_Driver.html
+// - https://github.com/SeleniumHQ/selenium/blob/8f988e07cc316a48e0ff94d8ff823c95142532e9/javascript/webdriver/webdriver.js
 // - https://github.com/SeleniumHQ/selenium/blob/c10e8a955883f004452cdde18096d70738397788/javascript/node/selenium-webdriver/test/upload_test.js
 //
 // - https://github.com/SeleniumHQ/selenium/wiki/WebDriverJs
@@ -24,14 +25,14 @@ var host = isRemoteTest ? 'http://uppy.io' : 'http://localhost:4000'
 // FYI: old Chrome on Windows XP,
 // Opera 12 on Linux — didn’t pass
 var platforms = [
-  // { browser: 'Opera', version: '12.15', os: 'Linux' },
-  // { browser: 'iphone', version: '9.2', os: 'OS X 10.10' },
   // { browser: 'Safari', version: '8.0', os: 'OS X 10.10' },
+  // { browser: 'MicrosoftEdge', version: '13.10586', os: 'Windows 10' },
   { browser: 'Internet Explorer', version: '10.0', os: 'Windows 8' },
   { browser: 'Internet Explorer', version: '11.103', os: 'Windows 10' },
+  { browser: 'Opera', version: '12.15', os: 'Linux' },
+  { browser: 'Firefox', version: '38.0', os: 'Linux' },
   { browser: 'Firefox', version: '34.0', os: 'Windows 7' },
-  { browser: 'Chrome', version: '48.0', os: 'Windows XP' },
-  { browser: 'Firefox', version: '38.0', os: 'Linux' }
+  { browser: 'Chrome', version: '48.0', os: 'Windows XP' }
 ]
 
 var tests = [
@@ -59,7 +60,7 @@ function buildDriver (platform) {
   } else {
     driver = new webdriver
       .Builder()
-      .forBrowser('firefox')
+      .forBrowser('safari')
       .build()
   }
   return driver

+ 5 - 5
test/acceptance/multipart.spec.js

@@ -1,8 +1,6 @@
 var test = require('tape')
 var path = require('path')
-var webdriver = require('selenium-webdriver')
 var chalk = require('chalk')
-var By = webdriver.By
 var Driver = require('./Driver')
 var collectErrors = Driver.collectErrors
 
@@ -19,17 +17,19 @@ module.exports = function (driver, platform, host) {
     // Go to the example URL
     driver.get(host + '/examples/multipart/')
 
+    // driver.manage().timeouts().implicitlyWait(5 * 1000)
+
     // Find input by css selector & pass absolute image path to it
-    driver.findElement(By.css('.UppyForm .UppyForm-input')).then(function (el) {
+    driver.findElement({css: '.UppyFormContainer .UppyForm-input'}).then(function (el) {
       el.sendKeys(path.join(__dirname, 'image.jpg'))
       el.sendKeys(path.join(__dirname, 'image2.jpg'))
-      driver.findElement(By.css('.UppyForm-uploadBtn')).click()
+      driver.findElement({css: '.UppyForm-uploadBtn'}).click()
     })
 
     function isUploaded () {
       // .getText() only works on visible elements, so we use .getAttribute('textContent'), go figure
       // http://stackoverflow.com/questions/21994261/gettext-not-working-on-a-select-from-dropdown
-      return driver.findElement(By.css('.UppyProgressBar .UppyProgressBar-percentage'))
+      return driver.findElement({css: '.UppyProgressBar .UppyProgressBar-percentage'})
         .getAttribute('textContent')
         .then(function (value) {
           var progress = parseInt(value)