Cucumber-js: "рдХрдХрдбрд╝реАрдСрдкреНрдЯреНрд╕" рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдХреНрдпрд╛ рд╣реБрдЖ? рдХреНрдпрд╛ рдпрд╣ рдЕрдм рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 6 рдЬреВрди 2017  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: cucumber/cucumber-js

рдпрд╣ рдореБрджреНрджрд╛ рдЗрд╕ https://github.com/angular/protractor/issues/4311 рдХреА рдирд┐рд░рдВрддрд░рддрд╛ рд╣реИред рдЬрд╣рд╛рдВ рдореИрдВ Cucumberjs рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЯреНрд░реИрдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдЬреИрд╕рд╛ рдХрд┐ @wswebcreation https://github.com/wswebcreation рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЙрд╕ рдЕрдиреНрдп рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдпрд╣рд╛рдВ рдПрдХ рдирдпрд╛ рдЦреЛрд▓рд╛ред

рддреЛ, рдореЗрд░реА рдЖрдЦрд┐рд░реА рдЯрд┐рдкреНрдкрдгреА рдпрд╣ тАЛтАЛрдереА ....

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдлрд▓ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдЕрдВрддрд┐рдо рд░рд┐рдХреЙрд░реНрдб 12 рдордИ 2017, 14:03 рдХреЛ рдерд╛ред рдареАрдХ рдЖрдкрдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рддрд╛рд░реАрдЦред

рдЯреИрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХрд╛ рдЙрджрд╛рд╣рд░рдг рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ... рдлрд┐рд░ рдореБрдЭреЗ 3 рдЯреИрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рджреЛ рдЬрд┐рдиреНрд╣реЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдПрдХ рдЬрд┐рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред 12 рдордИ рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдм рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ:

protractor ./FM_IntTest_UI_conf.js --disableChecks [email protected] --params.login.passw=mypassword --cucumberOpts.tags ~<strong i="13">@ignore</strong> --cucumberOpts.tags <strong i="14">@smoke</strong>,@sprint

рдЖрдкрдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдЕрдм рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╡рд╣реА рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ "рдЯрд┐рдХрдЯ" рдХреЗ рд╕рд╛рде рд╕рдмрдорд┐рдЯ рдХрд┐рдпрд╛ рдерд╛ред

protractor ./FM_IntTest_UI_conf.js --disableChecks [email protected] --params.login.passw=mypassword --cucumberOpts.tags '<strong i="18">@smoke</strong> or <strong i="19">@rt</strong>' --cucumberOpts.tags 'not <strong i="20">@ignore</strong>'

рддреНрд░реБрдЯрд┐: рддреНрд░реБрдЯрд┐: рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧ рдлрд╝рд╛рдЗрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ
C:\Users\echavez\AppData\Roaming\npm\node_modules\protractor\built\cli.js:155:15 рдкрд░
C:\Users\echavez\AppData\Roaming\npm\node_modules\protractor\node_modules\optimist\index.js:307:21 рдкрд░
Array.forEach (рдореВрд▓) рдкрд░
parseArgs рдкрд░ (C:\Users\echavez\AppData\Roaming\npm\node_modules\protractor\node_modules\optimist\index.js:305:16)
Object.Argv.self.parse рдкрд░ (C:\Users\echavez\AppData\Roaming\npm\node_modules\protractor\node_modules\optimist\index.js:140:16)
рд╡рд╕реНрддреБ рдкрд░ред (C:\Users\echavez\AppData\Roaming\npm\node_modules\protractor\built\cli.js:158:21)
рдореЙрдбреНрдпреВрд▓._рдХрдВрдкрд╛рдЗрд▓ рдкрд░ (рдореЙрдбреНрдпреВрд▓.рдЬреЗрдПрд╕:571:32)
Object.Module._extensions..js рдкрд░ (module.js:580:10)
рдореЙрдбреНрдпреВрд▓.рд▓реЛрдб рдкрд░ (рдореЙрдбреНрдпреВрд▓.рдЬреЗрдПрд╕:488:32)
tryModuleLoad рдкрд░ (module.js:447:12)

рдореИрдВ рдХрдХрдбрд╝реА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдбрд┐рдВрдЧ рд╕рд┐рдВрдЯреИрдХреНрд╕ рднреА рдмрджрд▓ рдЧрдпрд╛ рд╣реИ? рдЗрд╕реЗ рдЕрдм рдФрд░ рдЬрдЯрд┐рд▓ рдХреНрдпреЛрдВ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ? рдХреНрдпреЛрдВрдХрд┐ рдирдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде, рдореБрдЭреЗ рдЪрд░рдгреЛрдВ рдХреЛ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдореВрд╣реАрдХреГрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдХреБрдЫ рдЪрд░рдг рдРрд╕реЗ рд╣реИрдВ рдЬреЛ рдХрдИ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рджреЛрд╣рд░рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рджреГрд╢реНрдп рдкрд░ рдХреЛрдб рджреЛрд╣рд░рд╛рддреЗ рд╣реИрдВ? рдореИрдВ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдЕрддрд┐рд░реЗрдХ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рдХрд░реВрдВрдЧрд╛ред рдХреНрдпреЛрдВ?

рдореЗрд░реА test.spec.js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрднреА рдЬреЛ рдХреБрдЫ рд╣реИ рдЙрд╕рдХрд╛ рдПрдХ рд╕реНрдирд┐рдкреЗрдЯ рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

this.Given('I am testing my Widget Application', function (callback) {
    edirp.edirejectwidgetlink.click().then(function(){ 
        callback();
    }).catch(function(reason) {
        console.log('ERROR: Widget button not found');
        callback(reason);
    });
});

this.When('There are records in the Widget List', function() {
    edirp.edigetrow.count().then(function(cnt){
        if(cnt>0){
            return recordsFound = cnt;
        }else{
            return recordsFound = 0;
        }
    });
});


this.Then('Header name of the Widget List is '(.+)'', function(header, callback) {
    expect(po.headertext.getText()).to.eventually.equal(header).then(function(){ 
        callback();
    }).catch(function(reason) {
        console.log('Warning: Incorrect Text.');
        callback(reason);
    });
});

рдпрд╣рд╛рдБ рдПрдХ "рдЕрдкрдбреЗрдЯ" рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреА рдЧрдИ рдПрдХ рд╕реНрдирд┐рдкреЗрдЯ рд╣реИ... рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рд╣реИ:

var seleniumWebdriver = require('selenium-webdriver');
var {defineSupportCode} = require('cucumber');

defineSupportCode(function({Given, When, Then}) {
  Given('I am testing my Widget Application', function (callback) {
    edirp.edirejectwidgetlink.click().then(function(){ 
        callback();
    }).catch(function(reason) {
        console.log('ERROR: Widget button not found');
        callback(reason);
    });

  When('There are records in the Widget List', function() {
    edirp.edigetrow.count().then(function(cnt){
        if(cnt>0){
            return recordsFound = cnt;
        }else{
            return recordsFound = 0;
        }
    });
  Then('Header name of the Widget List is '(.+)'', function(header, callback) {
    expect(po.headertext.getText()).to.eventually.equal(header).then(function(){ 
        callback();
    }).catch(function(reason) {
        console.log('Warning: Incorrect Text.');
        callback(reason);
    });
});

рдпрджрд┐ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдХрдИ рджрд┐рдП рдЧрдП рд╣реИрдВ, рдХрдм, рдлрд┐рд░ ... рдХреНрдпрд╛ рдЙрдиреНрд╣реЗрдВ рдпрд╣рд╛рдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЧрд┐рдирд╛ рдЬрд╛рдирд╛ рд╣реИ ?:
рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдорд░реНрдерди рдХреЛрдб (рдлрд╝рдВрдХреНрд╢рди ({рджрд┐рдпрд╛ рдЧрдпрд╛, рдФрд░, рдФрд░, рдХрдм, рдФрд░, рдФрд░, рдлрд┐рд░, рдФрд░, рдФрд░, рдФрд░}) {

рдЕрдЧрд░ рдпрд╣ рд╕рдЪ рд╣реИ... рддреЛ рдЕрдм, рдЕрдЧрд░ рдореИрдВ рдЕрдкрдиреА рд╕реБрд╡рд┐рдзрд╛ рдореЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ "рдЬрдм рдИрдбреАрдЖрдИ-рдЕрд╕реНрд╡реАрдХрд╛рд░ рд╡рд┐рдЬреЗрдЯ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рд╣реИрдВ" рдЪрд░рдг рдХрд╛ рдлрд┐рд░ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рддреЛ рдХреНрдпрд╛ рдореБрдЭреЗ рд╕рднреА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдлрд┐рд░ рд╕реЗ рдХреЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рдореБрдЭреЗ рдХреЗрд╡рд▓ рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рдЙрддреНрддрд░ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рди рд▓реЗрдВред

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдпрджрд┐ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдХрдИ рджрд┐рдП рдЧрдП рд╣реИрдВ, рдХрдм, рдлрд┐рд░ ... рдХреНрдпрд╛ рдЙрдиреНрд╣реЗрдВ рдпрд╣рд╛рдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЧрд┐рдирд╛ рдЬрд╛рдирд╛ рд╣реИ ?:
рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдорд░реНрдерди рдХреЛрдб (рдлрд╝рдВрдХреНрд╢рди ({рджрд┐рдпрд╛ рдЧрдпрд╛, рдФрд░, рдФрд░, рдХрдм, рдФрд░, рдФрд░, рдлрд┐рд░, рдФрд░, рдФрд░, рдФрд░}) {

рдирд╣реАрдВред Given , When , рдФрд░ Then рдРрд╕реЗ рдлрд╝рдВрдХреНрд╢рди рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдХрдИ рдмрд╛рд░ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЬреИрд╕реЗ 1.x рд╕реЗ this.Given , рдЖрджрд┐)ред And рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИред рдЖрдк рдПрдкреАрдЖрдИ рд╕рдВрджрд░реНрдн рдореЗрдВ defineSupportCode рджреНрд╡рд╛рд░рд╛ рдкрд╛рд░рд┐рдд рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ README.md рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ

рдореИрдВ рдХрдХрдбрд╝реА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдбрд┐рдВрдЧ рд╕рд┐рдВрдЯреИрдХреНрд╕ рднреА рдмрджрд▓ рдЧрдпрд╛ рд╣реИ?

рджреЗрдЦреЗрдВ https://github.com/cucumber/cucumber-js/issues/679

рдЗрд╕реЗ рдЕрдм рдФрд░ рдЬрдЯрд┐рд▓ рдХреНрдпреЛрдВ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ? рдХреНрдпреЛрдВрдХрд┐ рдирдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде, рдореБрдЭреЗ рдЪрд░рдгреЛрдВ рдХреЛ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдореВрд╣реАрдХреГрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдпрд╣ рд╕рдЪ рдирд╣реАрдВ рд╣реИ

рдзрдиреНрдпрд╡рд╛рдж рдореИрдВ рдЗрд╕реЗ рджреЗрдЦ рд▓реВрдВрдЧрд╛!

@charlierudolph Tnx рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП!

рдЗрд╕ рдереНрд░реЗрдб рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓реЙрдХ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реБрдИ рд╣реИред рдХреГрдкрдпрд╛ рд╕рдВрдмрдВрдзрд┐рдд рдмрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

travi picture travi  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

hdorgeval picture hdorgeval  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dblooman picture dblooman  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

protoman92 picture protoman92  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

igniteram picture igniteram  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ