рдпреВрдЖрдИ рдкрд░реАрдХреНрд╖рдг: рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдкрд░ рд╕рд┐рд╕реНрдЯрдо рдХреА рдЬрд╛рдБрдЪ

рд╡рд┐рднрд┐рдиреНрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдФрд░ рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдореЗрдВ рд▓рдВрдмреЗ рд╡реЗрдм-рд░реВрдкреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рди рдХреЗрд╡рд▓ рдЕрддреНрдпрдВрдд рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдмрд▓реНрдХрд┐ рддреАрд╕рд░реА рдпрд╛ рдЪреМрдереА рдмрд╛рд░ рднреА - рдПрдХ рдЕрддреНрдпрдВрдд рдЙрдмрд╛рдК рдФрд░ рдПрдХрд╛рдЧреНрд░рддрд╛-рдЧрд╣рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИред рддреЛ, рдпрд╣ рдареАрдХ рдпрд╣реА рдХреНрд╖реЗрддреНрд░ рд╣реИ рдЬреЛ рдЦреБрдж рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдкреВрдЫрддрд╛ рд╣реИред рд╣рдордиреЗ рдпрд╣реА рдХрд┐рдпрд╛ рд╣реИред

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



рд╣рдо рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕реЗ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ 7 рд╣рдЬрд╛рд░ рд╕рдХреНрд░рд┐рдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдВред рдЕрдХреНрд╕рд░ рд╡реЗ рдЗрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:



рдФрд░ рдирд┐рдореНрди рд╕реНрдХреНрд░реАрди рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди:



рд╣рд░ рдмрд╛рд░ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЗрд╕реЗ рдЗрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдФрд░ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪрдирд╛ рд╣реЛрдЧрд╛ред

рдпреВрдЖрдИ рдкрд░реАрдХреНрд╖рдг рдЖрдорддреМрд░ рдкрд░ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдХреА рдмреЗрд╣рддрд░ рд╕рдордЭ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдорд╛рдорд▓реЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ: рдкрд╛рд╕рд╡рд░реНрдб рд░рд┐рдХрд╡рд░реА рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ред рддрджрдиреБрд╕рд╛рд░, рджреЛ рдкреГрд╖реНрда рд╣реИрдВред рдПрдХ рдкрд░ рдЖрдкрдХреЛ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдпрд╛ рдореЗрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдВ рдПрдХ рдкрддреНрд░ рдкрд╛рд╕рд╡рд░реНрдб рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рдЖрдПрдЧрд╛ред рдЖрд╡реЗрджрди рднреЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреГрд╖реНрда рдкрд░ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛ рдЧрдпрд╛ рд╣реИред


рдкрд╛рд╕рд╡рд░реНрдб рд░рд┐рдХрд╡рд░реА рдлреЙрд░реНрдо


рд╡рд╣ рдкреГрд╖реНрда рдЬрд┐рд╕ рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рдЖрд╡реЗрджрди рдХреЗ рд╕рдлрд▓ рдкреНрд░рд╕реНрддреБрддрд┐рдХрд░рдг рдХреЗ рдмрд╛рдж рд╣реЛрддрд╛ рд╣реИ

рдЗрд╕ рддрдВрддреНрд░ рдХрд╛ рд╕рд░рд▓реАрдХреГрдд рд░реВрдк рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:



рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ:

it('    ', async function(): Promise<boolean | void> { await browser.get(browser.baseUrl); await element(by.name('EmailOrLogin')).sendKeys(userLogin); await element(by.buttonText('')).click(); const screenshot = await browser.takeScreenshot(); const canonicalScreenshotPath = <   >; await compareScreenshot(screenshot, canonicalScreenshotPath); }); 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкрд░реАрдХреНрд╖рдг рдХреЛрдб рдХрд╛рдлреА рд╕рд░рд▓ рджрд┐рдЦрддрд╛ рд╣реИ, рдпрд╣ рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рджреЛрд╣рд░рд╛рддрд╛ рд╣реИ рдХрд┐ рдмреНрд▓реЙрдХ рдЖрд░реЗрдЦ рдкрд░ рдХреНрдпрд╛ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдЕрдм рд╣рдо рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдХреНрд░реАрди рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдкрд░ рдЗрд╕ рдпреЛрдЬрдирд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реЗ рдЙрдкрдХрд░рдг рдХрд╛рдо рдореЗрдВ рдЖрдП, рдФрд░ рд╣рдореЗрдВ рдХрд┐рди рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рдЪрдпрдирд┐рдд рдЯреВрд▓рдмреЙрдХреНрд╕


рдХреНрд░реЛрдо рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд┐рдпрд╛


рдкрд░реАрдХреНрд╖рдг рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдПрдВрдЧреБрд▓рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ e2e рдлреНрд░реЗрдорд╡рд░реНрдХ, рдкреНрд░реЛрдЯреНрд░реИрдХреНрдЯрд░ рдХреЛ рдЪреБрдирд╛ред рд╣рдорд╛рд░рд╛ рдЖрд╡реЗрджрди рд╕рд┐рд░реНрдл рдХреЛрдгреАрдп рдкрд░ рд╣реИред рдкреНрд░реЛрдЯреНрд░реЗрдХреНрдЯрд░ рдХреЗ рд╕рд╛рде, рд╣рдордиреЗ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП:

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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдЙрджрд╛рд╣рд░рдг рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред


рдЕрдорд╛рдиреНрдп рд▓рд┐рдВрдХ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ


рд╕рдВрджрд░реНрдн рдФрд░ рд╡рд░реНрддрдорд╛рди рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рдЕрдВрддрд░ (рдмрдЯрди рдХрд╛ рд▓реЗрдЖрдЙрдЯ) рдмрдХрд╛рдЗрди рдореЗрдВ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рд╛ рдЧрдпрд╛ рд╣реИ

рдпрджрд┐ рдкреГрд╖реНрда рдореЗрдВ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓рддреЗ рдбреЗрдЯрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рджрд┐рдирд╛рдВрдХ рдпрд╛ рдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛) рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдорд╛рд╕реНрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдРрд╕реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдмреНрд▓реВ-рдлрд╝рд╛рд░реНрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рд╣реИред рдЕрдиреНрдпрдерд╛, рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рддреБрд▓рдирд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд░рд┐рдгрд╛рдо рджреЗрдЧреАред

FF рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВ


рд╕рдордп рдХреЗ рд╕рд╛рде, рдореМрдЬреВрджрд╛ UI рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдмрдврд╝реА рд╣реИрдВ:

  • рди рдХреЗрд╡рд▓ рдХреНрд░реЛрдо рдореЗрдВ, рдмрд▓реНрдХрд┐ FF рдореЗрдВ рднреА рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдВ,
  • рдЖрдЪрд░рдг рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдкрд░реАрдХреНрд╖рдг рдПрдХ рд╕рдВрдХрд▓реНрдк рдкрд░ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд▓реЛрдЧреЛрдВ рдкрд░,
  • рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддреЗ рд╣реИрдВред

рддреЛ, рдЪрд▓рд┐рдП рдХреНрд░реЛрдо рдФрд░ рдПрдлрдПрдл рджреЛрдиреЛрдВ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддреЗ рд╣реИрдВред

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Protractor'a рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ, рдЗрд╕реЗ рдЗрд╕ рд╕реЗ рдмрджрд▓реЗрдВ:

 multiCapabilities: [ { shardTestFiles: true, maxInstances: 2, browserName: 'chrome' }, { shardTestFiles: true, maxInstances: 2, browserName: 'firefox' } ] 

рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрдЯрд┐рдВрдЧ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдХреЗрд╡рд▓ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ
shardTestFiles: true
/** * If this is set to be true, specs will be shared by file (ie all files to be run by this set of capabilities will run in parallel). * Default is false. */

рдЗрд╕ рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рд╣рдо рдЙрди рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рд╕рднреА рд╕реНрдкреЗрдХреНрд╕ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рд▓реЙрдиреНрдЪ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдорд▓реНрдЯреАрдХреИрдкрд┐рдмрд┐рд▓рд┐рдЯреА рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИрдВред

рдЪрд╢реНрдорд╛ рдкреИрд░рд╛рдореАрдЯрд░ рд╢рдмреНрдж рд╕реНрдкреЗрдХреНрд╕ рдХреЗ рдиреАрдЪреЗ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИ, рдЬреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕рд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЦреЛрдЬрдирд╛ рд╣реИред

 exports.config = { ... specs: ['./e2e/**/*.spec.ts'], ... } 

рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдХрдИ рдХрд▓реНрдкрдирд╛-рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛рдлреА рддрд╛рд░реНрдХрд┐рдХ рд▓рдЧрддрд╛ рд╣реИред concurrency рдЙрди рдкрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдкреНрд░рддреНрдпреЗрдХ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ)ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░реЛрдЯреНрд░реИрдХреНрдЯрд░ рдореЗрдВ рд╕реБрдЗрдЯреНрд╕ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред

 exports.config = { ... suites: { suite01: './e2e/**/suite01.*.spec.ts', suite02: './e2e/**/suite02.spec.ts', suite03: './e2e/**/suite03.spec.ts' }, ... } 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреЗ рдЗрд╕ рд╣рд┐рд╕реНрд╕реЗ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдм рдПрдХ рд╕реВрдЯ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдкрд░реАрдХреНрд╖рдг рдХреЗрд╡рд▓ рдПрдХ рдХрд▓реНрдкрдирд╛ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЪрд▓рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рд╢рд╛рдпрдж рдЙрдкрдпреЛрдЧреА рд╣реИ рдпрджрд┐ рдЖрдк рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рдХреЗрд╡рд▓ рдПрдХ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдкрд░ рдЖрд╡реЗрджрди рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдЧрдПред рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдЕрдиреБрдорддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ, рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: 1920x1080, 1366x768, 1440x10900, 768x1024ред рдЬрдм рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рд╢реБрд░реВ рдореЗрдВ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдХреНрд░рд┐рдпрд╛рдПрдВ рдХреА рдЬрд╛рддреА рдереАрдВ, рдФрд░ рдлрд┐рд░ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЪреЗрдХ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреА рдЬрд╛рддреА рд╣реИред



рд╣рдо IE рдФрд░ рдкреВрд░реНрдг рдЖрдХрд╛рд░ рдХреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ


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

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдореЗрдВ IE рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрднреА рддрдХ рдбрд┐рдЬрд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдордиреЗ IE рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдФрд░ рдкреВрд░реНрдг рдЖрдХрд╛рд░ рдХреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЕрд╡рд╕рд░ рдХреА рддрд▓рд╛рд╢ рд╢реБрд░реВ рдХрд░ рджреАред



рд╣рдо рджреЛ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдкрд░ рдмрд╕реЗ: рдЬрд╝рд▓реЗрдирд┐рдпрдо рдФрд░ рд╕реЗрд▓реЗрдирд┐рдпрдо-рдЧреНрд░рд┐рдб ред рд╣рдо рдЗрд╕ рдмрд╛рдд рдХрд╛ рд╡рд░реНрдгрди рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХреМрди рд╕рд╛ рдПрдХ рд╕рдореЗрдЯреЗ рд╣реБрдП рд╣реИ, рдФрд░ рджреЛрдиреЛрдВ рдореЗрдВ рд╕реЗ рдЬреЛ рдХреБрдЫ рднреА рдорд┐рд▓рд╛ / рдирд╣реАрдВ рдорд┐рд▓рд╛ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдПрдВред

рдЬрд╝рд▓реЗрдирд┐рдпрдо : рдпрд╣ рд╕рдорд╛рдзрд╛рди рдореБрдЦреНрдп рдХрдВрдЯреЗрдирд░ рдХреЗ рдмрд╛рдж рдПрдХ рдбреЛрдХрд░ рдХрдВрдЯреЗрдирд░ рдФрд░ рдПрди рдЕрдиреНрдп рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдмрдврд╝рддрд╛ рд╣реИ - рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЖрдкрдХреЛ рдбреЙрдХ docker run рджреМрд░рд╛рди рд╕реНрдХреНрд░реАрдирд╡рд╛рд░реНрдб, рд╕реНрдХреНрд░реАрдирд╣рд╛рдЗрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдФрд░ рд╕реНрдХреНрд░реАрди рдЖрдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 1920x6000ред IE рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИред


1920x6000 рдХреЗ рд╕реНрдХреНрд░реАрди рд╕рд╛рдЗрдЬ рд╡рд╛рд▓реЗ рджреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░

рд╕реЗрд▓реЗрдирд┐рдпрдо-рдЧреНрд░рд┐рдб: IE рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рд╢реБрд░реВ рд╣реБрдПред
Minuses рдХреА: рдХрд┐рд╕реА рднреА рдЖрдХрд╛рд░ рдХреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред

рдХреБрд▓: рдЬрд╝рд▓реЗрдирд┐рдпрдо + рд╕реЗрд▓реЗрдирд┐рдпрдо-рдЧреНрд░рд┐рдб
рд╣рдо рдЬрд╝рд▓реЗрдирд┐рдпрдо + рд╕реЗрд▓реЗрдирд┐рдпрдо-рдЧреНрд░рд┐рдб рдХреЗ рдПрдХ рд╕рдореВрд╣ рдкрд░ рдмрд╕реЗ: рдЬрд╝рд▓реЗрдирд┐рдпрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреНрд░реЛрдо рдФрд░ рдПрдлрдПрдл рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛, рдФрд░ рдЖрдИрдИ рдореЗрдВ рдЖрд╡реЗрджрди рдХреЗ рдиреНрдпреВрдирддрдо рдкреНрд░рджрд░реНрд╢рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрд▓реЗрдирд┐рдпрдо-рдЧреНрд░рд┐рдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред

рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдорд┐рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рджрд┐рд▓рдЪрд╕реНрдк рдерд╛


1. рдПрдХ рддрддреНрд╡ рд▓реЛрдХреЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ formControlName рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

FormControlName рдкрд░ рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдлрд╝реЙрд░реНрдо рдкрд░ рдЖрд╡рд╢реНрдпрдХ рдлрд╝реАрд▓реНрдб рдЦреЛрдЬ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рднрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рдкрддреНрд░рдХрдВрдЯреНрд░реЛрд▓рдирд╛рдо рджреНрд╡рд╛рд░рд╛ рд▓реЛрдХреЗрдЯрд░ рдмрд┐рд▓реНрдЯ-рдЗрди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдЖрд╕рд╛рди рд╣реИ:

 exports.config = { ... onPrepare() { require('ts-node').register({ project: 'e2e/tsconfig.e2e.json' }); jasmine.getEnv().addReporter(new specReporter({ spec: { displayStacktrace: true } })); addFormControlNameLocator(protractor); } ... } function addFormControlNameLocator(protractor) { protractor.by.addLocator('formControlName', function(value, optParentElement) { var using = optParentElement || document; return using.querySelectorAll('[formControlName="' + value + '"]'); }); } 

2. рд╡рд┐рд╢реНрд╡ рдФрд░ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░-рдореИрдиреЗрдЬрд░ рдХреЗ рдХрд╛рдо рдореЗрдВ рдЕрдВрддрд░ рдкреНрд░реЛрдЯреНрд░реИрдХреНрдЯрд░ рдореЗрдВ

рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдкреНрд░реЛрдЯреЗрдХреНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп (рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдкреНрд░реЛрдЯреНрд░реИрдХреНрдЯрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реИ), рдкрд░реАрдХреНрд╖рдг рдврд╛рдВрдЪреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░-рдкреНрд░рдмрдВрдзрдХ рдорд┐рд▓рддрд╛ рд╣реИ, рдЬреЛ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрдХрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред

рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬрд╛рдиреЗ рдФрд░ рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░-рдореИрдиреЗрдЬрд░ рдЕрдкрдбреЗрдЯ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, Chrome, FF, IE рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, рдкрд░реАрдХреНрд╖рдг рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп, рдЙрдиреНрд╣реЛрдВрдиреЗ рддреНрд░реБрдЯрд┐ рдкрдХрдбрд╝реА:

No update-config.json found. Run 'webdriver-manager update' to download binaries.

рд╣рдореЗрдВ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдЕрдЧрд░ рд╣рдо nd рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░-рдореИрдиреЗрдЬрд░ рдЕрдкрдбреЗрдЯ рдкреИрдХ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рддреНрд░реБрдЯрд┐ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреА рд╣реИ:

 { ... scripts:{ тАЬwebdriver-updateтАЭ: тАЬwebdriver-manager updateтАЭ } ... } 

рдФрд░ npm run webdriver-update рдорд╛рдзреНрдпрдо рд╕реЗ npm run webdriver-update , рджреЛрдиреЛрдВ рдбреНрд░рд╛рдЗрд╡рд░ рд╕реНрд░реЛрдд рдФрд░ рдЙрдкрд░реНрдпреБрдХреНрдд npm run webdriver-update config.json рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдорд┐рд▓рддреЗ рд╣реИрдВред

3. рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдХреЗ рдЬрд░рд┐рдП рдЬрд╝рд▓реЗрдирд┐рдпрдо рдЪрд▓рд╛рдирд╛

Zalenium рдкреНрд░рд▓реЗрдЦрди docker docker run рдХрдорд╛рдВрдб рдФрд░ docker-compose рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╣реИред рдЬрд╛рджреВ рд╕реЗ рд╕рдм рдХреБрдЫ рд▓рдЧрднрдЧ рджреВрд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХрдорд╛рддреНрд░ рд╕рдорд╕реНрдпрд╛ рдЬрд┐рд╕рдХрд╛ рд╣рдореЗрдВ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдЬрдм рдбреЙрдХрдЯрд░-рдХрдореНрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╢реБрд░реВ рд╣реБрдЖ
/var/run/docker.sock is not a valid windows path ред рд╕рдорд╛рдзрд╛рди рдпрд╣рд╛рдБ рд╣реИ ред

4. рдкреНрд░реЛрдЯреЗрдХреНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рддрддреНрд╡реЛрдВ рдХреА рджреГрд╢реНрдпрддрд╛

рд╣рдорд╛рд░реЗ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рджреМрд░рд╛рди, рдПрдХ рдкрд▓ рдореЗрдВ рд╣рдореЗрдВ рдкреГрд╖реНрда рдкрд░ рдХреБрдЫ рдореЗрдиреВ рдХреЛ рдЫреЗрджрдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдЕрд░реНрдерд╛рддред рдореЗрдиреВ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд▓реЗрдВред



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

рд╣рдордиреЗ рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдХреНрд░реАрди рдЪреМрдбрд╝рд╛рдИ рд╕реЗрдЯ рдХрд░рдХреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рдореЗрдиреВ рдЗрд╕рдХреЗ рдЕрдЧрд▓реЗ рддрддреНрд╡ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рджрд┐рдЦрд╛рдИ рджреЗред

5. рдЖрдИрдИ (рд╕реЗрд▓реЗрдирд┐рдпрдо-рдЧреНрд░рд┐рдб) рдореЗрдВ рд╕рдВрдХрд▓реНрдк рдкрд░рд┐рд╡рд░реНрддрди

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдХреЛ рдпрд╛рдж рд╣реИ, рдХреНрд░реЛрдо рдФрд░ рдПрдлрдПрдл рдореЗрдВ рд╣рдордиреЗ рд╕реНрдХреНрд░реАрди рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ред рдЬрдм IE рдореЗрдВ рдпрд╣ рдЖрдпрд╛, рддреЛ рд╣рдордиреЗ рдмрд╕ рддреНрд░реБрдЯрд┐ рдкрдХрдбрд╝реА: Failed: java.io.IOException: Server returned HTTP response code: 405 for URL: http://localhost:21800/session/8d14426d-6483-4bbf-90b3-2a3ed46ebe9b/window/size ред

рд▓рдВрдмреЗ рдбрд┐рдмрдЧ рдХреЗ рдмрд╛рдж, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╕рдВрднрд╡ рдерд╛ рдХрд┐ рддреНрд░реБрдЯрд┐ рдЙрд╕реА рд╕рдордп рдЙрдбрд╝ рдЬрд╛рддреА рд╣реИ рдЬрдм рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реЛрддрд╛ рд╣реИ: browser.driver.manage().window().setSize(x, y) ред рдпрджрд┐ рдЖрдк browser.driver.manage().window().setPosition(x, y) рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╣рдореЗрдВ рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЬрдм IE рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ рд╕реНрдХреНрд░реАрди рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╣рд▓ рдмреИрд╕рд╛рдЦреА рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдкрдХреЛ рдЕрдкрдирд╛ рдХреЛрдб рдУрд╡рд░рд▓реЗ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ рдЬрдм IE рдЪрд▓ рд░рд╣рд╛ рд╣реЛ рддреЛ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рди рдмрджрд▓реЗрдВред

6. рдЬрд╝рд▓реЗрдирд┐рдпрдо рдФрд░ рд╡реЗрдмрд╕реЙрдХреЗрдЯ

рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╕рднреА рдзрдХреНрдХреЛрдВ рдХреЛ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЬрд╝рд▓реЗрдирд┐рдпрдо рдХреЛ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред рдХрдВрдЯреЗрдирд░ рдЦреБрд▓рд╛ рд╣реИ, DNS рдкрдВрдЬреАрдХреГрдд рд╣реИ, рдЕрдм рд╣рд░ рдХреЛрдИ рдЬрд╝рд▓реЗрдирд┐рдпрдо рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реИ, рдмрд╕ рдЕрдкрдиреЗ рдкреНрд░реЛрдЯреНрд░реИрдХреНрдЯрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЗрд╕реЗ рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗред рд╕реМрдВрджрд░реНрдп, рд╣реБрд╣? рд▓реЗрдХрд┐рди рд╡рд╣рд╛рдБ рдпрд╣ рдерд╛ред

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рд┐рдирдХреНрд╕ рдорд╢реАрди рдкрд░ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдирдЧрд┐рдирдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЬрд╝рд▓реЗрдирд┐рдпрдо рдХреЗ рд╕рд╛рде рдХрдВрдЯреЗрдирд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдКрдкрд░ рдЪрд▓рд╛ рдЧрдпрд╛, рдЗрд╕рдХреЗ рдмрд╛рдж рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдПрди рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд╕рд╛рде, рд▓реЗрдХрд┐рди ... рдЙрдирдХреЗ рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЖрд╕рд╛рди рдерд╛ рдХрд┐ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХрдВрдЯреЗрдирд░ рд╡реЗрдмрд╕реНрдХреЗрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рдереЗ, рдФрд░ рдирд┐рдпрдиреЗрдХреНрд╕ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдереЗред рдЗрд╕рдХрд╛ рдЗрд▓рд╛рдЬ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред

 location / { proxy_pass some_url; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection тАЬupgradeтАЭ; } 

9. рд╕реЗрд▓реЗрдирд┐рдпрдо-рдЧреНрд░рд┐рдб рдХрд╛ рд╢реБрднрд╛рд░рдВрдн

рд╕реЗрд▓реЗрдирд┐рдпрдо-рдЧреНрд░рд┐рдб рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП:

  • рд╕реЗрд▓реЗрдирд┐рдпрдо-рд╕рд░реНрд╡рд░ ,
  • IE рдбреНрд░рд╛рдЗрд╡рд░, рдЬреЛ рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░-рдкреНрд░рдмрдВрдзрдХ рдЕрдкрдбреЗрдЯ --ie32 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред

рд╕рд░реНрд╡рд░ рд▓реЙрдиреНрдЪ:

java -jar selenium-server-standalone.jar -role hub -hubConfig selenium-server-config.json

 selenium-server-config.json { "host": "127.0.0.1", "maxSessions": 5, "port": 4445, "cleanupCycle": 5000, "timeout": 300000, "newSessionWaitTimeout": -1, "servlets": [], "prioritizer": null, "capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher", "throwOnCapabilityNotPresent": true, "nodePolling": 180000, "platform": "WINDOWS" } 

IE рдЪрд╛рд▓рдХ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдирд╛:

java -Dwebdriver.ie.driver=< > -jar selenium-server-standalone.jar -role node -nodeConfig .\\ie-driver-config.json

 ie-driver-config.json { "capabilities": [ { "browserName": "internet explorer", "maxInstances": 1, "platform": "WINDOWS", "webdriver.ie.driver": "C:/Program Files (x86)/Internet Explorer/iexplore.exe" } ], "cleanUpCycle": 2000, "timeout": 30000, "port": -1, "role": "node", "hub": "http://127.0.0.1:4445/grid/register/", "register": true, "maxSessions": 5 } 

рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп рдФрд░ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд╣рдм URL'e рдореЗрдВ рд╕рдорд╛рди рдкреЛрд░реНрдЯ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдкреНрд░реЛрдЯреЗрдХреНрдЯрд░ рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рд╕реЗрд▓реЗрдирд┐рдпрдордПрдбреНрд░реЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдо http://127.0.0.1:4445/wd/hub рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдирд┐рд╖реНрдХрд░реНрд╖


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

рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХреИрд╕реЗ рдмрдирд╛рдПрдБ


рдпрд╣ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдБрдЪреЗ рдХреЛ рдЙрдард╛рдирд╛ рд╣реА рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЛ рдпрд╣ рд╕реЛрдЪрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рджреИрдирд┐рдХ рдЬреАрд╡рди рдореЗрдВ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВрдЧреЗред

рд╣рдордиреЗ CI рдореЗрдВ UI рдкрд░реАрдХреНрд╖рдг рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╡реЗ рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд╕рдХреЗрдВред

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

рдЕрдВрдд рдореЗрдВ, рд╣рдо рдЬреЛрд░ рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:

  • рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ UI рдкрд░реАрдХреНрд╖рдг рдЖрдкрдХреЛ рд╡рд┐рд╕реНрддреГрдд рдореИрдиреБрдЕрд▓ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдирд╣реАрдВ рдмрдЪрд╛рдПрдВрдЧреЗред рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗрд╡рд▓ рдХреНрд╖реЗрддреНрд░реЛрдВ рдкрд░ рдХрд╡рд░ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред
  • рдСрдЯреЛрдореЗрд╢рди рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рд╕рдордЭрджрд╛рд░реА рд╕реЗ рдХрд░реЗрдВ, рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕реНрдореЛрдХ рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдПред рд╕рдм рдХреБрдЫ рдФрд░ рд╕рдм рдХреБрдЫ рдХрд╡рд░ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ - рдпрд╣ рдорд╣рдВрдЧрд╛ рд╣реИ рдФрд░ рдЕрджреНрдпрддрд┐рдд рд░рдЦрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ
  • рд╕рд░рд▓рддрд╛ рд╕реЗ рд▓рд┐рдЦрд┐рдПред рдпрджрд┐ рдЖрдкрдХрд╛ UI рдкрд░реАрдХреНрд╖рдг рдЬрдЯрд┐рд▓ рджрд┐рдЦрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдХреБрдЫ рдЧрд▓рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╕рд░рд▓ рдорд╛рд░реЛ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рджреЗрдЦреЗрдВ рдмрд┐рдВрджреБ 2)

рд╣рдорд╛рд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ UI рдкрд░реАрдХреНрд╖рдг рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣реИред рддреЛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЕрдкрдиреЗ рдЕрд╡рд▓реЛрдХрди рдФрд░ рд╕рдлрд▓ рдЯреВрд▓ рд╣рдорд╛рд░реЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред

рд╣рдорд╕реЗ рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ:


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


All Articles