Coder Social home page Coder Social logo

boilerplate-nightwatch's Introduction

⚠️⚠️ DEPRECATED ⚠️⚠️

This project, and it's related TestArmada projects, will no longer be supported. No further work from the owners will be done, and no PRs will be reviewed.

Testarmada magellan and nightwatch-extra Example Project

Sauce Test Status

License: MIT

This is an example project demonstrating how to run magellan with various executors to trigger test run using nightwatch-extra for desktop browsers and mobile browsers (Nightwatch-extra does support native app test via appium at this point, we're still working on the demo test with it right now).

The contents of this project's root directory should become the root directory of your Magellan test suite folder (for example a ./automation folder in your project).

------------------BREAKING CHANGE in [email protected]

If you recently bump magellan to 10.0.0, please follow the Migration Guide here.

What's in the Box

Included in this boilerplate:

  • Example base class for tests (lib/example-base-test-class.js)
  • Example tests which use the example base class (tests/*)
  • A .gitignore file which ignores Magellan-generated artifacts (logs, etc)
  • Stock configuration (conf/nightwatch.json)
  • A place to put custom commands (lib/custom_commands)
  • A place to put custom page objects (lib/pages)

In order to speed up the execution of this boilerplate, all tests are mocked with Drydock.

Prerequisites

Check that you have at least npm version 3 or above (required by [email protected]):

npm --version

If not, run:

npm install -g npm@3

Also please map dev.walmart.com to 127.0.0.1 in your host file.

Install and Run

Installation

1. Clone boilerplate-nightwatch into an isolated place outside of your project:

cd ~
git clone [email protected]:TestArmada/boilerplate-nightwatch.git
cd boilerplate-nightwatch

2. Install npm modules

npm install

npm install --global --production windows-build-tools # extra npm for windows only
npm install cross-env                                 # extra npm for windows only

Run with npm

npm test

Run with more options

Local

This is to run magellan with Magellan-local-executor (which is already configured in magellan.json)

  1. Chrome
DPRO=local ./node_modules/.bin/magellan --local_browser chrome --test tests/demo-simple.js --serial
  1. Firefox
DPRO=local ./node_modules/.bin/magellan --local_browser firefox --test tests/demo-web.js --serial
  1. Appium

iOS

PLEASE NOTE To run test with iOS, Xcode and correct version of iOS simulator have to be installed.

DPRO=local ./node_modules/.bin/magellan --local_browser appiummweb --test tests/demo-mobile-web.js --serial

Android

PLEASE NOTE To run test with Android, Android SDK, AVD and currect version of emulator have to be installed and created.

ANDROID_OPEN_URL=http://10.0.2.2 DPRO=local ./node_modules/.bin/magellan --local_browser appiumandroidmweb --test tests/demo-mobile-web.js --serial

Saucelabs

This is to run magellan with Magellan-saucelabs-executor (which is already configured in magellan.json).

All tests have to run with Sauce Connect.

  1. Chrome and IE11
DPRO=local ./node_modules/.bin/magellan --sauce_browsers chrome_latest_Windows_10_Desktop,IE_11_Windows_10_Desktop --sauce_create_tunnels --test tests/demo-web.js --serial
  1. iOS simulator with iphone6 and [email protected]
DPRO=local ./node_modules/.bin/magellan --sauce_browser iphone_10_0_iOS_iPhone_6_Simulator --sauce_create_tunnels --test tests/demo-mobile-web.js --serial
  1. Android emulator with Google Nexus 7 HD Emulator and [email protected]

You need to disable SSL bumping for [email protected] or higher, please refer to here for explanation.

[email protected] supports customized sauce connect flags, please see tunnel.json for reference.

DPRO=local ./node_modules/.bin/magellan --sauce_browsers android_4_4_Android_Google_Nexus_7_HD_Emulator --sauce_tunnel_id ${SAUCE_TUNNEL_ID} --sauce_tunnel_config ./tunnel.json --test tests/demo-mobile-web.js --serial

Browserstack

This is to run magellan with Magellan-browserstack-executor

Please Note: Browserstack executor is still in early beta. We'll add the content when it is ready.

Install and Run (Windows only)

Installation

1. Clone boilerplate-nightwatch into an isolated place outside of your project:

cd ~
git clone [email protected]:TestArmada/boilerplate-nightwatch.git
cd boilerplate-nightwatch

2. Install npm modules

Run your terminal in administrator mode

npm install

npm install --global --production windows-build-tools # extra npm for windows only
npm install cross-env                                 # extra npm for windows only

Configuration

1. Change chromedriver location

In nightwatch.json, change

"webdriver.chrome.driver": "./node_modules/chromedriver/lib/chromedriver/chromedriver"

to

"webdriver.chrome.driver": "./node_modules/chromedriver/lib/chromedriver/chromedriver.exe"

Run

We use cross-env to read environment variables in windows. All commands provided above are available in windows with ./node_modules/.bin/cross-env in front. For example

./node_modules/.bin/cross-env DPRO=local ./node_modules/.bin/magellan --local_browser chrome --test tests/demo-simple.js --serial

Help

1. Magellan help

All magellan command line arguments, together with its plugin's and executors', can be found by.

./node_modules/.bin/magellan --help

2. Plugin help

Command line arguments for plugin could be found by scanning Framework-specific keyword in magellan help output.

Help from testarmada-magellan-nightwatch-plugin

Framework-specific (testarmada-magellan-nightwatch-plugin)
   --tags=tag1,tag2                     Run all tests that match a list of comma-delimited tags (eg: tag1,tag2)
   --group=prefix/path                  Run all tests that match a path prefix like ./tests/smoke
   --test=path/to/test.js               Run one test with a path like ./tests/smoke/test2.js
   --nightwatch_config=path             Specify nightwatch.json location (magellan-nightwatch)
   --sync_browsers=safari:10,chrome:54  Specify which browser will run in sync mode for javascript execution

You can also implement your own plugin in order to make magellan talk to more test frameworks. Find more here to implement your own magellan plugin

3. Executor help

Command line arguments for executor could be found by scanning Executor-specific keyword in magellan help output.

Help from testarmada-magellan-sauce-executor

Executor-specific (testarmada-magellan-sauce-executor)
   --sauce_browser=browsername          Run tests in chrome, firefox, etc (default: phantomjs).
   --sauce_browsers=b1,b2,..            Run multiple browsers in parallel.
   --sauce_list_browsers                List the available browsers configured (Guacamole integrated).

You can also implement your own executor in order to execute magellan test in more environment. Find more here to implement your own magellan executor.

4. Strategy help

Command line arguments for strategy could be found by scanning Strategy-specific keyword in magellan help output.

Help from testarmada-magellan-early-bail-strategy

Strategy-specific (testarmada-magellan-early-bail-strategy)
   --early_bail_threshold=0.1           Ratio of tests that need to fail before we abandon the build
   --early_bail_min_attempts=10         Minimum number of tests that need to run before we apply the bail strategy

Configuration

Magellan reads from both command line arguments and magellan.json. Please refer to help section to get the full list of magellan command line arguments.

Please use ./magellan.json as example to customize your magellan.json.

License

Documentation in this project is licensed under Creative Commons Attribution 4.0 International License. Full details available at https://creativecommons.org/licenses/by/4.0

boilerplate-nightwatch's People

Contributors

abhagupta avatar archlichking avatar cgdibble avatar geekdave avatar greenkeeper[bot] avatar hjain60 avatar maciek416 avatar renas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

boilerplate-nightwatch's Issues

Add Travis CI

Require that all sample tests pass on phantom, and sauce suite before PR is approved for check-in.

/cc @Maciek416

port contention issue

still getting port errors on running it

[INFO] [Magellan] Magellan is creating temporary files at: /Users/XXXXX/dev/boilerplate-nightwatch/temp
[INFO] [Magellan] Magellan 10.0.1
[INFO] [Magellan] Will try to load configuration from default of ./magellan.json
Loaded configuration from:  /Users/XXXXX/dev/boilerplate-nightwatch/magellan.json
[INFO] [Magellan] Loaded test framework:
[INFO] [Magellan]   testarmada-magellan-nightwatch-plugin
[INFO] [Magellan] Loaded test executors:
[INFO] [Magellan]   testarmada-magellan-local-executor
[INFO] [Magellan]   testarmada-magellan-sauce-executor
[INFO] [Magellan Nightwatch Plugin] test iterator found nightwatch configuration at: ./conf/nightwatch.json
[INFO] [Magellan Nightwatch Plugin] Scanning tests for test files ...
[INFO] [Magellan Nightwatch Plugin] Found 2 test files in tests
[INFO] [Saucelabs Executor] Connected to sauce without tunnel
[INFO] [Magellan] Running 4 tests with 3 workers with [env:chrome|executor:local, env:firefox|executor:local]
[INFO] [Magellan] Found selenium HTTP server at port 12000, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12003, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12006, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12001, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12007, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12004, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12002, port is in use.
[WARN] [Magellan] Detected port contention while spinning up worker:
[WARN] [Magellan]   in use: #: 12000 purpose: mocking port
[WARN] [Magellan]   in use: #: 12001 purpose: selenium port
[WARN] [Magellan]   in use: #: 12002 purpose: generic
[INFO] [Magellan] Found selenium HTTP server at port 12005, port is in use.
[WARN] [Magellan] Detected port contention while spinning up worker:
[WARN] [Magellan]   in use: #: 12003 purpose: mocking port
[WARN] [Magellan]   in use: #: 12004 purpose: selenium port
[WARN] [Magellan]   in use: #: 12005 purpose: generic
[INFO] [Magellan] Found selenium HTTP server at port 12008, port is in use.
[WARN] [Magellan] Detected port contention while spinning up worker:
[WARN] [Magellan]   in use: #: 12006 purpose: mocking port
[WARN] [Magellan]   in use: #: 12007 purpose: selenium port
[WARN] [Magellan]   in use: #: 12008 purpose: generic
[INFO] [Magellan] Found selenium HTTP server at port 12009, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12015, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12012, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12010, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12013, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12016, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12011, port is in use.
[WARN] [Magellan] Detected port contention while spinning up worker:
[WARN] [Magellan]   in use: #: 12009 purpose: mocking port
[WARN] [Magellan]   in use: #: 12010 purpose: selenium port
[WARN] [Magellan]   in use: #: 12011 purpose: generic
[INFO] [Magellan] Found selenium HTTP server at port 12017, port is in use.
[WARN] [Magellan] Detected port contention while spinning up worker:
[WARN] [Magellan]   in use: #: 12015 purpose: mocking port
[WARN] [Magellan]   in use: #: 12016 purpose: selenium port
[WARN] [Magellan]   in use: #: 12017 purpose: generic
[INFO] [Magellan] Found selenium HTTP server at port 12014, port is in use.
[WARN] [Magellan] Detected port contention while spinning up worker:
[WARN] [Magellan]   in use: #: 12012 purpose: mocking port
[WARN] [Magellan]   in use: #: 12013 purpose: selenium port
[WARN] [Magellan]   in use: #: 12014 purpose: generic
[INFO] [Magellan] Found selenium HTTP server at port 12024, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12021, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12018, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12025, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12022, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12019, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12026, port is in use.
[WARN] [Magellan] Detected port contention while spinning up worker:
[WARN] [Magellan]   in use: #: 12024 purpose: mocking port
[WARN] [Magellan]   in use: #: 12025 purpose: selenium port
[WARN] [Magellan]   in use: #: 12026 purpose: generic
[INFO] [Magellan] Found selenium HTTP server at port 12023, port is in use.
[WARN] [Magellan] Detected port contention while spinning up worker:
[WARN] [Magellan]   in use: #: 12021 purpose: mocking port
[WARN] [Magellan]   in use: #: 12022 purpose: selenium port
[WARN] [Magellan]   in use: #: 12023 purpose: generic
[INFO] [Magellan] Found selenium HTTP server at port 12020, port is in use.
[WARN] [Magellan] Detected port contention while spinning up worker:
[WARN] [Magellan]   in use: #: 12018 purpose: mocking port
[WARN] [Magellan]   in use: #: 12019 purpose: selenium port
[WARN] [Magellan]   in use: #: 12020 purpose: generic
[INFO] [Magellan] Found selenium HTTP server at port 12027, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12030, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12033, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12028, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12031, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12034, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12029, port is in use.
[WARN] [Magellan] Detected port contention while spinning up worker:
[WARN] [Magellan]   in use: #: 12027 purpose: mocking port
[WARN] [Magellan]   in use: #: 12028 purpose: selenium port
[WARN] [Magellan]   in use: #: 12029 purpose: generic
[INFO] [Magellan] Found selenium HTTP server at port 12032, port is in use.
[WARN] [Magellan] Detected port contention while spinning up worker:
[WARN] [Magellan]   in use: #: 12030 purpose: mocking port
[WARN] [Magellan]   in use: #: 12031 purpose: selenium port
[WARN] [Magellan]   in use: #: 12032 purpose: generic
[INFO] [Magellan] Found selenium HTTP server at port 12035, port is in use.
[WARN] [Magellan] Detected port contention while spinning up worker:
[WARN] [Magellan]   in use: #: 12033 purpose: mocking port
[WARN] [Magellan]   in use: #: 12034 purpose: selenium port
[WARN] [Magellan]   in use: #: 12035 purpose: generic
[INFO] [Magellan] Found selenium HTTP server at port 12036, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12042, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12039, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12037, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12043, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12040, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12038, port is in use.
[WARN] [Magellan] Detected port contention while spinning up worker:
[WARN] [Magellan]   in use: #: 12036 purpose: mocking port
[WARN] [Magellan]   in use: #: 12037 purpose: selenium port
[WARN] [Magellan]   in use: #: 12038 purpose: generic
[INFO] [Magellan] Found selenium HTTP server at port 12044, port is in use.
[WARN] [Magellan] Detected port contention while spinning up worker:
[WARN] [Magellan]   in use: #: 12042 purpose: mocking port
[WARN] [Magellan]   in use: #: 12043 purpose: selenium port
[WARN] [Magellan]   in use: #: 12044 purpose: generic
[INFO] [Magellan] Found selenium HTTP server at port 12041, port is in use.
[WARN] [Magellan] Detected port contention while spinning up worker:
[WARN] [Magellan]   in use: #: 12039 purpose: mocking port
[WARN] [Magellan]   in use: #: 12040 purpose: selenium port
[WARN] [Magellan]   in use: #: 12041 purpose: generic
[INFO] [Magellan] Found selenium HTTP server at port 12045, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12048, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12051, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12046, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12049, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12052, port is in use.
[INFO] [Magellan] Found selenium HTTP server at port 12047, port is in use.
[WARN] [Magellan] Detected port contention while spinning up worker:
[WARN] [Magellan]   in use: #: 12045 purpose: mocking port
[WARN] [Magellan]   in use: #: 12046 purpose: selenium port
[WARN] [Magellan]   in use: #: 12047 purpose: generic

Error in executing boilerplate code

Getting an error [ERROR] [Magellan] Error: Cannot find module './lib/executor'

npm test

> [email protected] test /Users/xxxxxx/dev/boilerplate-nightwatch
> DPRO=local ./node_modules/.bin/magellan --local_browsers chrome,firefox

[INFO] [Magellan] Magellan is creating temporary files at: /Users/xxxxxx/dev/boilerplate-nightwatch/temp
[INFO] [Magellan] Magellan 10.0.0
[INFO] [Magellan] Will try to load configuration from default of ./magellan.json
Loaded configuration from:  /Users/xxxxxx/dev/boilerplate-nightwatch/magellan.json
[INFO] [Magellan] Loaded test framework:
[INFO] [Magellan]   testarmada-magellan-nightwatch-plugin
[ERROR] [Magellan] There are errors in loading executors
[ERROR] [Magellan] Error: Cannot find module './lib/executor'
[ERROR] [Magellan] Error: Cannot find module './lib/executor'
[INFO] [Magellan] Loaded test executors:
[INFO] [Magellan Nightwatch Plugin] test iterator found nightwatch configuration at: ./conf/nightwatch.json
[INFO] [Magellan Nightwatch Plugin] Scanning tests for test files ...
[INFO] [Magellan Nightwatch Plugin] Found 2 test files in tests
npm ERR! Test failed.  See above for more details.

npm run test:desktop fails

Running npm run test:desktkop gives me this.
I have travis.dev mapped to 127.0.0.1 in my host file.

m-c02tr0mug8wl:boilerplate-nightwatch m0c018p$ npm run test:desktop

> [email protected] test:desktop /Users/m0c018p/boilerplate-nightwatch
> DPRO=local ./node_modules/.bin/magellan --local_browsers chrome --test tests/demo-web.js --serial --strategy_bail testarmada-magellan-early-bail-strategy

[INFO] [Magellan] Will try to load configuration from default of ./magellan.json
Loaded configuration from:  /Users/m0c018p/boilerplate-nightwatch/magellan.json
[INFO] [Magellan] Magellan is creating temporary files at: /Users/m0c018p/boilerplate-nightwatch/temp
[INFO] [Magellan] Magellan 10.1.0
[INFO] [Magellan] Loaded test framework:
[INFO] [Magellan]   testarmada-magellan-nightwatch-plugin
[ERROR] [Magellan] There are errors in loading executors
[ERROR] [Magellan] Error: Cannot find module './lib/executor'
[ERROR] [Magellan] Error: Cannot find module './lib/executor'
[INFO] [Magellan] Loaded test executors:
[INFO] [Magellan] Enabled bail strategy:
[INFO] [Magellan]   testarmada-magellan-early-bail-strategy: Magellan will bail if failure ratio exceeds a threshold within a given period
[INFO] [Nightwatch Plugin] test iterator found nightwatch configuration at: ./conf/nightwatch.json
[INFO] [Nightwatch Plugin] Scanning tests for test files ...
[INFO] [Nightwatch Plugin] Found 3 test files in tests
[INFO] [Nightwatch Plugin] Using nightwatch test filter: tests/demo-web.js

npm ERR! Darwin 16.7.0
npm ERR! argv "/Users/m0c018p/.nvm/versions/node/v6.11.2/bin/node" "/Users/m0c018p/.nvm/versions/node/v6.11.2/bin/npm" "run" "test:desktop"
npm ERR! node v6.11.2
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! [email protected] test:desktop: `DPRO=local ./node_modules/.bin/magellan --local_browsers chrome --test tests/demo-web.js --serial --strategy_bail testarmada-magellan-early-bail-strategy`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] test:desktop script 'DPRO=local ./node_modules/.bin/magellan --local_browsers chrome --test tests/demo-web.js --serial --strategy_bail testarmada-magellan-early-bail-strategy'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the testarmada-boilerplate-nightwatch package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     DPRO=local ./node_modules/.bin/magellan --local_browsers chrome --test tests/demo-web.js --serial --strategy_bail testarmada-magellan-early-bail-strategy
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs testarmada-boilerplate-nightwatch
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls testarmada-boilerplate-nightwatch
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/m0c018p/boilerplate-nightwatch/npm-debug.log

npm run test:desktop blows up at the end on Windows 7

$ ./node_modules/.bin/cross-env DPRO=local ./node_modules/.bin/magellan --local_browser chrome --test tests/demo-simple.js --serial
[INFO] [Magellan] Will try to load configuration from default of ./magellan.json
Loaded configuration from:  C:\Users\abowler\code\boilerplate-nightwatch\magellan.json
[INFO] [Magellan] Magellan is creating temporary files at: C:\Users\abowler\code\boilerplate-nightwatch\temp
[INFO] [Magellan] Magellan 10.1.1
[INFO] [Magellan] Loaded test framework:
[INFO] [Magellan]   testarmada-magellan-nightwatch-plugin
[INFO] [Magellan] Loaded test executors:
[INFO] [Magellan]   testarmada-magellan-local-executor
[INFO] [Magellan]   testarmada-magellan-sauce-executor
[INFO] [Magellan] Enabled bail strategy:
[INFO] [Magellan]   testarmada-magellan-early-bail-strategy: Magellan will bail if failure ratio exceeds a threshold within a given period
[INFO] [Nightwatch Plugin] test iterator found nightwatch configuration at: ./conf/nightwatch.json
[INFO] [Nightwatch Plugin] Scanning tests for test files ...
[INFO] [Nightwatch Plugin] Found 3 test files in tests
[INFO] [Nightwatch Plugin] Using nightwatch test filter: tests/demo-simple.js
[INFO] [Saucelabs Executor] Connected to sauce without tunnel
[INFO] [Magellan] Running 1 tests in serial mode with [env:chrome|executor:local]
[INFO] [Magellan] --> Serial mode, port range: [12000, 12002], running test: tests/demo-simple.js @env:chrome|executor:local
[INFO] [Nightwatch Extra] Found nightwatch configuration at C:\Users\abowler\code\boilerplate-nightwatch\temp\build-magellan-1c1ed01ecdb080_1c0a95f5e9a411__temp_assets\nightwatch.json
[INFO] [Nightwatch Extra] Found default plugin Appium Plugin
[INFO] [Nightwatch Extra] Found default plugin Error Dictionary Plugin
[INFO] [Nightwatch Extra] Found plugin Drydock Plugin
[INFO] [Nightwatch Extra] [Appium Plugin] No appium is configured in nightwatch.json, skip appium start
[INFO] [Nightwatch Extra] [Error Dictionary Plugin] Found dictionary at ./nightwatch_dictionary.js, loading dictionary
starting drydock 0.4.4 server on dev.walmart.com:12001...
(node:4704) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
[INFO] [Nightwatch Extra] [Drydock Plugin] Drydock server started
Starting selenium server... started - PID:  14940

[Demo Simple] Test Suite
============================

Running:  Load demo page
No assertions ran.

Running:  Verify all cities
 √ Screenshot for selector <.city:eq(2)> is taken after 734 milliseconds
 √ Testing if selector <#tokyo> contains text <Tokyo> after 235 milliseconds
 √ Testing if selector <.city:eq(1) p:eq(1)> contains text <Europe> after 227 milliseconds

OK. 3 assertions passed. (1.2s)

OK. 3  total assertions passed. (3.946s)
[INFO] [Nightwatch Extra] [Appium Plugin] No appium is configured in nightwatch.json, skip appium stop
stopping server...
[INFO] [Nightwatch Extra] [Drydock Plugin] Drydock server terminated
[INFO] [Magellan] (1 / 1) PASS  tests/demo-simple.js @env:chrome|executor:local
[INFO] [Magellan] ============= Suite Complete =============
[INFO] [Magellan]      Status: PASSED
[INFO] [Magellan]     Runtime: 14.4s
[INFO] [Magellan] Total tests: 1
[INFO] [Magellan]  Successful: 1 / 1
[WARN] [Magellan] executor teardownRunner error: Error: Operation unsupported on Windows
(node:8452) UnhandledPromiseRejectionWarning: Error: Operation unsupported on Windows
    at getTree (C:\Users\abowler\code\boilerplate-nightwatch\node_modules\testarmada-tree-kill\index.js:141:13)
    at checkForZombies (C:\Users\abowler\code\boilerplate-nightwatch\node_modules\testarmada-tree-kill\index.js:21:16)
    at Object.getZombieChildren (C:\Users\abowler\code\boilerplate-nightwatch\node_modules\testarmada-tree-kill\index.js:85:3)
    at Object.module.exports [as processCleanup] (C:\Users\abowler\code\boilerplate-nightwatch\node_modules\testarmada-magellan\src\util\process_cleanup.js:23:20)
    at Promise.all.then.catch (C:\Users\abowler\code\boilerplate-nightwatch\node_modules\testarmada-magellan\src\cli.js:443:29)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
(node:8452) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:8452) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

I installed JDK v8, changed the chrome driver config in nightwatch.json and ran through the rest of the Windows installation.

Tests passed but it crashed afterwards and I am unsure if there were more steps that needed to be ran.

boilerplate (phandomjs) install hangs with node v4

npm version 2.14.7, node version 4.2.1

The boilerplate install hangs on

Copying extracted folder /var/folders/7z/g6p5prm509z174qw082j0ffr0000gn/T/phantomjs/phantomjs-1.9.8-macosx.zip-extract-1447685587195/phantomjs-1.9.8-macosx -> /Users/jhudson/tmp/magellan/boilerplate/node_modules/testarmada-performance-reporter/node_modules/testarmada-magellan-nightwatch/node_modules/phantomjs/lib/phantom

The full install log is

> [email protected] postinstall /Users/jhudson/tmp/magellan/boilerplate/node_modules/testarmada-magellan/node_modules/sync-request/node_modules/spawn-sync
> node postinstall


> [email protected] postinstall /Users/jhudson/tmp/magellan/boilerplate/node_modules/testarmada-performance-reporter/node_modules/testarmada-magellan/node_modules/sync-request/node_modules/spawn-sync
> node postinstall


> [email protected] install /Users/jhudson/tmp/magellan/boilerplate/node_modules/testarmada-magellan-nightwatch/node_modules/methodmissing/node_modules/node-proxy
> node-gyp configure build

  CXX(target) Release/obj.target/nodeproxy/src/node-proxy.o
  SOLINK_MODULE(target) Release/nodeproxy.node

> [email protected] install /Users/jhudson/tmp/magellan/boilerplate/node_modules/testarmada-performance-reporter/node_modules/testarmada-magellan-nightwatch/node_modules/methodmissing/node_modules/node-proxy
> node-gyp configure build

  CXX(target) Release/obj.target/nodeproxy/src/node-proxy.o
  SOLINK_MODULE(target) Release/nodeproxy.node

> [email protected] install /Users/jhudson/tmp/magellan/boilerplate/node_modules/testarmada-performance-reporter/node_modules/testarmada-magellan-nightwatch/node_modules/phantomjs
> node install.js

Download already available at /var/folders/7z/g6p5prm509z174qw082j0ffr0000gn/T/phantomjs/phantomjs-1.9.8-macosx.zip
Extracting zip contents
Removing /Users/jhudson/tmp/magellan/boilerplate/node_modules/testarmada-performance-reporter/node_modules/testarmada-magellan-nightwatch/node_modules/phantomjs/lib/phantom
Copying extracted folder /var/folders/7z/g6p5prm509z174qw082j0ffr0000gn/T/phantomjs/phantomjs-1.9.8-macosx.zip-extract-1447685587195/phantomjs-1.9.8-macosx -> /Users/jhudson/tmp/magellan/boilerplate/node_modules/testarmada-performance-reporter/node_modules/testarmada-magellan-nightwatch/node_modules/phantomjs/lib/phantom
/

(full verbose log is attached)
install-log.txt

Version 10 of node.js has been released

Version 10 of Node.js (code name Dubnium) has been released! 🎊

To see what happens to your code in Node.js 10, Greenkeeper has created a branch with the following changes:

  • Added the new Node.js version to your .travis.yml

If you’re interested in upgrading this repo to Node.js 10, you can open a PR with these changes. Please note that this issue is just intended as a friendly reminder and the PR as a possible starting point for getting your code running on Node.js 10.

More information on this issue

Greenkeeper has checked the engines key in any package.json file, the .nvmrc file, and the .travis.yml file, if present.

  • engines was only updated if it defined a single version, not a range.
  • .nvmrc was updated to Node.js 10
  • .travis.yml was only changed if there was a root-level node_js that didn’t already include Node.js 10, such as node or lts/*. In this case, the new version was appended to the list. We didn’t touch job or matrix configurations because these tend to be quite specific and complex, and it’s difficult to infer what the intentions were.

For many simpler .travis.yml configurations, this PR should suffice as-is, but depending on what you’re doing it may require additional work or may not be applicable at all. We’re also aware that you may have good reasons to not update to Node.js 10, which is why this was sent as an issue and not a pull request. Feel free to delete it without comment, I’m a humble robot and won’t feel rejected 🤖


FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

npm run test:desktop fails because of magellan-browserstack-executor

Following the directions to test locally, running npm run test:desktop fails with on master:

[INFO] [Magellan] Will try to load configuration from default of ./magellan.json
Loaded configuration from:  /Users/michael-davis/dev/magellan/magellan.json
[INFO] [Magellan] Magellan is creating temporary files at: /Users/michael-davis/dev/magellan/temp
[INFO] [Magellan] Magellan 10.1.0
[INFO] [Magellan] Loaded test framework: 
[INFO] [Magellan]   testarmada-magellan-nightwatch-plugin
[INFO] [Magellan] Loaded test executors: 
[INFO] [Magellan]   testarmada-magellan-local-executor
[INFO] [Magellan]   testarmada-magellan-sauce-executor
[INFO] [Magellan]   testarmada-magellan-browserstack-executor
[INFO] [Magellan] Enabled bail strategy: 
[INFO] [Magellan]   testarmada-magellan-early-bail-strategy: Magellan will bail if failure ratio exceeds a threshold within a given period
[INFO] [Nightwatch Plugin] test iterator found nightwatch configuration at: ./conf/nightwatch.json
[INFO] [Nightwatch Plugin] Scanning tests for test files ...
[INFO] [Nightwatch Plugin] Found 3 test files in tests
[INFO] [Nightwatch Plugin] Using nightwatch test filter: tests/demo-web.js
[ERROR] [Magellan] Error initializing Magellan
[ERROR] [Magellan] Error description:
[ERROR] [Magellan] Error: no auth mechanism defined
[ERROR] [Magellan] Error stack trace:
[ERROR] [Magellan] Error: no auth mechanism defined
    at Auth.onRequest (/Users/michael-davis/dev/magellan/node_modules/request/lib/auth.js:132:32)
    at Request.auth (/Users/michael-davis/dev/magellan/node_modules/request/request.js:1349:14)
    at Request.init (/Users/michael-davis/dev/magellan/node_modules/request/request.js:375:10)
    at new Request (/Users/michael-davis/dev/magellan/node_modules/request/request.js:128:8)
    at request (/Users/michael-davis/dev/magellan/node_modules/request/index.js:53:10)
    at Function.get (/Users/michael-davis/dev/magellan/node_modules/request/index.js:61:12)
    at /Users/michael-davis/dev/magellan/node_modules/testarmada-magellan-browserstack-executor/lib/pancake.js:63:27
    at Promise (<anonymous>)
    at Object.initialize (/Users/michael-davis/dev/magellan/node_modules/testarmada-magellan-browserstack-executor/lib/pancake.js:46:12)
    at Object.getProfiles (/Users/michael-davis/dev/magellan/node_modules/testarmada-magellan-browserstack-executor/lib/profile.js:68:30)

The culprit seems to be the addition of testarmada-magellan-browserstack-executor in magellan.json. Removing it fixes the issue.

I'm not familiar with the pattern, but should testarmada-magellan-browserstack-executor be removed? Or is it expected to fail gracefully (it looks like testarmada-magellan-saucelabs-executor is in there but does not fail when no credentials are given).

Testrunner.js of testarmada-magellan is giving incorrect test case count.

We an have 2 testcase in single file. Like below:

module.exports = new Test({
  tags: ["pageobject", "web", "home"],

  "Homepage/Rajesh/c12345/ValidateHomepage": function(client) {
    client.url('https://flipkart.com');
    client.end();
  },
  "Homepage/Rajesh/c12345/validateGooglePage": function(client) {
    client.url('https://google.com');
    client.end();
}
});

testrunner.js under testarmada-magellan give "numTests" as 1 where as nightwatch gives 2(correct one).
I tried with "testarmada-magellan-json-reporter" . Json reporter also gives total tests as 1 and testcase name is incorrect too. It has file name instead of testcase name.

followed the steps on http://testarmada.github.io/ and got this errors

| => ./node_modules/.bin/magellan --serial --browser=chrome
Magellan 8.8.4
Will try to load configuration from default of ./magellan.json
Loaded configuration from:  /Users/josepita/testArmada/boilerplate/magellan.json
Magellan is creating temporary files at: /Users/josepita/testArmada/boilerplate/temp
Sauce configuration OK
Magellan-nightwatch test iterator found nightwatch configuration at: ./conf/nightwatch.json
Scanning tests for test files ...
Found 2 test files in tests

Running 2 tests in serial mode with chrome

--> Serial mode, mock port:12000, running test: tests/demo-first.js @chrome
Starting selenium server... started - PID:  51588
nightwatch-magellan has found nightwatch configuration at  /Users/josepita/testArmada/boilerplate/temp/build-magellan-644ef5c3ae1bc_1a28b874af4b7d__temp_assets/nightwatch.json

[Demo First] Test Suite
=======================
starting drydock 0.4.4 server on 127.0.0.1:12000...

Running:  Load demo page
No assertions ran.

Running:  Verify all cities
 ✔ Testing if selector <#tokyo> contains text <Tokyo> after 250 milliseconds
 ✔ Testing if selector <.city:eq(1) p:eq(1)> contains text <Europe> after 226 milliseconds

OK. 2 assertions passed. (482ms)
stopping server...

OK. 2 total assertions passed. (7.46s)

(1 / 2) PASS  tests/demo-first.js @chrome

--> Serial mode, mock port:12003, running test: tests/demo-page-object.js @chrome
Starting selenium server... started - PID:  51601
nightwatch-magellan has found nightwatch configuration at  /Users/josepita/testArmada/boilerplate/temp/build-magellan-644ef5c3ae1bc_4d23ddaf4ccc0__temp_assets/nightwatch.json
[ERR]: data file load failed Error: Cannot find module '/Users/josepita/testArmada/boilerplate/conf/data/default.js'
[ERR]: no data will be loaded

[Demo Page Object] Test Suite
=============================
starting drydock 0.4.4 server on 127.0.0.1:12003...

Running:  Load demo first page
No assertions ran.

Running:  Verify all cities on first page
 ✔ Testing if selector <#tokyo> contains text <Tokyo> after 244 milliseconds
 ✔ Testing if selector <.city:eq(1) p:eq(1)> contains text <Europe> after 228 milliseconds

OK. 2 assertions passed. (487ms)

Running:  Jump to demo second page
 ✔ Selector 'Section[name=jumptoseconddemo],Element[name=@link]' was visible after 247 milliseconds.
 ✔ Selector <Section[name=jumptoseconddemo],Element[name=@link]> clicked after 312 milliseconds

OK. 2 assertions passed. (580ms)

Running:  Verify cities on second page
 ✔ Selector 'Section[name=beijing],Element[name=@title]' was visible after 249 milliseconds.
 ✔ Testing if selector <#beijing> contains text <Beijing> after 222 milliseconds
 ✔ Testing if selector <Section[name=beijing],Element[name=@description]> contains text <China> after 227 milliseconds
 ✔ Testing if selector <Section[name=beijing],Element[name=@content]> contains text <It is the most populous city in the China> after 230 milliseconds

OK. 4 assertions passed. (944ms)

Running:  Verify cities on second page - performance improvement
 ✔ Selector '#beijing' was visible after 220 milliseconds.
 ✔ Testing if selector <#beijing> contains text <Beijing> after 221 milliseconds
 ✔ Testing if selector <#description> contains text <China> after 219 milliseconds
 ✔ Testing if selector <#content> contains text <It is the most populous city in the China> after 220 milliseconds

OK. 4 assertions passed. (891ms)

Running:  Verify cities on second page - maintenance improvement
✖ TypeError: Cannot read property 'title' of undefined
    at Object.module.exports.Test.Verify cities on second page - maintenance improvement (/Users/josepita/testArmada/boilerplate/tests/demo-page-object.js:61:21)
    at Object.steps.(anonymous function) (/Users/josepita/testArmada/boilerplate/node_modules/testarmada-nightwatch-extra/lib/selenium-session-acquisition-wrapper.js:35:22)
    at Module.call (/Users/josepita/testArmada/boilerplate/node_modules/nightwatch/lib/runner/module.js:63:34)
    at /Users/josepita/testArmada/boilerplate/node_modules/nightwatch/lib/runner/testcase.js:97:29
    at _fulfilled (/Users/josepita/testArmada/boilerplate/node_modules/q/q.js:834:54)
    at self.promiseDispatch.done (/Users/josepita/testArmada/boilerplate/node_modules/q/q.js:863:30)
    at Promise.promise.promiseDispatch (/Users/josepita/testArmada/boilerplate/node_modules/q/q.js:796:13)
    at /Users/josepita/testArmada/boilerplate/node_modules/q/q.js:556:49
    at runSingle (/Users/josepita/testArmada/boilerplate/node_modules/q/q.js:137:13)
    at flush (/Users/josepita/testArmada/boilerplate/node_modules/q/q.js:125:13)
    at _combinedTickCallback (internal/process/next_tick.js:67:7)
    at process._tickDomainCallback (internal/process/next_tick.js:122:9)

FAILED:  1 assertions failed (7ms)
stopping server...

----------------------------------------------------
TEST FAILURE: 1 assertions failed, 12 passed (9.844s)
 ✖ demo-page-object
   - Verify cities on second page - maintenance improvement


(2 / 2) FAIL (will retry).  Spent 10447 msec tests/demo-page-object.js @chrome

--> Serial mode, mock port:12006, running test: tests/demo-page-object.js @chrome
Starting selenium server... started - PID:  51617
nightwatch-magellan has found nightwatch configuration at  /Users/josepita/testArmada/boilerplate/temp/build-magellan-644ef5c3ae1bc_13f5a11f61a42a__temp_assets/nightwatch.json
[ERR]: data file load failed Error: Cannot find module '/Users/josepita/testArmada/boilerplate/conf/data/default.js'
[ERR]: no data will be loaded

[Demo Page Object] Test Suite
=============================
starting drydock 0.4.4 server on 127.0.0.1:12006...

Running:  Load demo first page
No assertions ran.

Running:  Verify all cities on first page
 ✔ Testing if selector <#tokyo> contains text <Tokyo> after 246 milliseconds
 ✔ Testing if selector <.city:eq(1) p:eq(1)> contains text <Europe> after 240 milliseconds

OK. 2 assertions passed. (499ms)

Running:  Jump to demo second page
 ✔ Selector 'Section[name=jumptoseconddemo],Element[name=@link]' was visible after 253 milliseconds.
 ✔ Selector <Section[name=jumptoseconddemo],Element[name=@link]> clicked after 320 milliseconds

OK. 2 assertions passed. (594ms)

Running:  Verify cities on second page
 ✔ Selector 'Section[name=beijing],Element[name=@title]' was visible after 246 milliseconds.
 ✔ Testing if selector <#beijing> contains text <Beijing> after 221 milliseconds
 ✔ Testing if selector <Section[name=beijing],Element[name=@description]> contains text <China> after 229 milliseconds
 ✔ Testing if selector <Section[name=beijing],Element[name=@content]> contains text <It is the most populous city in the China> after 227 milliseconds

OK. 4 assertions passed. (935ms)

Running:  Verify cities on second page - performance improvement
 ✔ Selector '#beijing' was visible after 221 milliseconds.
 ✔ Testing if selector <#beijing> contains text <Beijing> after 221 milliseconds
 ✔ Testing if selector <#description> contains text <China> after 220 milliseconds
 ✔ Testing if selector <#content> contains text <It is the most populous city in the China> after 219 milliseconds

OK. 4 assertions passed. (894ms)

Running:  Verify cities on second page - maintenance improvement
✖ TypeError: Cannot read property 'title' of undefined
    at Object.module.exports.Test.Verify cities on second page - maintenance improvement (/Users/josepita/testArmada/boilerplate/tests/demo-page-object.js:61:21)
    at Object.steps.(anonymous function) (/Users/josepita/testArmada/boilerplate/node_modules/testarmada-nightwatch-extra/lib/selenium-session-acquisition-wrapper.js:35:22)
    at Module.call (/Users/josepita/testArmada/boilerplate/node_modules/nightwatch/lib/runner/module.js:63:34)
    at /Users/josepita/testArmada/boilerplate/node_modules/nightwatch/lib/runner/testcase.js:97:29
    at _fulfilled (/Users/josepita/testArmada/boilerplate/node_modules/q/q.js:834:54)
    at self.promiseDispatch.done (/Users/josepita/testArmada/boilerplate/node_modules/q/q.js:863:30)
    at Promise.promise.promiseDispatch (/Users/josepita/testArmada/boilerplate/node_modules/q/q.js:796:13)
    at /Users/josepita/testArmada/boilerplate/node_modules/q/q.js:556:49
    at runSingle (/Users/josepita/testArmada/boilerplate/node_modules/q/q.js:137:13)
    at flush (/Users/josepita/testArmada/boilerplate/node_modules/q/q.js:125:13)
    at _combinedTickCallback (internal/process/next_tick.js:67:7)
    at process._tickDomainCallback (internal/process/next_tick.js:122:9)

FAILED:  1 assertions failed (8ms)
stopping server...

----------------------------------------------------
TEST FAILURE: 1 assertions failed, 12 passed (9.979s)
 ✖ demo-page-object
   - Verify cities on second page - maintenance improvement


(2 / 2) FAIL (will retry).  Spent 10605 msec tests/demo-page-object.js @chrome

--> Serial mode, mock port:12009, running test: tests/demo-page-object.js @chrome
Starting selenium server... started - PID:  51631
nightwatch-magellan has found nightwatch configuration at  /Users/josepita/testArmada/boilerplate/temp/build-magellan-644ef5c3ae1bc_a4669d07966b8__temp_assets/nightwatch.json
[ERR]: data file load failed Error: Cannot find module '/Users/josepita/testArmada/boilerplate/conf/data/default.js'
[ERR]: no data will be loaded

[Demo Page Object] Test Suite
=============================
starting drydock 0.4.4 server on 127.0.0.1:12009...

Running:  Load demo first page
No assertions ran.

Running:  Verify all cities on first page
 ✔ Testing if selector <#tokyo> contains text <Tokyo> after 248 milliseconds
 ✔ Testing if selector <.city:eq(1) p:eq(1)> contains text <Europe> after 226 milliseconds

OK. 2 assertions passed. (486ms)

Running:  Jump to demo second page
 ✔ Selector 'Section[name=jumptoseconddemo],Element[name=@link]' was visible after 252 milliseconds.
 ✔ Selector <Section[name=jumptoseconddemo],Element[name=@link]> clicked after 317 milliseconds

OK. 2 assertions passed. (589ms)

Running:  Verify cities on second page
 ✔ Selector 'Section[name=beijing],Element[name=@title]' was visible after 248 milliseconds.
 ✔ Testing if selector <#beijing> contains text <Beijing> after 221 milliseconds
 ✔ Testing if selector <Section[name=beijing],Element[name=@description]> contains text <China> after 229 milliseconds
 ✔ Testing if selector <Section[name=beijing],Element[name=@content]> contains text <It is the most populous city in the China> after 227 milliseconds

OK. 4 assertions passed. (940ms)

Running:  Verify cities on second page - performance improvement
 ✔ Selector '#beijing' was visible after 220 milliseconds.
 ✔ Testing if selector <#beijing> contains text <Beijing> after 222 milliseconds
 ✔ Testing if selector <#description> contains text <China> after 221 milliseconds
 ✔ Testing if selector <#content> contains text <It is the most populous city in the China> after 219 milliseconds

OK. 4 assertions passed. (892ms)

Running:  Verify cities on second page - maintenance improvement
✖ TypeError: Cannot read property 'title' of undefined
    at Object.module.exports.Test.Verify cities on second page - maintenance improvement (/Users/josepita/testArmada/boilerplate/tests/demo-page-object.js:61:21)
    at Object.steps.(anonymous function) (/Users/josepita/testArmada/boilerplate/node_modules/testarmada-nightwatch-extra/lib/selenium-session-acquisition-wrapper.js:35:22)
    at Module.call (/Users/josepita/testArmada/boilerplate/node_modules/nightwatch/lib/runner/module.js:63:34)
    at /Users/josepita/testArmada/boilerplate/node_modules/nightwatch/lib/runner/testcase.js:97:29
    at _fulfilled (/Users/josepita/testArmada/boilerplate/node_modules/q/q.js:834:54)
    at self.promiseDispatch.done (/Users/josepita/testArmada/boilerplate/node_modules/q/q.js:863:30)
    at Promise.promise.promiseDispatch (/Users/josepita/testArmada/boilerplate/node_modules/q/q.js:796:13)
    at /Users/josepita/testArmada/boilerplate/node_modules/q/q.js:556:49
    at runSingle (/Users/josepita/testArmada/boilerplate/node_modules/q/q.js:137:13)
    at flush (/Users/josepita/testArmada/boilerplate/node_modules/q/q.js:125:13)
    at _combinedTickCallback (internal/process/next_tick.js:67:7)
    at process._tickDomainCallback (internal/process/next_tick.js:122:9)

FAILED:  1 assertions failed (7ms)
stopping server...

----------------------------------------------------
TEST FAILURE: 1 assertions failed, 12 passed (9.865s)
 ✖ demo-page-object
   - Verify cities on second page - maintenance improvement


(2 / 2) FAIL  tests/demo-page-object.js @chrome


============= Failed Tests:  =============


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Failed Test: tests/demo-page-object.js @chrome
 # attempts: 3
     output:
13:24:39 Magellan child process start

13:24:39 Starting selenium server...
13:24:40 started - PID:  51631
13:24:40 nightwatch-magellan has found nightwatch configuration at  /Users/josepita/testArmada/boilerplate/temp/build-magellan-644ef5c3ae1bc_a4669d07966b8__temp_assets/nightwatch.json
13:24:40 [ERR]: data file load failed Error: Cannot find module '/Users/josepita/testArmada/boilerplate/conf/data/default.js'
13:24:40 [ERR]: no data will be loaded
13:24:40 [Demo Page Object] Test Suite
13:24:40 =============================
13:24:40 starting drydock 0.4.4 server on 127.0.0.1:12009...
13:24:40 Running:  Load demo first page
13:24:41 No assertions ran.
13:24:41 Running:  Verify all cities on first page
13:24:42  ✔ Testing if selector <#tokyo> contains text <Tokyo> after 248 milliseconds
13:24:42  ✔ Testing if selector <.city:eq(1) p:eq(1)> contains text <Europe> after 226 milliseconds
13:24:42 OK. 2 assertions passed. (486ms)
13:24:42 Running:  Jump to demo second page
13:24:42  ✔ Selector 'Section[name=jumptoseconddemo],Element[name=@link]' was visible after 252 milliseconds.
13:24:43  ✔ Selector <Section[name=jumptoseconddemo],Element[name=@link]> clicked after 317 milliseconds
13:24:43 OK. 2 assertions passed. (589ms)
13:24:43 Running:  Verify cities on second page
13:24:43  ✔ Selector 'Section[name=beijing],Element[name=@title]' was visible after 248 milliseconds.
13:24:43  ✔ Testing if selector <#beijing> contains text <Beijing> after 221 milliseconds
13:24:43  ✔ Testing if selector <Section[name=beijing],Element[name=@description]> contains text <China> after 229 milliseconds
13:24:44  ✔ Testing if selector <Section[name=beijing],Element[name=@content]> contains text <It is the most populous city in the China> after 227 milliseconds
13:24:44 OK. 4 assertions passed. (940ms)
13:24:44 Running:  Verify cities on second page - performance improvement
13:24:44  ✔ Selector '#beijing' was visible after 220 milliseconds.
13:24:44  ✔ Testing if selector <#beijing> contains text <Beijing> after 222 milliseconds
13:24:44  ✔ Testing if selector <#description> contains text <China> after 221 milliseconds
13:24:44  ✔ Testing if selector <#content> contains text <It is the most populous city in the China> after 219 milliseconds
13:24:44 OK. 4 assertions passed. (892ms)
13:24:44 Running:  Verify cities on second page - maintenance improvement
13:24:44 ✖ TypeError: Cannot read property 'title' of undefined
13:24:44     at Object.module.exports.Test.Verify cities on second page - maintenance improvement (/Users/josepita/testArmada/boilerplate/tests/demo-page-object.js:61:21)
13:24:44     at Object.steps.(anonymous function) (/Users/josepita/testArmada/boilerplate/node_modules/testarmada-nightwatch-extra/lib/selenium-session-acquisition-wrapper.js:35:22)
13:24:44     at Module.call (/Users/josepita/testArmada/boilerplate/node_modules/nightwatch/lib/runner/module.js:63:34)
13:24:44     at /Users/josepita/testArmada/boilerplate/node_modules/nightwatch/lib/runner/testcase.js:97:29
13:24:44     at _fulfilled (/Users/josepita/testArmada/boilerplate/node_modules/q/q.js:834:54)
13:24:44     at self.promiseDispatch.done (/Users/josepita/testArmada/boilerplate/node_modules/q/q.js:863:30)
13:24:44     at Promise.promise.promiseDispatch (/Users/josepita/testArmada/boilerplate/node_modules/q/q.js:796:13)
13:24:44     at /Users/josepita/testArmada/boilerplate/node_modules/q/q.js:556:49
13:24:44     at runSingle (/Users/josepita/testArmada/boilerplate/node_modules/q/q.js:137:13)
13:24:44     at flush (/Users/josepita/testArmada/boilerplate/node_modules/q/q.js:125:13)
13:24:44     at _combinedTickCallback (internal/process/next_tick.js:67:7)
13:24:44     at process._tickDomainCallback (internal/process/next_tick.js:122:9)
13:24:44 FAILED:  1 assertions failed (7ms)
13:24:44 stopping server...
13:24:49 ----------------------------------------------------
13:24:49 TEST FAILURE: 1 assertions failed, 12 passed (9.865s)
13:24:49  ✖ demo-page-object
13:24:49    - Verify cities on second page - maintenance improvement



============= Suite Complete =============

     Status: FAILED
    Runtime: 50.4s
Total tests: 2
 Successful: 1 / 2
     Failed: 1 / 2```

phantomjs hangs (Windows 8.1)

$> "./node_modules/.bin/magellan" --browser=phantomjs
Sauce configuration OK
Magellan-nightwatch test iterator found nightwatch configuration at: ./conf/nightwatch.json

Running 3 tests with 3 workers with phantomjs

--> Worker 1, mock port: 12000, running test: tests/github.js @phantomjs
--> Worker 3, mock port: 12006, running test: tests/walmart-shirt.js @phantomjs
--> Worker 2, mock port: 12003, running test: tests/walmart-book.js @phantomjs

hangs...

Cannot find module 'magellan-saucelabs-executor'

When running the command as below for running tests on saucelabs, i am facing the below error.

21:12:19 in boilerplate-nightwatch on  master [(unstaged files)(untracked changes)] is 📦 v3.0.0 via ⬢ v10.15.0
➜ DPRO=local ./node_modules/.bin/magellan --sauce_browsers chrome_latest_Windows_10_Desktop,IE_11_Windows_10_Desktop --sauce_create_tunnels --test tests/demo-web.js --serial

[INFO] [Magellan] Will try to load configuration from default of ./magellan.json
Loaded configuration from:  /Users/n0s00jx/codebase/work/CEV/boilerplate-nightwatch/magellan.json
[INFO] [Magellan] Magellan is creating temporary files at: /Users/n0s00jx/codebase/work/CEV/boilerplate-nightwatch/temp
[INFO] [Magellan] Magellan 10.1.1
[INFO] [Magellan] Loaded test framework:
[INFO] [Magellan]   testarmada-magellan-nightwatch-plugin
[INFO] [Saucelabs Executor] Sauce configuration OK
[ERROR] [Magellan] There are errors in loading executors
[ERROR] [Magellan] Error: Cannot find module 'magellan-saucelabs-executor'

Testing with 'testarmada-magellan-saucelabs-executor' - is it possible to test on a mobile device's browser?

I saw there is an option to run magellan via saucelabs.
There are options to run it either on desktop ("browser":"safari_9_OS_X_10_11_Desktop"),
or on mobile ("browser":"iphone_10_0_iOS_iPhone_7_Simulator").
However, when running it with the iphone configuration I get this at runtime:
{"browserName":"iphone","version":"10.0","platform":"iOS","deviceName":"iPhone 6 Simulator"}

Is there an option to test a webpage on browserStack via magellan, but to open the tests on a browser on a mobile device? (and not an app on a mobile device)

Get `socket hang up` issue when i follow the same pattern here for nightwatch config

This is how my sauce config looks like in nightwatch.json:

    "sauce": {
      "selenium_host": "ondemand.saucelabs.com",
      "selenium_port": 80,
      "username": "${SAUCE_USERNAME}",
      "access_key": "${SAUCE_ACCESS_KEY}",
      "use_ssl" : false,
      "silent" : true,
      "output" : true,
      "screenshots" : {
        "enabled" : false,
        "on_failure" : true,
        "path" : ""
      },
      "desiredCapabilities": {
        "browserName": "",
        "platform": "",
        "version": ""
      },
      "selenium": {
        "start_process": false
      }
    }

And when i run it through saucelab using

SAUCE_USERNAME=... SAUCE_ACCESS_KEY=... ./node_modules/.bin/magellan --env saucelabs --sauce_browser chrome_latest_Windows_10_Desktop --sauce-create-tunnels --test ...

It keeps returning me

22:09:47 Error retrieving a new session from the selenium server
22:09:47 Connection refused! Is selenium server started?
22:09:47
22:09:47 { Error: socket hang up
22:09:47     at createHangUpError (_http_client.js:254:15)
22:09:47     at Socket.socketCloseListener (_http_client.js:286:23)
22:09:47     at emitOne (events.js:101:20)
22:09:47     at Socket.emit (events.js:188:7)
22:09:47     at TCP._handle.close [as _onclose] (net.js:497:12) code: 'ECONNRESET' }

[email protected]
[email protected]

Any idea about this?

"Search for Sam Walton Book" fails with Command 'resizeWindow' is not allowed or doesn't exist

Ran the suggested command, ./node_modules/.bin/magellan --serial --browser=chrome

node --version: v0.12.7
npm --version: 2.11.3

[Walmart Book] Test Suite
=========================

Running:  Search for Sam Walton Book
Error: Command 'resizeWindow' is not allowed or doesn't exist
    at /Users/xxx/testarmada/boilerplate/node_modules/testarmada-magellan-nightwatch/lib/client-api.js:45:13
    at null.<anonymous> (/Users/xxx/testarmada/boilerplate/node_modules/testarmada-magellan-nightwatch/node_modules/methodmissing/lib/methodmissing.js:26:18)
    at Object.module.exports.Test.Search for Sam Walton Book (/Users/xxx/testarmada/boilerplate/tests/walmart-book.js:7:8)
    at Object.steps.(anonymous function) (/Users/xxx/testarmada/boilerplate/node_modules/testarmada-magellan-nightwatch/lib/client-api.js:82:22)
    at Module.call (/Users/xxx/testarmada/boilerplate/node_modules/nightwatch/lib/runner/module.js:59:34)
    at /Users/xxx/testarmada/boilerplate/node_modules/nightwatch/lib/runner/testcase.js:79:29
    at _fulfilled (/Users/xxx/testarmada/boilerplate/node_modules/nightwatch/node_modules/q/q.js:834:54)
    at self.promiseDispatch.done (/Users/xxx/testarmada/boilerplate/node_modules/nightwatch/node_modules/q/q.js:863:30)
    at Promise.promise.promiseDispatch (/Users/xxx/testarmada/boilerplate/node_modules/nightwatch/node_modules/q/q.js:796:13)
    at /Users/xxx/testarmada/boilerplate/node_modules/nightwatch/node_modules/q/q.js:556:49

Connecting to Drydock fails on Mac

Demo Web] Test Suite

starting drydock 0.4.4 server on travis.dev:12001...
(node:7641) DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.

Error writing log file to: /Users/me/TestArmada/boilerplate-nightwatch/reports/selenium-debug.log
[INFO] [Nightwatch Extra] No appium is configured in nightwatch.json, skip appium stop

There was an error while starting the test runner:

Error: listen EADDRNOTAVAIL 127.0.53.53:12001
at Object.exports._errnoException (util.js:1050:11)
at exports._exceptionWithHostPort (util.js:1073:20)
at Server.setupListenHandle [as _listen2] (net.js:1247:19)
at listenInCluster (net.js:1304:12)
at doListen (net.js:1428:7)
at GetAddrInfoReqWrap.asyncCallback [as callback] (dns.js:62:16)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:78:10)

[INFO] [Magellan] (1 / 1) FAIL (will retry). Spent 1101 msec tests/demo-web.js @env:chrome|executor:local

Is there any way to execute the same test with different data?

The current workaround without using magellan is using -c command from nightwatch to specify nightwatch.conf.js.

I had to use some batch script to trigger the test that I want.

nightwatch -c sometest.conf.js
nightwatch -c another.conf.js

Is there any cleaner way to do it in magellan?

Writing Test Status (Pass/Fail) to Saucelabs

I started working in Magellan runner for Nightwatch scripts on Saucelabs. My tests are running fine but the failed test cases have status as (?)- "Complete" instead of "Fail" on Saucelabs.

Is there a way, I can print Test Status (Pass/Fail) on saucelabs?

`npm run test` fails

Given script:

git clone [email protected]:TestArmada/boilerplate-nightwatch.git
cd boilerplate-nightwatch
npm install
npm run test

Expected:

tests are executed

Actual:

[INFO] [Magellan Nightwatch Plugin] Found 2 test files in tests
[ERROR] [Magellan] Error initializing Magellan
[ERROR] [Magellan] Error description:
[ERROR] [Magellan] Error: no auth mechanism defined
[ERROR] [Magellan] Error stack trace:
[ERROR] [Magellan] Error: no auth mechanism defined
    at Auth.onRequest (/Users/bartn/Desktop/boilerplate-nightwatch/node_modules/request/lib/auth.js:133:32)
    at Request.auth (/Users/bartn/Desktop/boilerplate-nightwatch/node_modules/request/request.js:1360:14)
    at Request.init (/Users/bartn/Desktop/boilerplate-nightwatch/node_modules/request/request.js:378:10)
    at new Request (/Users/bartn/Desktop/boilerplate-nightwatch/node_modules/request/request.js:130:8)
    at request (/Users/bartn/Desktop/boilerplate-nightwatch/node_modules/request/index.js:54:10)
    at Function.get (/Users/bartn/Desktop/boilerplate-nightwatch/node_modules/request/index.js:62:12)
    at /Users/bartn/Desktop/boilerplate-nightwatch/node_modules/testarmada-magellan-browserstack-executor/lib/pancake.js:65:27
    at Object.initialize (/Users/bartn/Desktop/boilerplate-nightwatch/node_modules/testarmada-magellan-browserstack-executor/lib/pancake.js:48:12)
    at Object.getProfiles (/Users/bartn/Desktop/boilerplate-nightwatch/node_modules/testarmada-magellan-browserstack-executor/lib/profile.js:51:30)
    at _.forEach (/Users/bartn/Desktop/boilerplate-nightwatch/node_modules/testarmada-magellan/src/profiles.js:143:48)

Tested under OSX 10.12.3, node versions v4.8.1, v5.12.0 and v6.10.1

I assume it's dependency related. Please advise.

fresh install and run errors

Created a clone of repo as suggested on http://testarmada.io/

git clone [email protected]:TestArmada/boilerplate-nightwatch.git

on run npm install got this error:

npm WARN deprecated [email protected]: This package is unmaintained. Use @sinonjs/formatio instead
events.js:183░░░░░░⸩ ⠹ extract:mv: sill extract [email protected]
      throw er; // Unhandled 'error' event
      ^

Error: write after end
    at writeAfterEnd (_stream_writable.js:236:12)
    at PassThrough.Writable.write (_stream_writable.js:287:5)
    at PassThrough.Writable.end (_stream_writable.js:563:10)
    at ReadEntry.entry.on (/Users/user/.nvm/versions/node/v8.11.1/lib/node_modules/npm/node_modules/pacote/lib/extract-stream.js:19:41)
    at emitOne (events.js:121:20)
    at ReadEntry.emit (events.js:211:7)
    at ReadEntry.emit (/Users/user/.nvm/versions/node/v8.11.1/lib/node_modules/npm/node_modules/tar/node_modules/minipass/index.js:287:25)
    at ReadEntry.[maybeEmitEnd] (/Users/user/.nvm/versions/node/v8.11.1/lib/node_modules/npm/node_modules/tar/node_modules/minipass/index.js:240:12)
    at ReadEntry.end (/Users/user/.nvm/versions/node/v8.11.1/lib/node_modules/npm/node_modules/tar/node_modules/minipass/index.js:153:27)
    at Unpack.[consumeBody] (/Users/user/.nvm/versions/node/v8.11.1/lib/node_modules/npm/node_modules/tar/lib/parse.js:210:13)
    at Unpack.[consumeChunkSub] (/Users/user/.nvm/versions/node/v8.11.1/lib/node_modules/npm/node_modules/tar/lib/parse.js:391:40)
    at Unpack.[consumeChunk] (/Users/user/.nvm/versions/node/v8.11.1/lib/node_modules/npm/node_modules/tar/lib/parse.js:360:30)
    at Unzip.(anonymous function).on.chunk (/Users/user/.nvm/versions/node/v8.11.1/lib/node_modules/npm/node_modules/tar/lib/parse.js:291:59)
    at emitOne (events.js:116:13)
    at Unzip.emit (events.js:211:7)
    at Unzip.emit (/Users/user/.nvm/versions/node/v8.11.1/lib/node_modules/npm/node_modules/tar/node_modules/minipass/index.js:287:25)

then on run npm run test:desktop or DPRO=local ./node_modules/.bin/magellan --local_browser chrome --test tests/demo-simple.js --serial - the same error

[INFO] [Nightwatch Extra] [Appium Plugin] No appium is configured in nightwatch.json, skip appium start
[INFO] [Nightwatch Extra] [Error Dictionary Plugin] Found dictionary at ./nightwatch_dictionary.js, loading dictionary
starting drydock 0.4.4 server on dev.walmart.com:12001...
(node:48630) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
{ Error: getaddrinfo ENOTFOUND dev.walmart.com
    at errnoException (dns.js:50:10)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:92:26)
  code: 'ENOTFOUND',
  errno: 'ENOTFOUND',
  syscall: 'getaddrinfo',
  hostname: 'dev.walmart.com' }
[INFO] [Magellan] (1 / 1) PASS  tests/demo-web.js @env:chrome|executor:local
[INFO] [Magellan] ============= Suite Complete =============
[INFO] [Magellan]      Status: PASSED
[INFO] [Magellan]     Runtime: 5.3s
[INFO] [Magellan] Total tests: 1
[INFO] [Magellan]  Successful: 1 / 1
node -v
v8.11.1

npm -v
5.8.0

MacOS v10.13.4

If some configuration was missed in tutorial which can prevent such error, can you suggest what else need to modify/update?

Thanks

Port is in use error if not running test cases as root

If we dont run our test cases with higher privileges such as root , we keep keep getting these errors.

Magellan 8.8.4
Will try to load configuration from default of ./magellan.json
Loaded configuration from:   wip/workspace/automated-tests/magellan.json
Magellan is creating temporary files at: wip/workspace/automated-tests/temp
Sauce configuration OK
Magellan-nightwatch test iterator found nightwatch configuration at: ./conf/nightwatch.json
Scanning tests for test files ...
�[32mFound 4 test files in tests�[39m

Running 4 tests with 3 workers with phantomjs

Found selenium HTTP server at port 12000, port is in use.
Found selenium HTTP server at port 12003, port is in use.
Found selenium HTTP server at port 12006, port is in use.
Found selenium HTTP server at port 12001, port is in use.
Found selenium HTTP server at port 12004, port is in use.
Found selenium HTTP server at port 12007, port is in use.
Found selenium HTTP server at port 12002, port is in use.
�[93mDetected port contention while spinning up worker: �[39m
�[93m  in use: #: 12000 purpose: mocking port�[39m
�[93m  in use: #: 12001 purpose: selenium port�[39m
�[93m  in use: #: 12002 purpose: generic�[39m
Found selenium HTTP server at port 12008, port is in use.
�[93mDetected port contention while spinning up worker: �[39m
�[93m  in use: #: 12006 purpose: mocking port�[39m
�[93m  in use: #: 12007 purpose: selenium port�[39m
�[93m  in use: #: 12008 purpose: generic�[39m
Found selenium HTTP server at port 12005, port is in use.
�[93mDetected port contention while spinning up worker: �[39m
�[93m  in use: #: 12003 purpose: mocking port�[39m
�[93m  in use: #: 12004 purpose: selenium port�[39m
�[93m  in use: #: 12005 purpose: generic�[39m
Found selenium HTTP server at port 12012, port is in use.
Found selenium HTTP server at port 12009, port is in use.
Found selenium HTTP server at port 12015, port is in use.
Found selenium HTTP server at port 12013, port is in use.
Found selenium HTTP server at port 12010, port is in use.
Found selenium HTTP server at port 12016, port is in use.
Found selenium HTTP server at port 12011, port is in use.
�[93mDetected port contention while spinning up worker: �[39m
�[93m  in use: #: 12009 purpose: mocking port�[39m
�[93m  in use: #: 12010 purpose: selenium port�[39m
�[93m  in use: #: 12011 purpose: ge

Windows 8.1 Compatibility

Couldn't get npm install to work on an Windows 8.1 VM, due to:

Note, it was necessary to install python to get past a previous build error.

image

first testrun fails

case:
trying out TestArmada / Boilerplate-nightwatch for the first time:

what did I do:
git clone [email protected]:TestArmada/boilerplate-nightwatch.git
npm install
npm run test:desktop

Log:
09:47:34 [INFO] [Nightwatch Extra] No appium is configured in nightwatch.json, skip appium stop
09:47:34 There was an error while starting the test runner:
09:47:34
09:47:34 Error: listen EADDRNOTAVAIL 127.0.53.53:12013
09:47:34 at Object.exports._errnoException (util.js:1022:11)
09:47:34 at exports._exceptionWithHostPort (util.js:1045:20)
09:47:34 at Server.setupListenHandle [as _listen2] (net.js:1298:19)
09:47:34 at listenInCluster (net.js:1363:12)
09:47:34 at GetAddrInfoReqWrap.doListen [as callback] (net.js:1489:7)
09:47:34 at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:96:10)
09:47:34

[INFO] [Magellan]
[INFO] [Magellan] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[INFO] [Magellan] Failed Test: tests/demo-simple.js @env:chrome|executor:local
[INFO] [Magellan] # attempts: 3
[INFO] [Magellan] output:
[INFO] [Magellan] 09:47:33 Magellan child process start


my npm version: 5.x
appium installed (but not configured)

latest code gives following error

> [email protected] test /Users/XXXXXX/dev/boilerplate-nightwatch
> DPRO=local ./node_modules/.bin/magellan --local_browsers chrome,firefox

[INFO] [Magellan] Magellan is creating temporary files at: /Users/XXXXX/dev/boilerplate-nightwatch/temp
[INFO] [Magellan] Magellan 10.0.1
[INFO] [Magellan] Will try to load configuration from default of ./magellan.json
Loaded configuration from:  /Users/XXXXX/dev/boilerplate-nightwatch/magellan.json
[INFO] [Magellan] Loaded test framework:
[INFO] [Magellan]   testarmada-magellan-nightwatch-plugin
[INFO] [Magellan] Loaded test executors:
[INFO] [Magellan]   testarmada-magellan-local-executor
[INFO] [Magellan]   testarmada-magellan-sauce-executor
[INFO] [Magellan]   testarmada-magellan-browserstack-executor
[INFO] [Magellan Nightwatch Plugin] test iterator found nightwatch configuration at: ./conf/nightwatch.json
[INFO] [Magellan Nightwatch Plugin] Scanning tests for test files ...
[INFO] [Magellan Nightwatch Plugin] Found 2 test files in tests
[ERROR] [Magellan] Error initializing Magellan
[ERROR] [Magellan] Error description:
[ERROR] [Magellan] Error: no auth mechanism defined
[ERROR] [Magellan] Error stack trace:
[ERROR] [Magellan] Error: no auth mechanism defined
    at Auth.onRequest (/Users/XXXXX/dev/boilerplate-nightwatch/node_modules/testarmada-magellan-browserstack-executor/node_modules/request/lib/auth.js:133:32)
    at Request.auth (/Users/XXXXX/dev/boilerplate-nightwatch/node_modules/testarmada-magellan-browserstack-executor/node_modules/request/request.js:1360:14)
    at Request.init (/Users/XXXXXX/dev/boilerplate-nightwatch/node_modules/testarmada-magellan-browserstack-executor/node_modules/request/request.js:378:10)
    at new Request (/Users/XXXXXX/dev/boilerplate-nightwatch/node_modules/testarmada-magellan-browserstack-executor/node_modules/request/request.js:130:8)
    at request (/Users/XXXXX/dev/boilerplate-nightwatch/node_modules/testarmada-magellan-browserstack-executor/node_modules/request/index.js:54:10)
    at Function.get (/Users/XXXXXX/dev/boilerplate-nightwatch/node_modules/testarmada-magellan-browserstack-executor/node_modules/request/index.js:62:12)
    at /Users/XXXXXX/dev/boilerplate-nightwatch/node_modules/testarmada-magellan-browserstack-executor/lib/pancake.js:65:27
    at Object.initialize (/Users/XXXXXX/dev/boilerplate-nightwatch/node_modules/testarmada-magellan-browserstack-executor/lib/pancake.js:48:12)
    at Object.getProfiles (/Users/XXXXX/dev/boilerplate-nightwatch/node_modules/testarmada-magellan-browserstack-executor/lib/profile.js:51:30)
    at _.forEach (/Users/XXXXX/dev/boilerplate-nightwatch/node_modules/testarmada-magellan/src/profiles.js:143:48)
npm ERR! Test failed.  See above for more details.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.