рд╕реЗрд▓реЗрдирд┐рдпрдо рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ Yandex.Mail рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ

рдЧреБрдгрд╡рддреНрддрд╛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд┐рдирд╛, рдПрдХ рдмрдбрд╝реА рд╡реЗрдм рд╕реЗрд╡рд╛ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдФрд░ рдмрдирд╛рдП рд░рдЦрдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рдЕрдкрдиреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╢реБрд░реБрдЖрддреА рдЪрд░рдгреЛрдВ рдореЗрдВ, рдЕрдХреНрд╕рд░ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдкрд░реАрдХреНрд╖рдг рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреЗрд╡рд▓ рдореИрдиреБрдЕрд▓ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдЖрдЧрдорди рдФрд░ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдВрддреЛрд╖ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╣рдо рд╕реЗрд▓реЗрдирд┐рдпрдо рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдФрд░ рдиреЛрдб.рдЬреЗрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Yandex.Mail рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░реАрдХреНрд╖рдг рдХреЛ рдХреИрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рд╕реЗрд▓реЗрдирд┐рдпрдо

рд╕реЗрд▓реЗрдирд┐рдпрдо рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕реНрд╡рдд: рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдХрдИ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╡реЙрдЯрд┐рд░ , рдЬрд╝реЛрдВрдмреА.рдЬреЗрдПрд╕ , рдлреИрдВрдЯрдордЬреЗрдПрд╕ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ ред рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╣ рдерд╛ рдЬреЛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдорд╛рдирдХ рдмрди рдЧрдпрд╛ рдерд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕рдХреА рдЕрдЪреНрдЫреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИред рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рд╕рднреА рд╕рд╛рдорд╛рдиреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рдбреНрд░рд╛рдЗрд╡рд░ рд╣реИрдВ - рдЬрд┐рдирдореЗрдВ рдореЛрдмрд╛рдЗрд▓ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ - рдФрд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо, рдЬрд┐рдиреНрд╣реЗрдВ рд╣реЗрдбрд▓реЗрд╕-рдЯреВрд▓реНрд╕ (Zombie.js, PhantomJS) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдФрд░ рдХреНрдпреЛрдВ рдмрд┐рд▓реНрдХреБрд▓ Node.js? рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдлреНрд░рдВрдЯ-рдПрдВрдб Yandex.Mail рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН рд╡реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рд░рд┐рд▓реАрдЬ рд╕реЗ рд░рд┐рд▓реАрдЬ рд╣реЛрдиреЗ рддрдХ рдЗрд╕рдореЗрдВ рдХрд╣рд╛рдВ рдФрд░ рдХреНрдпрд╛ рдмрджрд▓рд╛рд╡ рд╣реЛрддреЗ рд╣реИрдВред

рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╕реЗрдЯрдЕрдк


рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ рд╕реЗрд▓реЗрдирд┐рдпрдо рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:

  1. рдЬрд╛рд╡рд╛ ( http://www.java.com/en/download )ред
  2. рд╕реЗрд▓реЗрдирд┐рдпрдо рд╕рд░реНрд╡рд░ (рдЖрдк рдпрд╣рд╛рдВ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - https://code.google.com/p/selenium/downloads/lis )ред
  3. Node.js + npm ( http://nodejs.org/download )ред
  4. ChromeDriver (Google Chrome рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП)ред рдпрд╣ рдпрд╣рд╛рдВ рд╕реЗ рдЬрд╛рддрд╛ рд╣реИ: code.google.com/p/chromedriver/downloads/list ред

рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

  1. Node.js рдХреЗ рд▓рд┐рдП рд╕реЗрд▓реЗрдирд┐рдпрдо-рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
    npm install selenium-webdriver -g 

  2. рд╕реЗрд▓реЗрдирд┐рдпрдо рд╕рд░реНрд╡рд░ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ:
     java -jar selenium-server-standalone-{VERSION}.jar 


рдкрд╣рд▓реЗ рдкрд░реАрдХреНрд╖рдг


рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд░реАрдХреНрд╖рдг (test.js) рд▓рд┐рдЦреЗрдВрдЧреЗ:

 var wd = require('selenium-webdriver'); var assert = require('assert'); var SELENIUM_HOST = 'http://localhost:4444/wd/hub'; var URL = 'http://www.yandex.ru'; var client = new wd.Builder() .usingServer(SELENIUM_HOST) .withCapabilities({ browserName: 'firefox' }) .build(); client.get(URL).then(function() { client.findElement({ name: 'text' }).sendKeys('test'); client.findElement({ css: '.b-form-button__input' }).click(); client.getTitle().then(function(title) { assert.ok(title.indexOf('test тАФ : ') > -1, '   :('); }); client.quit(); }); 


рдХреЛрдб рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ:

  1. рд╣рдо рд╕реЗрд▓реЗрдирд┐рдпрдо-рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ;
  2. рд╣рдо рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╡рд╛рдВрдЫрд┐рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рдЖрд░рдВрднреАрдХреГрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕ рд╣реЛрд╕реНрдЯ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕ рдкрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реЗрд▓реЗрдирд┐рдпрдо-рд╕рд░реНрд╡рд░ рд╣реИ;
  3. рд╣рдо www.yandex.ru рдЦреЛрд▓рддреЗ рд╣реИрдВ ;
  4. рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЦреЛрдЬ рд▓рд╛рдЗрди ( ) тАЬtestтАЭ ( CSS- '.b-form-button__input');
    рд╣рдореЗрдВ рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдо рдкреГрд╖реНрда рдХрд╛ рд╢реАрд░реНрд╖рдХ рдорд┐рд▓рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ 'рдкрд░реАрдХреНрд╖рдг - рдпрд╛рдВрдбреЗрдХреНрд╕: рдкрд╛рдпрд╛' рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдВред

    docs.seleniumhq.org - рд╕реЗрд▓реЗрдирд┐рдпрдо рдкреНрд░рд▓реЗрдЦрдиред
    code.google.com/p/selenium/wiki/WebDriverJs - WebDriver.js рдкреНрд░рд▓реЗрдЦрдиред
    DVcs.w3.org/hg/webdriver/raw-file/default/webdriver-spec.html WebDriver API рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдХрд╛ рдПрдХ рдкреНрд░рд╛рд░реВрдк рд╣реИред

Source: https://habr.com/ru/post/In173769/


All Articles