diff --git a/README.md b/README.md index 33c8704..60dd634 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,32 @@ [![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/qahive/generator-robotframework) -# Yeoman Generator for Robot Framework +# The Robot Fraemwork Test Project Generator -## Local setup +## Usage + +Install `yo` and `generator-robotframework`: + +```text +npm install -g yo generator-robotframework +``` + +Generate test project: + + yo robotframework + + +## Supported Configurations + +**General** +* Test library: `Puppeteer` (Default `Puppeteer`) +* Page object pattern: `Yes`, `No` (Default `Yes`) +* ATDD/BDD style: `Yes`, `No` (Default `No`) + +FYI: Test library: `Selenium` and `Appium` will support soon. + +## Manual Setup Run following command npm install -g . cd tmp - yo robotframework-puppeteer + yo robotframework diff --git a/generators/app/index.js b/generators/app/index.js index 39b672f..e6056ac 100644 --- a/generators/app/index.js +++ b/generators/app/index.js @@ -14,35 +14,51 @@ module.exports = class extends Generator { "I'll walk you through the installation." )); - return this.prompt([{ - type: "input", - name: "isPageObject", - message: "Would you like to use Page object pattern?", - default: true - }, { - type: "input", - name: "isAtdd", - message: "Would you like to use ATDD/BDD style?", - default: false - }/*, { - type: "input", - name: "isPdf", - message: "Would you like to include PDF reader?", - default: true - }, { - type: "input", - name: "zxing", - message: "Would you like to include QRCode reader?", - default: true - }, { - type: "input", - name: "percy", - message: "Would you like to include Visual Testing?", - default: true - } */ ]).then(answers => { - this.args = answers; - this.config.set(this.args); - }); + return this.prompt([ + { + type: "input", + name: "testLibrary", + message: "Please select test library. (Puppeteer)", + default: 'Puppeteer', + validate: function (input) { + return ['puppeteer'].includes(input.toLowerCase()); + } + }, + { + type: "input", + name: "isPageObject", + message: "Would you like to use Page object pattern? (Yes/No)", + default: 'Yes', + validate: function (input) { + return ['yes', 'no'].includes(input.toLowerCase()); + } + }, { + type: "input", + name: "isAtdd", + message: "Would you like to use ATDD/BDD style? (Yes/No)", + default: 'No', + validate: function (input) { + return ['yes', 'no'].includes(input.toLowerCase()); + } + }/*, { + type: "input", + name: "isPdf", + message: "Would you like to include PDF reader?", + default: true + }, { + type: "input", + name: "zxing", + message: "Would you like to include QRCode reader?", + default: true + }, { + type: "input", + name: "percy", + message: "Would you like to include Visual Testing?", + default: true + } */ ]).then(answers => { + this.args = answers; + this.config.set(this.args); + }); } writing() { diff --git a/package-lock.json b/package-lock.json index b747f0f..9516e05 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { - "name": "generator-robotframework-puppeteer", - "version": "0.1.0", + "name": "generator-robotframework", + "version": "0.1.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 99f9556..dcc6c49 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "generator-robotframework-puppeteer", + "name": "generator-robotframework", "version": "0.1.2", - "description": "Yeoman generator to create a robotframework puppeteer project", + "description": "Yeoman generator to create a robotframework test project", "files": [ "generators" ], @@ -11,15 +11,15 @@ "puppeteer", "robotframework-puppeteer" ], - "homepage": "https://github.com/qahive/generator-robotframework-puppeteer", + "homepage": "https://github.com/qahive/generator-robotframework", "author": "Atthaboon Sanurt ", - "contributors":[ + "contributors": [ "Atthaboon Sanurt ", "Penploy Sribumrungwong " ], "repository": { "type": "git", - "url": "git://github.com/qahive/generator-robotframework-puppeteer.git" + "url": "git://github.com/qahive/generator-robotframework.git" }, "dependencies": { "chalk": "^4.1.0",