]> git.ipfire.org Git - thirdparty/vuejs/router.git/commitdiff
test: run remote e2e tests
authorEduardo San Martin Morote <posva13@gmail.com>
Thu, 9 Jun 2022 10:16:29 +0000 (12:16 +0200)
committerEduardo San Martin Morote <posva@users.noreply.github.com>
Thu, 30 Jun 2022 07:59:00 +0000 (09:59 +0200)
.gitignore
packages/router/e2e/local.runner.js [new file with mode: 0644]
packages/router/nightwatch.conf.js
packages/router/package.json

index c1584c3274a736ddc30006d950b9ecf98b42967f..bc9ecae6c15710173df272eb7912777f0be778d1 100644 (file)
@@ -13,3 +13,5 @@ browserstack.err
 debug.log
 yalc.lock
 .yalc
+local.log
+_selenium-server.log
diff --git a/packages/router/e2e/local.runner.js b/packages/router/e2e/local.runner.js
new file mode 100644 (file)
index 0000000..d9a0d40
--- /dev/null
@@ -0,0 +1,52 @@
+require('dotenv').config()
+const Nightwatch = require('nightwatch')
+const browserstack = require('browserstack-local')
+const path = require('path')
+
+const { BROWSERSTACK_ACCESS_KEY } = process.env
+if (!BROWSERSTACK_ACCESS_KEY) {
+  throw new Error(
+    `
+(ONLY FOR MAINTAINERS)
+BROWSERSTACK_ACCESS_KEY is not set. Did you create the .env file?
+`
+  )
+}
+
+try {
+  require.main.filename = path.resolve(
+    __dirname,
+    '../../../node_modules/.bin/nightwatch'
+  )
+
+  // Code to start browserstack local before start of test
+  console.log('Connecting local')
+
+  const bs_local = new browserstack.Local()
+  Nightwatch.bs_local = bs_local
+
+  bs_local.start(
+    { key: process.env.BROWSERSTACK_ACCESS_KEY },
+    function (error) {
+      if (error) throw error
+
+      console.log('Connected. Now testing...')
+      Nightwatch.cli(function (argv) {
+        Nightwatch.CliRunner(argv)
+          .setup()
+          .runTests()
+          .catch(err => {
+            throw err
+          })
+          .finally(() => {
+            // Code to stop browserstack local after end of single test
+            bs_local.stop(function () {})
+          })
+      })
+    }
+  )
+} catch (ex) {
+  console.log('There was an error while starting the test runner:\n\n')
+  process.stderr.write(ex.stack + '\n')
+  process.exit(2)
+}
index fac39ff3672731e144675c78e7a299c1c13da79e..c729dadbc11c911ff68971737ad52d82966fa7b0 100644 (file)
@@ -16,7 +16,7 @@
 module.exports = {
   // An array of folders (excluding subfolders) where your tests are located;
   // if this is not specified, the test source must be passed as the second argument to the test runner.
-  src_folders: [],
+  src_folders: ['e2e/specs'],
 
   // See https://nightwatchjs.org/guide/working-with-page-objects/using-page-objects.html
   page_objects_path: ['node_modules/nightwatch/examples/pages/'],
@@ -50,7 +50,7 @@ module.exports = {
         browserName: 'chrome',
         'goog:chromeOptions': {
           w3c: true,
-          args: ['--headless'],
+          args: ['window-size=1280,800', 'headless'],
         },
       },
 
@@ -206,14 +206,6 @@ module.exports = {
       },
     },
 
-    'browserstack.ie': {
-      extends: 'browserstack',
-      desiredCapabilities: {
-        browserName: 'internet explorer',
-        browserVersion: '11.0',
-      },
-    },
-
     'browserstack.safari': {
       extends: 'browserstack',
       desiredCapabilities: {
@@ -232,6 +224,35 @@ module.exports = {
       extends: 'browserstack.local',
       desiredCapabilities: {
         browserName: 'firefox',
+        browserVersion: '58.0',
+      },
+    },
+
+    // Use https://www.browserstack.com/automate/capabilities?tag=selenium-4 to generate configs
+
+    edge_pre_chrome: {
+      extends: 'browserstack.local',
+      desiredCapabilities: {
+        browserName: 'Edge',
+        browserVersion: '18.0',
+      },
+    },
+
+    android5: {
+      extends: 'browserstack.local',
+      desiredCapabilities: {
+        deviceName: 'Samsung Galaxy S6',
+        realMobile: 'true',
+        osVersion: '5.0',
+      },
+    },
+
+    ios10: {
+      extends: 'browserstack.local',
+      desiredCapabilities: {
+        deviceName: 'iPhone 7',
+        realMobile: 'true',
+        osVersion: '10',
       },
     },
 
index a56e4997eca1005cbe18268a4f5650e20a066213..b1f4fd3649f2a2a1a036daaeda48d45a512e728b 100644 (file)
@@ -70,7 +70,7 @@
     "test:e2e:headless": "node e2e/runner.js -e chrome-headless --skiptags no-headless",
     "test:e2e:native": "node e2e/runner.js -e chrome --tag no-headless",
     "test:e2e:ci": "node e2e/runner.js -e firefox --retries 2",
-    "test:e2e:bs": "node e2e/runner.js --local -e edge_pre_chrome,android44 -c e2e/nightwatch.browserstack.js --tag browserstack"
+    "test:e2e:bs": "node e2e/local.runner.js -e edge_pre_chrome,android44 --tag browserstack"
   },
   "gitHooks": {
     "pre-commit": "lint-staged",