2. install protractor and start selenium server
- npm install -g protractor
- webdriver-manager update
npm update protractor - update protractor to latest version
webdriver-manager update - update chrome driver to latest version
3. run protractor
4. angular locator
5. webdriverjs is asynchronous
6. framework
7. exports.config = {
seleniumAddress: "http://127.0.0.1:4444/wd/hub",
baseUrl: "localhost:8080"
}
8. webdriver control flow
9. protractor click method on anchor is not working
10. protractor-cucumber-framework
11. 'defineSupportCode' is depreciated in cucumber
12. debug in vscode
13. cucumber (gherkin) full support plugin
reference:
1. install nodejs in windows
2. protractor tutorial
3. enqueue non-promise statement into control flow
4. protractor-cucumber-framework
5. protractor-vs-webdriverio-vs-nightwatch
6. in depth protractor tutorial
7. protractor not working on anchor
8. webdriver control flow
9. return promise in protractor-cucumber-framework step function
10. defineSupportCode is not supported in cucumber
11. how to use setWorldConstructor
12. debug protractor in vscode
13. “could not find update-config.json” error message
- webdriver-manager start
3. run protractor
- protractor conf.js
4. angular locator
- browser.getTitle()
- by.model
- by.id
- by.binding
- by.repeater
5. webdriverjs is asynchronous
- by default it return promise
- .then() is called when promise is 'fulfilled', .catch() is called when promise is 'rejected
- 'control flow' ensure async tasks executed and completed in the correct order
6. framework
- by default, protractor use jasmine
- cucumber is no longer included
- it also support mocha and cucumber, cucumber is prefered
7. exports.config = {
seleniumAddress: "http://127.0.0.1:4444/wd/hub",
baseUrl: "localhost:8080"
}
- used for globals variables and configuation of test
- most webdriver actions are asynchronous
- to synchroize, use either 'control flow', 'promise chain' or 'async/await'
- control flow makes sure commands are executed in the order they were received
- protractor will wait until control flow is empty before deeming a test finished
9. protractor click method on anchor is not working
- browser.executeScript("arguments[0].scrollIntoView();", e.getWebElement());
- browser.executeScript("arguments[0].click();", e.getWebElement());
10. protractor-cucumber-framework
- need to return a promise or use the done callback
- please refer to cucumber.js github page @https://github.com/cucumber/cucumber-js/blob/master/docs/support_files/step_definitions.md
11. 'defineSupportCode' is depreciated in cucumber
- use 'import {Given,Then,When} from "cucumber";'
- use 'import {setWorldConstructor} from 'cucumber''
12. debug in vscode
- add configuration
- specify 'program' and 'args'
"args":["${workspaceFolder}/protractor.conf.js"],
"program": "${workspaceFolder}/node_modules/protractor/bin/protractor"
- node_modules/protractor/bin/webdriver-manager update
- webdriver-manager start before debug
- kill -9 $(lsof -ti tcp:4444)
13. cucumber (gherkin) full support plugin
- setting.json in .vscode folder to specify feature/step mapping
reference:
1. install nodejs in windows
2. protractor tutorial
3. enqueue non-promise statement into control flow
4. protractor-cucumber-framework
5. protractor-vs-webdriverio-vs-nightwatch
6. in depth protractor tutorial
7. protractor not working on anchor
8. webdriver control flow
9. return promise in protractor-cucumber-framework step function
10. defineSupportCode is not supported in cucumber
11. how to use setWorldConstructor
12. debug protractor in vscode
13. “could not find update-config.json” error message
No comments:
Post a Comment