Protractor: рдПрдХрд╛рдзрд┐рдХ рдХреБрдВрдЬрд┐рдпреЛрдВ рд╡рд╛рд▓реА рднреЗрдЬреЗрдВрдХреБрдВрдЬреА (CTRL+a) рдЕрдм рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реА рд╣реИрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 4 рдлрд╝рд░ре░ 2017  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: angular/protractor

рдирдорд╕реНрддреЗ!

рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ

  • рдиреЛрдб рд╕рдВрд╕реНрдХрд░рдг: 7.5.0
  • рдЪрд╛рдВрджрд╛ рд╕рдВрд╕реНрдХрд░рдг: 4.0.14
  • рдмреНрд░рд╛рдЙрдЬрд╝рд░ (рдУрдВ): Chrome 56 on centos 7 (idem for Firefox)
  • рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рд╕рдВрд╕реНрдХрд░рдг CentOS 7
  • рдЖрдкрдХреА рдЪрд╛рдВрджрд╛ рд╡рд┐рдиреНрдпрд╛рд╕ рдлрд╛рдЗрд▓:
'use strict';

var testiCommons = require('../utilit/testiCommons.js');

exports.config = {
    framework: 'mocha',
    seleniumAddress: 'http://localhost:4444/wd/hub',
    specs: ['../../../*/tests/protractor/**/*.js'],
    baseUrl: 'http://localhost:3001',
    getPageTimeout: 30000,
    allScriptsTimeout: 30000,
    mochaOpts: {
        timeout: 30000, // ms,
        reporter: 'spec',
        slow: '2000', // a test is slow if it takes over 1 sec to accomplish
        delay: true
    },

    capabilities: {
        // If this is set to be true, specs will be sharded by file (i.e. all
        // files to be run by this set of capabilities will run in parallel).
        // Default is false.
        shardTestFiles: false,

        // Maximum number of browser instances that can run in parallel for this
        // set of capabilities. This is only needed if shardTestFiles is true.
        // Default is 1.
        maxInstances: 1,

        browserName: 'chrome',
//        browserName: 'firefox',

        'chromeOptions': {
            // Get rid of --ignore-certificate yellow warning
            args: ['--no-sandbox', '--test-type=browser'],
            // --start-maximized

            // Set download path and avoid prompting for download even though
            // this is already the default on Chrome but for completeness
            prefs: {
                'download': {
                    'prompt_for_download': false,
                    'default_directory': '/datas/temp',
                }
            }
        }
    },

    onPrepare: function() {
    },

    onComplete: function() {
        console.log('Into global onComplete test function');
        testiCommons.disconnectMongo();
    },
};
  • рдПрдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЙрджрд╛рд╣рд░рдг рдкрд░реАрдХреНрд╖рдг
    рдореИрдВ рдХрдИ рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ:
    $elt.sendKeys(webdriver.Key.CONTROL, 'a', webdriver.Key.NULL, keys);
    рдпрд╛
$elt.sendKeys(protractor.Key.chord(protractor.Key.CONTROL, 'a'));
$elt.sendKeys(keys);

рдпрд╛

browser.actions().keyDown(protractor.Key.CONTROL).sendKeys('a').perform();    
$elt.sendKeys(keys);
browser.actions().keyUp(protractor.Key.CONTROL).perform();

рджреЛрдиреЛрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЕрдм рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ (рдпрд╣ рдкрд╣рд▓реЗ рдерд╛) рдХреНрдпреЛрдВрдХрд┐ CTRL+A (рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЯреЗрдХреНрд╕реНрдЯ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ) рдЪрдпрдирд┐рдд рдирд╣реАрдВ рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

+1

рдЪрд╛рдВрджрд╛: 4.0.14
рдХреНрд░реЛрдо рдбреНрд░рд╛рдЗрд╡рд░: 2.26

рдХреНрд░реЛрдо 53 рдкрд░ browser.actions.keyDown(protractor.Key.ALT).sendKeys('a').keyUp(protractor.Key.ALT).perform(); рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдХреНрд░реЛрдо 56 рдкрд░, рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

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

рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рд╣реЛрдирд╛:
рдкреНрд░реЛрдЯреНрд░реИрдХреНрдЯрд░ 5.1.0
рдиреЛрдб 6.9.1
рдХреНрд░реЛрдо рдбреНрд░рд╛рдЗрд╡рд░ 2.27
рдХреНрд░реЛрдо 56.0

element(by.css('input')).sendKeys(arg1).then(function() { browser.actions().sendKeys(protractor.Key.ENTER).perform().then(callback); });

browser.driver.actions() .mouseDown(element($(cssSelector)).getWebElement()) .mouseMove({x: 0, y: amount}) // try different value of x .mouseUp() .perform();

рджреЛрдиреЛрдВ рдЕрдм рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдХреЗ рдЕрдЬреАрдм рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рднреЗрдЬрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ [рд╢реВрдиреНрдп] рдФрд░ [рд╢реВрдиреНрдп, рд╢реВрдиреНрдп, рд╢реВрдиреНрдп, рд╢реВрдиреНрдп]

+1

рдЪрд╛рдВрджрд╛: 4.0.14
рдХреНрд░реЛрдо рдбреНрд░рд╛рдЗрд╡рд░: 2.26

рдХреНрд░реЛрдо 53 рдкрд░ browser.actions.keyDown(protractor.Key.ALT).sendKeys('a').keyUp(protractor.Key.ALT).perform(); рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдХреНрд░реЛрдо 56 рдкрд░, рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдпрд╣рд╛рдБ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛, рдХреЛрдИ рдЕрдкрдбреЗрдЯ?

рдкреНрд░реЛрдЯреНрд░реИрдХреНрдЯрд░: 5.4.2
рдХреНрд░реЛрдо рдбреНрд░рд╛рдЗрд╡рд░: 2.41

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

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

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

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

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

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

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