рдкрд╣рд▓реА рд╡рд┐рдлрд▓рддрд╛ рдорд┐рд▓рдиреЗ рдкрд░ рдореБрдЭреЗ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рд░реЛрдХрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдореИрдВ рдкреНрд░реЛрдЯреИрдХреНрдЯрд░ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдмрдирд╛рдпрд╛ рдерд╛:
this.After(function (scenario, callback) {
if (scenario.isFailed()) {
browser.takeScreenshot().then(function(png) {
var decodedImage = new Buffer(png, 'base64').toString('binary');
scenario.attach(decodedImage, 'image/png');
browser.quit();
callback();
});
} else {
callback();
}
});
рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рддрд░реАрдХрд╛ рдмрд┐рд▓реНрдХреБрд▓ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ! рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдмрд╛рдХреА рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реБрдИ рдЬреЛ рдХрд┐ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╣реИ рдпрджрд┐ рдЯреАрдо рдХрд╛ рдХреЛрдИ рдЕрдиреНрдп рд╕рджрд╕реНрдп рдЗрд╕реЗ рджреЗрдЦрддрд╛ рд╣реИ! рдХреНрдпрд╛ рдЖрдк рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдореИрдВрдиреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рджреЗрдЦрд╛ рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рдорд┐рд▓рд╛!
рдзрдиреНрдпрд╡рд╛рдж
рдХрдХрдбрд╝реА-рдЬреЗрдПрд╕ рдореЗрдВ --fail-fast
рд╕реАрдПрд▓рдЖрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдЬреЛ рдкрд╣рд▓реА рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдмрд╛рдж рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЛ рд░реЛрдХ рджреЗрдЧрд╛ред
рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рдереА рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдореЗрд░реЗ рдкрд╛рд╕ npm task
рдЬреИрд╕реЗ "e2e-local": "scripts/test-e2e.sh local"
рд╣реИ рдЬреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ: grunt test:e2e:"$1" --tags "$2"
рдФрд░ рдЧреНрд░рдВрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЯреНрд░реИрдХреНрдЯрд░ рдХрд╛рд░реНрдп рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
// Functional test configuration
protractor: {
options: {
configFile: 'test/protractor-devel-conf.js',
keepAlive: false,
noColor: false,
args: {
cucumberOpts: {
tags: grunt.option('tags')
}
}
},
local: {
options: {
configFile: 'test/protractor-devel-conf.js',
keepAlive: false
}
},
live: {
options: {
configFile: 'test/protractor-live-conf.js',
keepAlive: false
}
}
},
рдореИрдВрдиреЗ рдХреЙрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдмрд┐рдВрджреБрдУрдВ рдкрд░ --fail-fast
рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдерд╛, рдЬреИрд╕реЗ:
npm run e2e-local --tags <strong i="14">@TAG</strong> --fail-fast
рдФрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛grunt test:e2e:"$1" --tags "$2" --fail-fast
рд▓реЗрдХрд┐рди рди рддреЛ...рдореИрдВ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ рдХрд┐ рдореИрдВ рдХреНрдпрд╛ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБ! рдХреНрдпрд╛ рддреБрдо рдмрддрд╛ рд╕рдХрддреЗ рд╣реЛ!?
рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рд╕рд╡рд╛рд▓ рдХреЛ рд░реЗрдкреЛ рдкрд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдЧреНрд░рдВрдЯ рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП рдкреВрдЫрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореЗрд░рд╛ рдЭреБрдХрд╛рд╡ рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдХрдХрдбрд╝реАрдСрдкреНрдЯреНрд╕ рдмреНрд▓реЙрдХ рдореЗрдВ рдХреБрдЫ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред
@bmsoko рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ? рдЕрдЧрд░ рдЗрд╕реЗ рдмрдВрдж рдирд╣реАрдВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ
рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЗ рдХрд╛рд░рдг рдмрдВрдж рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдХреГрдкрдпрд╛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВ
@charlierudolph рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВрдиреЗ рдЗрд╕ рдкреНрд░рд╢реНрди рдХреЗ рд╕рд╛рде рдЧреНрд░рдВрдЯ рдкреНрд▓рдЧрдЗрди рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрд▓реНрдж рд╣реА рдХрд░реВрдБрдЧрд╛ рдФрд░ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛ред
рдЗрд╕ рдереНрд░реЗрдб рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓реЙрдХ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реБрдИ рд╣реИред рдХреГрдкрдпрд╛ рд╕рдВрдмрдВрдзрд┐рдд рдмрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдХрдХрдбрд╝реА-рдЬреЗрдПрд╕ рдореЗрдВ
--fail-fast
рд╕реАрдПрд▓рдЖрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдЬреЛ рдкрд╣рд▓реА рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдмрд╛рдж рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЛ рд░реЛрдХ рджреЗрдЧрд╛ред