Π― ΡΠ»Π΅Π΄ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ Π½Π° ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ cucumber-js / docs / nodejs_example.md
ΠΠ½ΠΎΠ³Π΄Π° ΡΡΠΎ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ, Π½ΠΎ Ρ ΠΌΠ΅Π½Ρ ΡΠΎΠΆΠ΅ Π±ΡΠ²Π°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠΌΠ°ΡΡΠΎΠ². Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ Π»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΠΈΠ»ΠΈ ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΡΡΠΎΠ²?
NodeJS v6.9.1
"chromedriver": "^2.28.0",
"cucumber": "2.0.0-rc.9",
"selenium-webdriver": "^3.3.0"
Feature: Example feature
As a user of Cucumber.js
I want to have documentation on Cucumber
So that I can concentrate on building awesome applications
Scenario: Reading documentation
β Given I am on the Cucumber.js GitHub repository
β When I click on "CLI"
β Then I should see "Running specific features"
Failures:
1) Scenario: Reading documentation - features/documentation.feature:6
Step: Then I should see "Running specific features" - features/documentation.feature:9
Step Definition: features/step_definitions/browser_steps.js:15
Message:
Error: function timed out after 5000 milliseconds
at Timeout.<anonymous> (node_modules/cucumber/lib/user_code_runner.js:91:22)
at ontimeout (timers.js:365:14)
at tryOnTimeout (timers.js:237:5)
at Timer.listOnTimeout (timers.js:207:5)
1 scenario (1 failed)
3 steps (1 failed, 2 passed)
md5-2a2c7c10e6fd71308dbd83970eac71b5
Feature: Example feature
As a user of Cucumber.js
I want to have documentation on Cucumber
So that I can concentrate on building awesome applications
Scenario: Reading documentation
β Given I am on the Cucumber.js GitHub repository
- When I click on "CLI"
- Then I should see "Running specific features"
Failures:
1) Scenario: Reading documentation - features/documentation.feature:6
Step: Given I am on the Cucumber.js GitHub repository - features/documentation.feature:7
Step Definition: features/step_definitions/browser_steps.js:5
Message:
Error: function timed out after 5000 milliseconds
at Timeout.<anonymous> (node_modules/cucumber/lib/user_code_runner.js:91:22)
at ontimeout (timers.js:365:14)
at tryOnTimeout (timers.js:237:5)
at Timer.listOnTimeout (timers.js:207:5)
1 scenario (1 failed)
3 steps (1 failed, 2 skipped)
Π― ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΠ», ΡΡΠΎ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ ΠΌΠ΅Π½Ρ. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ.
ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ : ΠΈΠ·Π²ΠΈΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΏΠΎΠ±Π΅ΡΠΏΠΎΠΊΠΎΠΈΠ» Π²Π°Ρ. ΠΠ° 5 ΠΌΠΈΠ½ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Ρ Π½Π°ΡΠ΅Π» ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΡΠ°Π³Π°, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π·Π΄Π΅ΡΡ . ΠΡΡΠ°Π²ΡΡΠ΅ Π·Π΄Π΅ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π΄Π»Ρ Π²ΡΠ΅Ρ
, ΠΊΡΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
@charlierudolph , Π° Π³Π΄Π΅ ΡΠ°ΠΉΠΌΠ°ΡΡ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ? ΠΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Ρ Π½Π°ΠΏΠΈΡΠ°Π» Π΄Π»Ρ Π²Ρ
ΠΎΠ΄Π° Π² ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ auth0
login(userId, password): void {
let self: any = this;
self.signInButton.click().then(function () {
self.password.sendKeys(password)
// element(by.css('input[name="password"]')).sendKeys(password);
browser.waitForAngularEnabled(false);
self.email.sendKeys(userId);
self.loginSubmitButton.click().then(function() {
browser.driver.wait(function() {
return self.loginConfirmationWindow.isPresent();
}, 15000).then(function() {
return;
}, function(){
console.log(new Error('Login confirmed window did not show up'));
return;
})
self.loginConfirmationClose.click();
});
})
}
Π― Π·Π½Π°Ρ, ΡΡΠΎ Ρ Π΄Π°Π» ΡΡΠ½ΠΊΡΠΈΠΈ browser.driver.wait
ΡΠ°ΠΉΠΌ-Π°ΡΡ Π² 15 ΡΠ΅ΠΊΡΠ½Π΄, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠ°Π³ ΠΈΡΡΠ΅ΠΊΠ°Π΅Ρ Π² 5 ΡΠ΅ΠΊΡΠ½Π΄.
ΠΠ°ΡΠ΅ΠΌ Ρ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ Π² config.ts
allScriptsTimeout: 60000,
getPageTimeout: 60000,
setDefaultTimeout: 60000,
ΠΠ°ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ Ρ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ
Error: function timed out after 5000 milliseconds
at Timeout.<anonymous> (/Users/mohamedr2/workspace/test_app/node_modules/cucumber/lib/user_code_runner.js:91:22)
at ontimeout (timers.js:386:14)
at tryOnTimeout (timers.js:250:5)
at Timer.listOnTimeout (timers.js:214:5)
ΠΡΠΎΡ ΠΏΠΎΡΠΎΠΊ Π±ΡΠ» Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΡΠ»Π΅ Π΅Π³ΠΎ Π·Π°ΠΊΡΡΡΠΈΡ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π΅ Π±ΡΠ»ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π΄Π»Ρ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ : ΠΈΠ·Π²ΠΈΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΏΠΎΠ±Π΅ΡΠΏΠΎΠΊΠΎΠΈΠ» Π²Π°Ρ. ΠΠ° 5 ΠΌΠΈΠ½ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Ρ Π½Π°ΡΠ΅Π» ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΡΠ°Π³Π°, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π·Π΄Π΅ΡΡ . ΠΡΡΠ°Π²ΡΡΠ΅ Π·Π΄Π΅ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π΄Π»Ρ Π²ΡΠ΅Ρ , ΠΊΡΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
@charlierudolph , Π° Π³Π΄Π΅ ΡΠ°ΠΉΠΌΠ°ΡΡ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ? ΠΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Ρ Π½Π°ΠΏΠΈΡΠ°Π» Π΄Π»Ρ Π²Ρ ΠΎΠ΄Π° Π² ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ auth0
Π― Π·Π½Π°Ρ, ΡΡΠΎ Ρ Π΄Π°Π» ΡΡΠ½ΠΊΡΠΈΠΈ
browser.driver.wait
ΡΠ°ΠΉΠΌ-Π°ΡΡ Π² 15 ΡΠ΅ΠΊΡΠ½Π΄, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠ°Π³ ΠΈΡΡΠ΅ΠΊΠ°Π΅Ρ Π² 5 ΡΠ΅ΠΊΡΠ½Π΄.ΠΠ°ΡΠ΅ΠΌ Ρ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ Π² config.ts
ΠΠ°ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ Ρ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ