рдирдорд╕реНрддреЗ
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рджреГрд╢реНрдп рдкреНрд░рддрд┐рдЧрдорди рдкрд░реАрдХреНрд╖рдг рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред
рдкрд░рд┐рдЪрдп
рдореИрдВрдиреЗ рдЧрд▓рддреА рд╕реЗ рд▓реЗрдЖрдЙрдЯ рдореЗрдВ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдмрдЧ рдХреА рдЦреЛрдЬ рдХреЗ рдмрд╛рдж рджреГрд╢реНрдп рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рди рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдиреЗ рдПрдХ рдкреГрд╖реНрда рдХрд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рдмрджрд▓ рджрд┐рдпрд╛, рдФрд░ рдкрд░рд┐рд╡рд░реНрддрди рдЧреИрд░-рдХрд╛рд░реНрдп рдкреГрд╖реНрдареЛрдВ рдХреЛ рдЫреВ рдЧрдПред
рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХрд┐ рд╕рд╛рдЗрдЯ рдХреЗ рдкреГрд╖реНрдареЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЬрд╛рдВрдЪрдирд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ, рдореИрдВрдиреЗ рд╕реНрд╡рдЪрд╛рд▓рди рд╢реБрд░реВ рдХрд┐рдпрд╛ред
рд╣рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреНрд░рддрд┐рдмрдВрдз рдХреЗ рдСрдЯреЛрдЯреЗрд╕реНрдЯ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдкреГрд╖реНрдареЛрдВ рдФрд░ рд╕рд╛рдЗрдЯ рддрддреНрд╡реЛрдВ рдХреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди / рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯреА рдЦреЛрдЬ рдХреЗ рдмрд╛рдж, рдпрд╣ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдХрд┐ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдФрд░ рдкреНрд░рд╛рд░реВрдк рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рд╕рдорд╛рдзрд╛рди рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред рдореИрдВрдиреЗ рдЬрд┐рди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рджреЗрдЦрд╛, рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдЧреИрд▓реЗрди рдлреНрд░реЗрдорд╡рд░реНрдХ рдЙрдкрдпреБрдХреНрдд рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрдкрдирд╛ рд╕рдорд╛рдзрд╛рди рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдкрд╛рдпрд╛ред
рдСрдЯреЛрдЯреЗрд╕реНрдЯреНрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдереЛрдбрд╝рд╛ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдФрд░ рдПрдХ рдЕрд▓рдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рддрд╛рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдмрд╛рдж рдореЗрдВ рдЕрдиреНрдп рд╕рд╛рдЗрдЯреЛрдВ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреВрдВред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
VisualRegressionBoilerplate рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИред
рджреГрд╢реНрдп рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ / рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЬреИрд╕рд╛ рдХреБрдЫред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЫреЛрдЯреА рд╕рд╛рдЗрдЯреЛрдВ / рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрднрд┐рдкреНрд░реЗрдд рд╣реИред рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЗрдВ рдЬрдЯрд┐рд▓ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рдмрд┐рдирд╛, рдПрдХ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ
- рд╕рд╛рдЗрдЯ рдкреГрд╖реНрдареЛрдВ рдХреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рддреБрд▓рдирд╛ред рдЖрдк рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдЕрдирджреЗрдЦрд╛ рдЖрдЗрдЯрдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рд╕рд╛рдЗрдЯ рддрддреНрд╡реЛрдВ рдХреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рддреБрд▓рдирд╛ред
- рдЯреЗрд╕реНрдЯ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдХреНрд░реАрди рдЪреМрдбрд╝рд╛рдИ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдореЛрдмрд╛рдЗрд▓ - 360px, рдЯреИрдмрд▓реЗрдЯ - 768px, рдбреЗрд╕реНрдХрдЯреЙрдк - 1920 рдкреАрдПрдХреНрд╕
- рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рджреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ - рдХреНрд░реЛрдо рдФрд░ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ + рд╣реЗрдбрд▓реЗрд╕ рдореЛрдб рдореЗрдВ рд╕рдорд╛рди рдмреНрд░рд╛рдЙрдЬрд╝рд░ред
- рд░рд┐рдкреЛрд░реНрдЯ рдЬрдирд░реЗрдЯрд░ - рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП 4 рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдмрдирд╛рдП рдЧрдП рд╣реИрдВ - рд╡рд░реНрддрдорд╛рди, рдЕрдкреЗрдХреНрд╖рд┐рдд, рдЕрдВрддрд░, рдЬреАрдЖрдИрдПрдлред рдпрджрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЙрдореНрдореАрдж рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рд╣реЗрдЬреЗ рдЬрд╛рдПрдВрдЧреЗред

рдкреНрд░рдпреБрдХреНрдд рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпрд╛рдБ
- рдЬрд╛рд╡рд╛
- TestNG
- Maven
- рд╕реЗрд▓реЗрдирд┐рдпрдо рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░
- aShot - рдЫрд╡рд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп
рдХрд┐рд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ
- рдЬрд╛рд╡рд╛, рдорд╛рд╡реЗрди, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
- DriverWrapper рдХреНрд▓рд╛рд╕ рдХреЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрдк рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЬреЛрдбрд╝ рдпрд╛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ
- TestConfig рдХреНрд▓рд╛рд╕ рд╕рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИ - рдмреНрд░рд╛рдЙрдЬрд╝рд░, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдХрд╛ рдЖрдХрд╛рд░, рдЖрджрд┐ред рдпрд╣рд╛рдВ рдЖрдк рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЬреЛрдбрд╝ рдпрд╛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред
- рдмреЗрд╕рдкреЗрдЬ рдХреНрд▓рд╛рд╕ рдореЗрдВ, рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рд╕рд╛рдЗрдЯ рдХрд╛ рдкрддрд╛ рд╕реЗрдЯ рдХрд░реЗрдВред рдЖрдк рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд╛рддрд╛рд╡рд░рдг (рджреЗрд╡, рдордВрдЪ, рдареЗрд╕) рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдкрддрд╛ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмреЗрд╕рдкреЗрдЬ рдФрд░ рдРрдк рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╢реЗрд╖ рдХрдХреНрд╖рд╛рдПрдВ рдкреГрд╖реНрда рдСрдмреНрдЬреЗрдХреНрдЯ рдкреИрдЯрд░реНрди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред
- TestExample рдкрд░реАрдХреНрд╖рдг рд╡рд░реНрдЧ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдФрд░ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рд╡рд░реНрдЧ рдмрдирд╛рдПрдБред
- Testng.xml рдореЗрдВ рдирдИ рдкрд░реАрдХреНрд╖рдг рдХрдХреНрд╖рд╛рдПрдВ рдЬреЛрдбрд╝реЗрдВ
- рдорд╛рд╡реЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдВ
- рд░рд┐рдкреЛрд░реНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
README рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рд╕рдм рдХреБрдЫ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рд╣реИред
рдЯреЗрд╕реНрдЯ рдХреИрд╕реЗ рд▓рд┐рдЦреЗрдВ
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЬреИрд╕рд╛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдХреЛрдИ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рд╣реИрдВред рдЖрдк
рдкреГрд╖реНрда рдСрдмреНрдЬреЗрдХреНрдЯ рдкреИрдЯрд░реНрди рдпрд╛ рдХреБрдЫ рдФрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдирд┐рдореНрди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ:
рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдП:рдкреГрд╖реНрда рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рддреБрд▓рдирд╛:
comparePageScreenshots("index_page");
рдПрдХ рддрддреНрд╡ рдХреА рдЕрдирджреЗрдЦреА рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреГрд╖реНрда рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рддреБрд▓рдирд╛:
comparePageScreenshots("index_page_ignored_element", IndexPage.MACKBOOK_BLOCK);
рдХрдИ рддрддреНрд╡реЛрдВ рдХреА рдЕрдирджреЗрдЦреА рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреГрд╖реНрда рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рддреБрд▓рдирд╛:
comparePageScreenshots("index_page_ignored_element", new String[]{"section.panel.features.dark", "div.macbook"});
рдкреГрд╖реНрда рддрддреНрд╡ рдХреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рддреБрд▓рдирд╛ - рддрддреНрд╡ рдХреЛ рд╕реАрдПрд╕рдПрд╕ рд▓реЛрдХреЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
compareElementScreenshots("index_page_element", IndexPage.FORGE_BLOCK);
рдпрд╛ рдЖрдк рдХреНрд▓рд╛рд╕
рд╡реЗрдмрдЗрд▓рдореЗрдВрдЯ рдХрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
compareElementScreenshots("index_page_element", driver.findElement(By.cssSelector("a.full.forge")));
рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛рдПрдВ
- рдкреГрд╖реНрда рдкрд░ рдЧрддрд┐рд╢реАрд▓ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдХрд╛рд░рдг рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд╕рд╛рдордЧреНрд░реА рд╡рд╛рд▓реЗ рддрддреНрд╡реЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдХреБрдЫ рдкрд┐рдХреНрд╕реЗрд▓ рдЕрдВрддрд░ рдХреЗ рдХрд╛рд░рдг рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - TestConfig.allowableDiffSize ред
- рдХрднреА-рдХрднреА рд╕рднреА рдЫрд╡рд┐рдпреЛрдВ рдпрд╛ рд╕рд╛рдЗрдЯ рдкрд░ рдХреБрдЫ рддрддреНрд╡реЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рддреИрдпрд╛рд░реАрдкрд╛рд╡рд░рдлреЙрд░рд╢реЛрдЯрд╢реЙрдЯ () рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрд╛, рдЬрд┐рд╕рдореЗрдВ javaScript рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдкреГрд╖реНрда рдКрдкрд░ рдФрд░ рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдореЗрд╢рд╛ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рд╕рд╛рд░рд╛рдВрд╢
рдлрд┐рд▓рд╣рд╛рд▓, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд▓рдЧрднрдЧ 50 рдкрд░реАрдХреНрд╖рдг рд╣реИрдВ - рдкреГрд╖реНрда рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдкреГрд╖реНрда рддрддреНрд╡ред
рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдСрдЯреЛрдЯреЗрд╕реНрдЯ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рд╛рдЗрдЯ рдХреЛ рддреБрд░рдВрдд рддреАрди рдПрдХреНрд╕рдЯреЗрдВрд╢рди (рдореЛрдмрд╛рдЗрд▓, рдЯреИрдмрд▓реЗрдЯ, рдбреЗрд╕реНрдХрдЯреЙрдк) рдореЗрдВ рдЯреЗрд╕реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЧрддрд┐рд╢реАрд▓ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдХрд╛рд░рдг рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ рдФрд░ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рд╕рд╛рдЗрдЯ рдХреЗ рдХреБрдЫ рддрддреНрд╡реЛрдВ рдХреЛ рд╣рдореЗрд╢рд╛ рд╕рдордп рдкрд░ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдСрдЯреЛрдЯреЗрд╕реНрдЯрд░реНрд╕ рдЕрдкрдиреЗ рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд▓реЗрдЖрдЙрдЯ рдореЗрдВ рдХреЛрдИ рднреА рдмрджрд▓рд╛рд╡ рддреБрд░рдВрдд рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рд▓рд┐рдВрдХ -
VisualRegressionBoilerplate