Giter VIP home page Giter VIP logo

webdriverio-typescript-boilerplate's Introduction

WebdriverIO UI Automation Test with TypeScript

Create a powerful boilerplate for UI Automation test with WebdriverIO and TypeScript

Features

  • Use Page Object Model for managing your test cases
  • Mocha + Chai for testing
  • Interactive report with Allure
  • Accessibity test with Axe

Why using TypeScript

With TypeScript, it is possible to use existing JavaScript code, incorporate popular JavaScript libraries, and call TypeScript-generated code from other JavaScript. Type declarations for these libraries are provided with the source code.

Getting Started

npm install

Running Tests

Run all tests. Mocha will look for test folder. If you need to use another folder, please specify it in package.json file.

npm run test

For development test, you can comment the --headless option in the wdio.conf.js for directly openning the chrome browser.

In order to run one suite test only, you can use:

npm run dev path-to-test-file

Reports

The test report will show as a HTML webpage on a new window tab.

For running the test and show the report:

npm run report

For showing the report only:

npm run run-report

Rerferences

WebdriverIO API Wdio-Axe-Example

webdriverio-typescript-boilerplate's People

Contributors

dependabot[bot] avatar k-awe-some 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

webdriverio-typescript-boilerplate's Issues

Tests are not working issue with driver

Hi,

there is an issue with running the test, here is the log after npm install + npm run test:

adrianlachowski@MacBook-Pro-Adrian WebdriverIO-TypeScript-Boilerplate % npm run test

[email protected] test /Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate
rimraf reports/* && npm run report:history && npm run prettier && wdio

[email protected] report:history /Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate
mkdir -p allure-report/history allure-results/history && cp -a allure-report/history allure-results/

[email protected] prettier /Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate
prettier --write --loglevel warn "//*.ts"

2021-01-06T14:15:18.875Z DEBUG @wdio/sync: Couldn't load fibers package for Node v10 and above
2021-01-06T14:15:18.881Z DEBUG @wdio/sync: Couldn't load fibers package for Node v8

Execution of 3 spec files started at 2021-01-06T14:15:19.236Z

[0-0] RUNNING in chrome - /test/accessibility.spec.ts
[0-1] RUNNING in chrome - /test/example.spec.ts
[0-2] RUNNING in chrome - /test/test.page.spec.ts
[0-0] 2021-01-06T14:15:21.052Z ERROR webdriver: Request failed due to session not created: Unable to create new service: ChromeDriverService
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'MacBook-Pro-Adrian.local', ip: '192.168.0.220', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_172'
Driver info: driver.version: unknown
at getErrorFromResponseBody (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/webdriver/build/utils.js:175:10)
at Request._callback (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/webdriver/build/request.js:110:64)
at Request.self.callback (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:185:22)
at Request.emit (events.js:321:20)
at Request.EventEmitter.emit (domain.js:485:12)
at Request. (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:1161:10)
at Request.emit (events.js:321:20)
at Request.EventEmitter.emit (domain.js:485:12)
at IncomingMessage. (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:1083:12)
at Object.onceWrapper (events.js:427:28)
[0-0] 2021-01-06T14:15:21.054Z ERROR @wdio/runner: session not created: Unable to create new service: ChromeDriverService
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'MacBook-Pro-Adrian.local', ip: '192.168.0.220', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_172'
Driver info: driver.version: unknown
at getErrorFromResponseBody (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/webdriver/build/utils.js:175:10)
at Request._callback (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/webdriver/build/request.js:110:64)
at Request.self.callback (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:185:22)
at Request.emit (events.js:321:20)
at Request.EventEmitter.emit (domain.js:485:12)
at Request. (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:1161:10)
at Request.emit (events.js:321:20)
at Request.EventEmitter.emit (domain.js:485:12)
at IncomingMessage. (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:1083:12)
at Object.onceWrapper (events.js:427:28)
[0-1] 2021-01-06T14:15:21.052Z ERROR webdriver: Request failed due to session not created: Unable to create new service: ChromeDriverService
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'MacBook-Pro-Adrian.local', ip: '192.168.0.220', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_172'
Driver info: driver.version: unknown
at getErrorFromResponseBody (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/webdriver/build/utils.js:175:10)
at Request._callback (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/webdriver/build/request.js:110:64)
at Request.self.callback (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:185:22)
at Request.emit (events.js:321:20)
at Request.EventEmitter.emit (domain.js:485:12)
at Request. (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:1161:10)
at Request.emit (events.js:321:20)
at Request.EventEmitter.emit (domain.js:485:12)
at IncomingMessage. (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:1083:12)
at Object.onceWrapper (events.js:427:28)
2021-01-06T14:15:21.054Z ERROR @wdio/runner: session not created: Unable to create new service: ChromeDriverService
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'MacBook-Pro-Adrian.local', ip: '192.168.0.220', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_172'
Driver info: driver.version: unknown
at getErrorFromResponseBody (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/webdriver/build/utils.js:175:10)
at Request._callback (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/webdriver/build/request.js:110:64)
at Request.self.callback (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:185:22)
at Request.emit (events.js:321:20)
at Request.EventEmitter.emit (domain.js:485:12)
at Request. (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:1161:10)
at Request.emit (events.js:321:20)
at Request.EventEmitter.emit (domain.js:485:12)
at IncomingMessage. (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:1083:12)
at Object.onceWrapper (events.js:427:28)
2021-01-06T14:15:21.055Z ERROR @wdio/local-runner: Failed launching test session: TypeError: Cannot read property 'capabilities' of null
at Runner.run (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/@wdio/runner/build/index.js:68:74)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
[0-2] 2021-01-06T14:15:21.053Z ERROR webdriver: Request failed due to session not created: Unable to create new service: ChromeDriverService
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'MacBook-Pro-Adrian.local', ip: '192.168.0.220', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_172'
Driver info: driver.version: unknown
at getErrorFromResponseBody (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/webdriver/build/utils.js:175:10)
at Request._callback (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/webdriver/build/request.js:110:64)
at Request.self.callback (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:185:22)
at Request.emit (events.js:321:20)
at Request.EventEmitter.emit (domain.js:485:12)
at Request. (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:1161:10)
at Request.emit (events.js:321:20)
at Request.EventEmitter.emit (domain.js:485:12)
at IncomingMessage. (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:1083:12)
at Object.onceWrapper (events.js:427:28)
2021-01-06T14:15:21.054Z ERROR @wdio/runner: session not created: Unable to create new service: ChromeDriverService
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'MacBook-Pro-Adrian.local', ip: '192.168.0.220', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_172'
Driver info: driver.version: unknown
at getErrorFromResponseBody (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/webdriver/build/utils.js:175:10)
at Request._callback (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/webdriver/build/request.js:110:64)
at Request.self.callback (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:185:22)
at Request.emit (events.js:321:20)
at Request.EventEmitter.emit (domain.js:485:12)
at Request. (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:1161:10)
at Request.emit (events.js:321:20)
at Request.EventEmitter.emit (domain.js:485:12)
at IncomingMessage. (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:1083:12)
at Object.onceWrapper (events.js:427:28)
2021-01-06T14:15:21.055Z ERROR @wdio/local-runner: Failed launching test session: TypeError: Cannot read property 'capabilities' of null
at Runner.run (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/@wdio/runner/build/index.js:68:74)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
0-0 worker error {
name: 'session not created',
message: 'Unable to create new service: ChromeDriverService\n' +
"Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'\n" +
"System info: host: 'MacBook-Pro-Adrian.local', ip: '192.168.0.220', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_172'\n" +
'Driver info: driver.version: unknown',
stack: 'session not created: Unable to create new service: ChromeDriverService\n' +
"Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'\n" +
"System info: host: 'MacBook-Pro-Adrian.local', ip: '192.168.0.220', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_172'\n" +
'Driver info: driver.version: unknown\n' +
' at getErrorFromResponseBody (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/webdriver/build/utils.js:175:10)\n' +
' at Request._callback (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/webdriver/build/request.js:110:64)\n' +
' at Request.self.callback (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:185:22)\n' +
' at Request.emit (events.js:321:20)\n' +
' at Request.EventEmitter.emit (domain.js:485:12)\n' +
' at Request. (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:1161:10)\n' +
' at Request.emit (events.js:321:20)\n' +
' at Request.EventEmitter.emit (domain.js:485:12)\n' +
' at IncomingMessage. (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:1083:12)\n' +
' at Object.onceWrapper (events.js:427:28)'
}
0-1 worker error {
name: 'session not created',
message: 'Unable to create new service: ChromeDriverService\n' +
"Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'\n" +
"System info: host: 'MacBook-Pro-Adrian.local', ip: '192.168.0.220', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_172'\n" +
'Driver info: driver.version: unknown',
stack: 'session not created: Unable to create new service: ChromeDriverService\n' +
"Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'\n" +
"System info: host: 'MacBook-Pro-Adrian.local', ip: '192.168.0.220', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_172'\n" +
'Driver info: driver.version: unknown\n' +
' at getErrorFromResponseBody (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/webdriver/build/utils.js:175:10)\n' +
' at Request._callback (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/webdriver/build/request.js:110:64)\n' +
' at Request.self.callback (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:185:22)\n' +
' at Request.emit (events.js:321:20)\n' +
' at Request.EventEmitter.emit (domain.js:485:12)\n' +
' at Request. (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:1161:10)\n' +
' at Request.emit (events.js:321:20)\n' +
' at Request.EventEmitter.emit (domain.js:485:12)\n' +
' at IncomingMessage. (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:1083:12)\n' +
' at Object.onceWrapper (events.js:427:28)'
}
[0-0] 2021-01-06T14:15:21.055Z ERROR @wdio/local-runner: Failed launching test session: TypeError: Cannot read property 'capabilities' of null
at Runner.run (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/@wdio/runner/build/index.js:68:74)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
0-2 worker error {
name: 'session not created',
message: 'Unable to create new service: ChromeDriverService\n' +
"Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'\n" +
"System info: host: 'MacBook-Pro-Adrian.local', ip: '192.168.0.220', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_172'\n" +
'Driver info: driver.version: unknown',
stack: 'session not created: Unable to create new service: ChromeDriverService\n' +
"Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'\n" +
"System info: host: 'MacBook-Pro-Adrian.local', ip: '192.168.0.220', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_172'\n" +
'Driver info: driver.version: unknown\n' +
' at getErrorFromResponseBody (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/webdriver/build/utils.js:175:10)\n' +
' at Request._callback (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/webdriver/build/request.js:110:64)\n' +
' at Request.self.callback (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:185:22)\n' +
' at Request.emit (events.js:321:20)\n' +
' at Request.EventEmitter.emit (domain.js:485:12)\n' +
' at Request. (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:1161:10)\n' +
' at Request.emit (events.js:321:20)\n' +
' at Request.EventEmitter.emit (domain.js:485:12)\n' +
' at IncomingMessage. (/Users/adrianlachowski/WebstormProjects/WebdriverIO-TypeScript-Boilerplate/node_modules/request/request.js:1083:12)\n' +
' at Object.onceWrapper (events.js:427:28)'
}
[0-0] FAILED in chrome - /test/accessibility.spec.ts
[0-1] FAILED in chrome - /test/example.spec.ts
[0-2] FAILED in chrome - /test/test.page.spec.ts

Spec Files: 0 passed, 3 failed, 3 total (100% completed) in 00:00:01

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] test: rimraf reports/* && npm run report:history && npm run prettier && wdio
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /Users/adrianlachowski/.npm/_logs/2021-01-06T14_15_21_338Z-debug.log

Can't get tests to run

I have checked out the project and run an npm install when i run 'npm run test' this is the output..

$ npm run test

> [email protected] test C:\Users\karl.hudgell\Documents\Work\UKRI\Code\WebdriverIO-TypeScript-Boilerplate
> rimraf reports/* && npm run report:history && npm run prettier && wdio


> [email protected] report:history C:\Users\karl.hudgell\Documents\Work\UKRI\Code\WebdriverIO-TypeScript-Boilerplate
> mkdir -p allure-report/history allure-results/history && cp -a allure-report/history allure-results/

The syntax of the command is incorrect.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] report:history: `mkdir -p allure-report/history allure-results/history && cp -a allure-report/history allure-results/`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] report:history script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\karl.hudgell\AppData\Roaming\npm-cache\_logs\2019-09-12T13_30_05_188Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] test: `rimraf reports/* && npm run report:history && npm run prettier && wdio`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\karl.hudgell\AppData\Roaming\npm-cache\_logs\2019-09-12T13_30_05_279Z-debug.log

Any ideas?

Thanks

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.