Cucumber-js: Exemple de délai d'expiration de NodeJS

Créé le 30 mars 2017  ·  3Commentaires  ·  Source: cucumber/cucumber-js

Je suis l'exemple sur cette page cucumber-js/docs/nodejs_example.md

Parfois, ça passe, mais j'ai aussi beaucoup de temps morts. L'exemple doit-il être mis à jour ou s'agit-il d'un problème avec le lanceur de test ?

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)

Commentaire le plus utile

Edit : Désolé de vous avoir dérangé. En 5 minutes après la publication de ce message, j'ai trouvé une solution pour augmenter le délai d'expiration décrit ici . Laisser le commentaire ici pour tous ceux qui trouvent ce problème
@charlierudolph , où augmentez-vous le délai d'attente ? C'est la fonction que j'ai écrite pour me connecter en utilisant 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();
            });

        })
    }

Je sais que j'ai donné à la fonction browser.driver.wait un délai d'attente de 15 secondes, mais cela n'a pas d'importance, l'étape expire avec 5 secondes.
J'ai ensuite essayé d'ajouter les valeurs suivantes globalement dans le config.ts

    allScriptsTimeout: 60000,
    getPageTimeout: 60000,
    setDefaultTimeout: 60000,

Même après tout cela, j'obtiens toujours l'erreur suivante

 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)

Tous les 3 commentaires

J'ai confirmé que cela fonctionnait pour moi. Veuillez essayer d'augmenter votre délai d'attente.

Edit : Désolé de vous avoir dérangé. En 5 minutes après la publication de ce message, j'ai trouvé une solution pour augmenter le délai d'expiration décrit ici . Laisser le commentaire ici pour tous ceux qui trouvent ce problème
@charlierudolph , où augmentez-vous le délai d'attente ? C'est la fonction que j'ai écrite pour me connecter en utilisant 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();
            });

        })
    }

Je sais que j'ai donné à la fonction browser.driver.wait un délai d'attente de 15 secondes, mais cela n'a pas d'importance, l'étape expire avec 5 secondes.
J'ai ensuite essayé d'ajouter les valeurs suivantes globalement dans le config.ts

    allScriptsTimeout: 60000,
    getPageTimeout: 60000,
    setDefaultTimeout: 60000,

Même après tout cela, j'obtiens toujours l'erreur suivante

 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)

Ce fil a été automatiquement verrouillé car il n'y a eu aucune activité récente après sa fermeture. Veuillez ouvrir un nouveau problème pour les bogues liés.

Cette page vous a été utile?
0 / 5 - 0 notes