
рдпрд╣ рд▓реЗрдЦ рд╕реЗрд▓реЗрдирд┐рдпрдо рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдФрд░ рдкреЗрдЬрдСрдмреНрдЬреЗрдХреНрдЯ рдкреИрдЯрд░реНрди рдХреЗ рд╕рд╛рде рд╕реА # рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░реАрдХреНрд╖рдг рдврд╛рдВрдЪреЗ рдХреЛ рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдЧрд╛ред
рдУрдкрди рд╕реЛрд░реНрд╕ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдХрд┐рдЯ - SWD.Starter - рдЖрдкрдХреЛ 10 рдорд┐рдирдЯ рдореЗрдВ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЪреНрдЫрд╛ рдкрд░реАрдХреНрд╖рдг рд╕реНрд╡рдЪрд╛рд▓рди рдкреНрд░рдерд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рд░реВрдкрд░реЗрдЦрд╛ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреА рдкреЗрд╢рдХрд╢ред
рд╕рднреА SWD.Starter рдХреЛрдб рдХреЛ рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
SWD.Starter рдХреНрдпрд╛ рд╣реИ?
SWD.Starter рдЖрдкрдХреЗ рдкрд░реАрдХреНрд╖рдг рд╕реНрд╡рдЪрд╛рд▓рди рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдХрд┐рдЯ рд╣реИред рд╕рднреА рд╕реНрд░реЛрдд рдХреЛрдб GitHub рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ:
dzhariy / SWD.Starter , рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд▓рд╛рдЗрд╕реЗрдВрд╕ (unlicense) рдЖрдкрдХреЛ рд╕реНрд░реЛрдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдХрдо рд╕реЗ рдХрдо рдЗрд╕реЗ рдмреЗрдЪ рджреЗрдВред
SWD.Starter рдПрдХ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рдЧрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реЗрд▓реЗрдирд┐рдпрдо рд╡реЗрдмрдбрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░реАрдХреНрд╖рдг рдмрдирд╛рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
SWD.Starter, PageObjects рдкреИрдЯрд░реНрди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рджреГрдврд╝рддрд╛ рд╕реЗ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЗрд╕ рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдПрдХ рд╕реБрдВрджрд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдФрд░ рдХреЛрдб рдкрдардиреАрдпрддрд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдирдП рдСрдЯреЛ-рдЯреЗрд╕реНрдЯ рдХреЛрдб рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП
рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:
- рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдПрдХреНрд╕рдкреНрд░реЗрд╕ 2013 рдбреЗрд╕реНрдХрдЯреЙрдк рд╕рдВрд╕реНрдХрд░рдг (рднреА, рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, VS2010 рдФрд░ VS2012 рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ)
- рдЧрд┐рдЯрдм рд╕реЗ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдкрдВрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрд┐рдЯ
- рдЕрддрд┐рд░рд┐рдХреНрдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдбреНрд░рд╛рдЗрд╡рд░ рд╕реЗрд▓реЗрдирд┐рдпрдо рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░, рдЬрд┐рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреГрд╖реНрда рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рддреНрд╡рд░рд┐рдд рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╡рд┐рдВрдбреЛрдЬ -
рдЪреЙрдХрд▓реЗрдЯ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред
рдореБрдЦреНрдп рдкреГрд╖реНрда рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, cmd.exe рдЦреЛрд▓реЗрдВ, рдФрд░ рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рдореЗрдВ, рдмрд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin
рдФрд░ рдлрд┐рд░, рдПрдХ рд╣реА рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рдореЗрдВ, рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
- рд╕реАрдиреНрд╕ VisualStudioExpress2013WindowsDesktop
- cinst git
рдЕрдм, рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рдореЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, cmd.exe рдпрд╛ Far Manager рдореЗрдВ), рдЙрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдЬрд╣рд╛рдБ рдЖрдк SWD.Starter рдХреЛ рдХреНрд▓реЛрди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ - рдФрд░ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
git clone https://github.com/dzhariy/SWD.Starter.git
рдпрд╣ рдПрдХ рдЖрд╡рд╢реНрдпрдХ рдХрджрдо рд╣реИ, рдЕрдиреНрдпрдерд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрдХрд▓рди рдирд╣реАрдВ рдХрд░реЗрдЧреА:
Chromedriver.exe рдФрд░
IEDriverServer.exe рдХреЛ рдлрд╝реЛрд▓реНрдбрд░
SWD.Starter \ webdrivers рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВрдФрд░ рдпрд╣рд╛рдБ рдПрдХ рд╕рд╛рдл
рдЖрднрд╛рд╕реА рдорд╢реАрди рдкрд░ рдкреВрд░реНрдг рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рдПрдХ рд╡реАрдбрд┐рдпреЛ рд╣реИ (рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ
рдЖрдзреБрдирд┐рдХ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИ)
рдЧреБрд▓рд╛рдмреА рдирд┐, рдирд╡ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ!
рдпрджрд┐ рдореИрдВ рдиреЛрдЯрд┐рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдкрд░ рд╡рд┐рдВрдбреЛрдЬ рдХреЛ рд╕рдХреНрд░рд┐рдпрдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
Modern.ie рдХреА рд▓рд╛рдЗрд╕реЗрдВрд╕рд┐рдВрдЧ рд╢рд░реНрддреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдореБрдЭреЗ рдкрд░реАрдХреНрд╖рдг рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдРрд╕реА рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдХрд╛рдиреВрдиреА рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрдмрдВрдз рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ рдХреЛ рд╕рдХреНрд░рд┐рдп рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
PageObjects рдХреНрдпрд╛ рд╣реИрдВ рдФрд░ рдпрд╣ рдЗрддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреНрдпреЛрдВ рд╣реИ?
рд╕реАрдзреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХрд╣реЗрдВ рддреЛ PageObjects рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рджреГрд╖реНрдЯрд┐рдХреЛрдг рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдХреЗрд╡рд▓ рдкреГрд╖реНрда рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдХреЛрдб рдбрд╛рд▓рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯрд╛рдЗрдкрд┐рдВрдЧ рдФрд░ рддрддреНрд╡реЛрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ) рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВред
рдЕрдм рдЖрдкрдХреЗ рдкрд░реАрдХреНрд╖рдг рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рддрд░реАрдХреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реБрдП рд╕реАрдзреЗ рдкреЗрдЬ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдЗрд╕рд╕реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдХреЛрдб рдХреА рд▓рд╛рдЗрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдХреЛрдб рдЕрдзрд┐рдХ рдкрдардиреАрдп, рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
PageObjects рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмреЙрдЯ рд╢реИрд▓реА рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ - рд╕реАрдзреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рд╕реЗ рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ред
рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдкреГрд╖реНрда-рд╢реИрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмреЙрдЯ-рд╢реИрд▓реА рд╕рд░рд▓ рдФрд░ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдпрд╣ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝реА рдЧрд▓рддрдлрд╣рдореА рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХрд╛ рдСрдЯреЛрдореЗрд╢рди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдзреНрд╡рд╕реНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╕рдордп рдХреЗ рд╕рд╛рде, рдЬрдм рдкрд░реАрдХреНрд╖рдг рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝ рдЬрд╛рдПрдЧреА, рддреЛ рдмреЙрдЯ-рд╕реНрдЯрд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдЙрдирдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВрдЧреЗред рдирддреАрдЬрддрди, рд╕реНрд╡рдЪрд╛рд▓рди рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЖрд░реНрдерд┐рдХ рд░реВрдк рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреНрд░рдмрдВрдзрди рдореИрдиреБрдЕрд▓ рдкрд░реАрдХреНрд╖рдг рдкрд░ рд▓реМрдЯрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░реЗрдЧрд╛ред рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд▓рд┐рдЦреЗ рдЧрдП рдХреЛрдб рдХреЛ рдХреЗрд╡рд▓ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдм рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░реАрдХреНрд╖рд╛ рдХреЗ рдЖрд╡реЗрджрди рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИред
рдмреЙрдЯ-рд╢реИрд▓реА рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдкреБрд╕реНрддрдХреЛрдВ рдХреЗ рдПрдХ рд╡рд┐рд╢рд╛рд▓, рдЕрдирд╕рд╛рд▓реНрдЯреЗрдб рдвреЗрд░ рдХреА рддрд░рд╣ рд╣реИрдВред рдЬрдм рдЖрдкрдХреЗ "рд╣реАрдк" рдореЗрдВ рдХреЗрд╡рд▓ 10 рдХрд┐рддрд╛рдмреЗрдВ рд╣реЛрддреА рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рдмрд╣реБрдд рдХрдард┐рдирд╛рдИ рдХреЗ рдмрд┐рдирд╛ рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди рдЬрдм рдХрд┐рддрд╛рдмреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рдХрд░ 100 рд╣реЛ рдЬрд╛рддреА рд╣реИ рддреЛ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдЗрдВрддрдЬрд╛рд░ рд╣реЛрддрд╛ рд╣реИ? рдореЗрд░рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░реЛ, рдореИрдВ рддреБрдорд╕реЗ рдИрд░реНрд╖реНрдпрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ред рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рд╡рд╣ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕рд╕реЗ рдЧреБрдЬрд░ рдЪреБрдХрд╛ рд╣реИред

рджреВрд╕рд░реА рдУрд░, PageObjects рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЖрдк рд╕рднреА рдкреБрд╕реНрддрдХреЛрдВ рдХреЛ рдЕрд▓рдорд╛рд░рд┐рдпреЛрдВ рдореЗрдВ рд╕реЙрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмреБрдХрд╕реНрдЯреЛрд░реНрд╕ рдФрд░ рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ рдореЗрдВ, рдкреБрд╕реНрддрдХреЛрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд╣рд┐рдд рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рдХреЛ рдЖрдкрдХреА рдЬрд╝рд░реВрд░рдд рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ рдЬрд▓реНрджреА рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред
PageObject рдХреНрд▓рд╛рд╕ рдПрдХ рдмреБрдХрд╢реЗрд▓реНрдлрд╝ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╡реЗрдм рдкреЗрдЬ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд▓реИрдВрдЧреНрд╡реЗрдЬ рдФрд░ IDE рдХрд╛рдлреА рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред

рдмреЙрдЯ рд╕реНрдЯрд╛рдЗрд▓ рдЯреЗрд╕реНрдЯ
рдмреЙрдЯ-рд╢реИрд▓реА рдореЗрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдореБрдЦреНрдп рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рд╕реЗрд▓реЗрдирд┐рдпрдо рдЖрдИрдбреАрдИ рдФрд░ рд╕реЗрд▓реЗрдирд┐рдпрдо рдмрд┐рд▓реНрдбрд░ рдЬреИрд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ "рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЛ рдЬрд╛рдиреЗ рдмрд┐рдирд╛ рднреА рдЙрдиреНрд╣реЗрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ"ред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдРрд╕рд╛ рдХреБрдЫ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
рдХреЛрдб рдХреА рдПрдХ рдмрд╣реБрдд рд▓рдВрдмреА рд╢реАрдЯ рдЬреИрд╕реЗ: рдбреНрд░рд╛рдЗрд╡рд░.рдлрд╛рдЗрдВрдбрдореЗрдВрдЯ (By.Id (рдХрдиреНрдлрд░реНрдордкрд╛рд╕рд╡рд░реНрдб))ред SendKeys (рдкрд╛рд╕); class BrittleTest { [Test] public void Can_buy_an_Album_when_registered() { var driver = Host.Instance.Application.Browser; driver.Navigate().GoToUrl(driver.Url); driver.FindElement(By.LinkText("Admin")).Click(); driver.FindElement(By.LinkText("Register")).Click(); driver.FindElement(By.Id("UserName")).Clear(); driver.FindElement(By.Id("UserName")).SendKeys("HJSimpson"); driver.FindElement(By.Id("Password")).Clear(); driver.FindElement(By.Id("Password")).SendKeys("!2345Qwert"); driver.FindElement(By.Id("ConfirmPassword")).Clear(); driver.FindElement(By.Id("ConfirmPassword")).SendKeys("!2345Qwert"); driver.FindElement(By.CssSelector("input[type=\"submit\"]")).Click(); driver.FindElement(By.LinkText("Disco")).Click(); driver.FindElement(By.CssSelector("img[alt=\"Le Freak\"]")).Click(); driver.FindElement(By.LinkText("Add to cart")).Click(); driver.FindElement(By.LinkText("Checkout >>")).Click(); driver.FindElement(By.Id("FirstName")).Clear(); driver.FindElement(By.Id("FirstName")).SendKeys("Homer"); driver.FindElement(By.Id("LastName")).Clear(); driver.FindElement(By.Id("LastName")).SendKeys("Simpson"); driver.FindElement(By.Id("Address")).Clear(); driver.FindElement(By.Id("Address")).SendKeys("742 Evergreen Terrace"); driver.FindElement(By.Id("City")).Clear(); driver.FindElement(By.Id("City")).SendKeys("Springfield"); driver.FindElement(By.Id("State")).Clear(); driver.FindElement(By.Id("State")).SendKeys("Kentucky"); driver.FindElement(By.Id("PostalCode")).Clear(); driver.FindElement(By.Id("PostalCode")).SendKeys("123456"); driver.FindElement(By.Id("Country")).Clear(); driver.FindElement(By.Id("Country")).SendKeys("United States"); driver.FindElement(By.Id("Phone")).Clear(); driver.FindElement(By.Id("Phone")).SendKeys("2341231241"); driver.FindElement(By.Id("Email")).Clear(); driver.FindElement(By.Id("Email")).SendKeys("chunkylover53@aol.com<script type="text/javascript"> /* <![CDATA[ */ (function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})(); /* ]]> */ </script>"); driver.FindElement(By.Id("PromoCode")).Clear(); driver.FindElement(By.Id("PromoCode")).SendKeys("FREE"); driver.FindElement(By.CssSelector("input[type=\"submit\"]")).Click(); Assert.IsTrue(driver.PageSource.Contains("Checkout Complete")); } }
рдПрдХрдореБрд╢реНрдд рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╕рдордп рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдЙрдЪрд┐рдд рдард╣рд░рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ 1000 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдмрд╕ рдПрдХ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рд▓рд┐рдЦреЗрдВ, рдФрд░ рдиреНрдпреВрдирддрдо рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдб рдХреЛ рд▓реВрдк рдореЗрдВ рд░рдЦреЗрдВред
рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣рд╛рдирд┐рдХрд╛рд░рдХ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рд▓рдВрдмреЗ рд╕рдордп рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЙрдореНрдореАрдж рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдпрд╣рд╛рдБ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдПрдХ рдЙрддреНрдкрд╛рдж рдкреГрд╖реНрда рддрдХ рдкрд╣реБрдВрдЪ 30 рдкрд░реАрдХреНрд╖рдгреЛрдВ рд╕реЗ рдХреА рдЧрдИ рд╣реИред рдПрдХ рдмрдврд╝рд┐рдпрд╛ рджрд┐рди, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдкреГрд╖реНрда рд▓реЗрдЖрдЙрдЯ рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ:
рдЕрдм рддрддреНрд╡реЛрдВ рдХреЛ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ "рдХреНрд▓рд┐рдХ рдХрд╛ рддрд░реНрдХ" рдмрджрд▓ рд░рд╣рд╛ рд╣реИред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдПрдХ рдХрдХреНрд╖рд╛ рдореЗрдВ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, 30 рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рджрд┐рд▓рдЪрд╕реНрдк рдХрд╛рдо рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧреЗрдЧрд╛?

PageObject рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░реАрдХреНрд╖рдг
рдпрджрд┐ рдЖрдк рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ рдФрд░ рд╕рдм рдХреБрдЫ рдкреЗрдЬрдСрдмреНрдЬреЗрдХреНрдЯ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкрд░реАрдХреНрд╖рдг рдХреЛрдб рдХреЗ рд╕рд╛рде рдЕрджреНрднреБрдд рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддреЗ рд╣реИрдВ: рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдРрд╕реЗ рдХрд╛рд░реНрдп рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдбрд╛рдЗрд╡реЗрд░ рдХреЙрд▓ рдХреЗ рдмрдЬрд╛рдп рдЕрдиреНрдп рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдХреЛрдб рдореЗрдВ рдЕрдзрд┐рдХ рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВ ... рд▓реЗрдХрд┐рди, рдпрд╣ рдХреЗрд╡рд▓ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдгреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╣реИ, рдЬреЛ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЛрдб рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИрдВред
рд╕рднреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рдЦрд╛рд▓реА рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ - рдФрд░ рдХреЛрдб рдЕрднреА рднреА рдкрдардиреАрдп рдФрд░ рд▓рд╛рдЗрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрдо рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
class PageObjectTest { [Test] public void Can_buy_an_Album_when_registered() {

рдЕрдЪреНрдЫрд╛ рдХреНрдпрд╛? PageObject рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░реАрдХреНрд╖рдг рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?
SWD.Starter рдореЗрдВ рдкрд╣рд▓рд╛ рд╕реНрдореЛрдХ рдЯреЗрд╕реНрдЯ
рдпрджрд┐ рдЖрдк рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ: рд╕реНрд╡рдЪрд╛рд▓рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд╣рд╛рдБ рд╢реБрд░реВ рдХрд░реЗрдВ? рдХрд┐, рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдЙрддреНрддрд░ рд╣реИ, рдЬреЛ 99% рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рд╣реИред
рдЖрд╡реЗрджрди рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдореЛрдХ рдЯреЗрд╕реНрдЯ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВред
рдиреБрд╕реНрдЦрд╛:
- рдХрд┐рд╕реА рднреА рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд╕реНрддрд░ рдХрд╛ рдПрдХ рдкреГрд╖реНрда рд▓реЗрдВ
- рдкреЗрдЬ рдЦреЛрд▓реЗрдВ
- рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рд╕рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рддрддреНрд╡ рдкреГрд╖реНрда рдкрд░ рдореМрдЬреВрдж рд╣реИрдВред
рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдПрдХ рд╣рд▓реНрдХрд╛ рдкрд░реАрдХреНрд╖рдг рдорд┐рд▓рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рд╕рдлрд▓ рдкрд╛рд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд╣рддрд╛ рд╣реИ:
рдХрд┐ рдПрдХ рдкреГрд╖реНрда рдХреЗ рд╕рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рддрддреНрд╡ рдЕрднреА рднреА рдирд╣реАрдВ рдмрджрд▓реЗ рд╣реИрдВ
рд╣рдорд╛рд░реЗ рдкреЗрдЬрдСрдмрдЬреЗрдХреНрдЯ рдХрдХреНрд╖рд╛рдПрдВ рдЕрднреА рднреА рд╡рд░реНрддрдорд╛рди рдкреГрд╖реНрда рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИрдВ
рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдмрд┐рдВрджреБ рдП (рдореБрдЦреНрдп рдкреГрд╖реНрда) рд╕реЗ рдмрд┐рдВрджреБ рдмреА (рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдкреГрд╖реНрда) рддрдХ рдХрд╛ рдорд╛рд░реНрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реИ, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИред
рдФрд░ рдпрд╣ рд╕рдм рдЕрд▓рдЧ рдЕрд▓рдЧ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдФрд░ рдЕрдм, рдЖрдЗрдП рдирдП Habrahabr рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдкрдВрдЬреАрдХрд░рдг рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рдкрд╣рд▓рд╛ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦреЗрдВ:
рдРрд╕реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЖрд╡реЗрджрди рдХреЗ рд╕рднреА рдкреГрд╖реНрдареЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рд╕реБрдЦрдж рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рд╣реЛрдВрдЧреЗ: рдХрд╡рд░реЗрдЬ рдореЗрдЯреНрд░рд┐рдХреНрд╕ 50% рд╕реЗ рдЕрдзрд┐рдХ рдХреА рдХрд╡рд░реЗрдЬ рджрд┐рдЦрд╛рдПрдВрдЧреЗред рдмреЗрд╢рдХ, рд╣рдо рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдХреЛрдб рдХрд╡рд░реЗрдЬ рдХрд╛ рдореАрдЯреНрд░рд┐рдХ рд╕рдмрд╕реЗ рдмреБрдирд┐рдпрд╛рджреА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛,
SwdBrowser.cs рдореЗрдВ рдПрдХ HandleJavaScriptErrors () рд╡рд┐рдзрд┐ рд╣реИред рдЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, рдЖрдкрдХреЛ рдмрд╕ рдЗрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВред рдЗрдиреНрд╡реЛрдХ ()ред рдФрд░ рдлрд┐рд░, рдпрд╣ рд╡рд┐рдзрд┐ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧреАред
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╡реАрдбрд┐рдпреЛ рджреЗрдЦрдиреЗ рдХреЗ рджреМрд░рд╛рди, рдЖрдкрдиреЗ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рддреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛?
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрдпрд╛ рдкреЗрдЬрдСрдмрдЬреЗрдХреНрдЯ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдзреБрдПрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рддреИрдпрд╛рд░ рд╣реИ?
рдФрд░ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП - рдЖрдкрдХреЛ рдмрд╕ рдЗрд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛, рдПрдХ рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ ... рдФрд░ рдЙрддреНрдкрдиреНрди рдХреЛрдб рдореЗрдВ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдФрд░ рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рдореЗрдВ, рд╣рдореЗрдВ рдХреЛрдб рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ:
[TestMethod] public void S01_First_Step_Run_WebDriver_with_Firefox() { SwdBrowser.Driver.Url = "http://swd-tools.com"; }
рдХреМрди рд╕рд╛: рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЦреЛрд▓рддрд╛ рд╣реИ, рд╡рд╛рдВрдЫрд┐рдд URL рдкрд░ рдЬрд╛рддрд╛ рд╣реИ ... рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред
рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рд╣реИ?
рдФрд░ рдХреНрдпреЛрдВ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдЦреЛрд▓рд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдореБрдЭреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдЪрд╛рд╣рд┐рдП?
рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдмрд╣реБрдд рдХреБрдЫ - рдиреАрдЪреЗред
рдЯреЗрд╕реНрдЯ рдСрдЯреЛрдореЗрд╢рди рдореЗрдВ рдЕрдЪреНрдЫреА рдкреНрд░реИрдХреНрдЯрд┐рд╕
рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рдерд╛рдУрдВ рдХреЛ "рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда" рдХрд╣рдирд╛ рдЦрддрд░рдирд╛рдХ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ "рдЕрдЪреНрдЫрд╛" рдЫреЛрдбрд╝ рджреЗрдВред
рд╕рдордп-рд╕рдордп рдкрд░, рдореИрдВ рдЫреЛрдЯреЗ рдиреЛрдЯреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдРрд╕реА рдкреНрд░рдерд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдмрдбрд╝реА рддрд╕реНрд╡реАрд░ рдирд╣реАрдВ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред
рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЕрдЪреНрдЫреА рдкреНрд░реИрдХреНрдЯрд┐рд╕ рдПрдХ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдореИрдВрдиреЗ SWD.Starter рдкрд░ рдХрд╛рдо рд╢реБрд░реВ рдХрд┐рдпрд╛ред
рдпрд╣рд╛рдБ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓реЗрдЦ рдХреЗ рддрд╣рдд
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмрдирд╛рдирд╛ рдФрд░ рдкреЗрдЬрдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ
рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдирд╛, SwdBrowser рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдФрд░ PageObject рдХреЛ CorePage рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА - рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╡реЗрдм рддрддреНрд╡реЛрдВ рдХреЛ рдЖрд░рдВрдн рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВред
рдФрд░ рдиреЛрдЯ рдореЗрдВ
WebDriverWait рдФрд░ PageObject , рдореИрдВ рдирд┐рдпрдорд┐рдд рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП WebDriverWait рдХреЗ рд╕рдорд╛рди PageObject рдХреЗ рд▓рд┐рдП "рд╕реНрдорд╛рд░реНрдЯ" рддрддреНрд╡ рдкреНрд░рддреАрдХреНрд╖рд╛ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддрд╛ рд╣реВрдВред
рдпрд╣ рд╕рдм рдкрд╣рд▓реЗ рд╕реЗ рд╣реА SWD.Starter рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИред рдФрд░ рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ - рдмрд╕ рдХреЛрдб рдХреЛ рджреЗрдЦреЗрдВ, рдФрд░ рдореИрдВ, рд╕рдордп рдХреЗ рд╕рд╛рде, рдЗрд╕реЗ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рдмрдирд╛ рджреВрдВрдЧрд╛ред рдкрд╣рд▓реЗ рд╕реЗ рд╣реА, рдХреБрдЫ рдХрдХреНрд╖рд╛рдПрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП -
Swd.Core.Configuration.Config Class ред рдФрд░ рдХреБрдЫ рд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреЛрдб рдореЗрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ Doxygen рдХреЗ рд▓рд┐рдП рдкрд▓рд╛рдпрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрд░рдЪрдирд╛ SWD.Starter
SWD.Starter рдХрд╛ рдореБрдЦреНрдп рднрд╛рдЧ Swd.Core рд╣реИред рдЗрд╕рдореЗрдВ рдРрд╕реА рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рддреЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

- Swd.Core.Configuration class тЖТ config, рдЬреЛ рдмрд╛рд╣рд░реА config.config рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд░реВрдкрд░реЗрдЦрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрдврд╝рддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реИ рдХрд┐ рдЖрдк рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдЕрдкрдиреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
- рд╡рд░реНрдЧ Swd.Core.WebDriver -> SwdBrowser - рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдкрд╣рд▓реЗ рд╣реА рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИред рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдЬреАрд╡рди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдФрд░ рдкрд╛рд╕ рдореЗрдВ, рд╕рдорд╛рди рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ, рдЙрдкрдпреЛрдЧреА рддрд░реАрдХреЗ рдФрд░ рдХрдХреНрд╖рд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╕рд░рд▓ рдХрд░рддреЗ рд╣реИрдВред
- Swd.Core.Pages рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ, PageObjects рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рд░рд╣рддреЗ рд╣реИрдВред
Swd.Core рдореЗрдВ, рдХреЗрд╡рд▓ рд╕рд╛рдорд╛рдиреНрдп рдХреЛрдб рд╕реНрдерд┐рдд рд╣реИ, рдЬреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рд╕рд╣рд╛рдпрдХ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдбреЗрдореЛрдкреНрд░реЛрдЬреЗрдХреНрдЯред
рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рджреЛ рдореБрдЦреНрдп рдЙрдкрдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- Demo.TestModel - рдЗрд╕рдореЗрдВ PageObject рдХреНрд▓рд╛рд╕реЗрд╕, рдХрд╕реНрдЯрдорд╛рдЗрдЬрд╝реНрдб рдмреЗрд╕ рдХреНрд▓рд╛рд╕, рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдЬрд┐рдХ рдХреЗ рдЯреБрдХрдбрд╝реЗ рдФрд░ рдЕрдиреНрдп рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреЛ рдЯреЗрд╕реНрдЯ рдХреЗ рддрд╣рдд рд╡рд┐рд╢реЗрд╖ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИрдВред
рдЖрдорддреМрд░ рдкрд░, рдкрд░реАрдХреНрд╖рдг рдХреЗ рддрд╣рдд рдПрдХрд▓ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдореЙрдбрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред - Demo.TestProject рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЯреЗрд╕реНрдЯ рд╕реВрдЯ рд╣реИрдВред рдРрд╕реЗ рдХрдИ рдкрд░реАрдХреНрд╖рдг рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Demo.Tutorial рднреА рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ, рдФрд░ рдпрд╣ рднреА Demo.TestProject рдХреА рддрд░рд╣ рдореЙрдбрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА (Demo.TestModel) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
- Demo.Tutorial - Swd.Starter рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧрд╛рдЗрдб рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ред рдЕрднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА, рдЖрдк рдлрд╝рд╛рдЗрд▓ "Ch 00 рдкрд░рд┐рдЪрдпред" рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛, рд▓рд╛рдЗрд╕реЗрдВрд╕ рдФрд░ рд╕рд╣рдпреЛрдЧ
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдЖрдкрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛрдб рдХреЗ рд╕рд╛рде рдХреЛрдИ рднреА рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдХреЗрд╡рд▓ рдЖрдкрдХреА рдХрд▓реНрдкрдирд╛ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред (Http://unlicense.org/)
рдХреЛрдб рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдкреНрд░рдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рдЯреЛрд░реЗрдВрдЯ рдФрд░ рдореЗрд░рд╛ рдмрд┐рдЯрдХреЙрдЗрди рдкрд░ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди, рдЖрдкрдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рдЖрдк рдпрд╣рд╛рдБ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреГрд╖реНрда рдкрд░ Github рджреЛрдиреЛрдВ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдФрд░ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЖрдк рдЬреАрдердм рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрдкрд╖реНрдЯ рдХрд┐рдбреА рдкреБрд▓-рдЕрдиреБрд░реЛрдз рднреЗрдЬрддреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди, рдпрджрд┐ рдпрд╣ рдХреЛрдб рдХреЗ рдЖрдзреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдПрдХ рдмрдбрд╝рд╛ рдмрджрд▓рд╛рд╡ рд╣реЛрдЧрд╛, рддреЛ рдкрд╣рд▓реЗ рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
рдЖрдк рдХрд┐рд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? - рдореИрджрд╛рди рд▓рдЧрднрдЧ рдЧрд┐рд░рд╡реА рдирд╣реАрдВ рд╣реИ:
- рдкреНрд░рд▓реЗрдЦрди
- рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓
- рдирдпрд╛ рдЙрдкрдпреЛрдЧреА рдХреЛрдб рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ
- рдирдИ рдбреЗрдореЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ
- рдЕрдиреБрджреЗрд╢
рдФрд░ рдЕрдзрд┐рдХред 28 рдлрд░рд╡рд░реА, 2014 рдХреЛ рдХреАрд╡ рдореЗрдВ, рдореИрдВ
рд╕реЗрд▓реЗрдирд┐рдпрдо рдХреИрдВрдк 2014 рд╕рдореНрдореЗрд▓рди рдореЗрдВ рдПрдХ рдкреНрд░рд╕реНрддреБрддрд┐ рджреЗрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВред рд░рд┐рдкреЛрд░реНрдЯ SWD рдкреЗрдЬ рд░рд┐рдХреЙрд░реНрдбрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди SWD.Starter рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рд╕рдордп рд╕рдорд░реНрдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж, рд░рд┐рдкреЛрд░реНрдЯ рдХреА рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ
рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА, рд╕рдореНрдореЗрд▓рди рдХреЗ 3-4 рдорд╣реАрдиреЗ рдмрд╛рджред
рдореИрдВ рдкреВрд░реЗ рджреЛ рджрд┐рди рдЙрдкрд▓рдмреНрдз рд░рд╣реВрдВрдЧрд╛, рдФрд░ рдореИрдВ рдЕрдкрдиреА рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рдмрд╛рдж рдФрд░ рдкреВрд░реЗ рд╕рдореНрдореЗрд▓рди рдХреЗ рджреМрд░рд╛рди "рд▓рд╛рдЗрд╡" рдЪреИрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд░рд╣реВрдВрдЧрд╛ред
рдЙрдкрдпреЛрдЧреА рд╕рд╛рдордЧреНрд░реА
рдЖрдк рдХреЗ рд▓рд┐рдП рд╕рдлрд▓ рд╕реНрд╡рдЪрд╛рд▓рдиред
рдкреБрдирд╢реНрдЪ: рдПрд╕рдбреАрдбреА рдПрд╕ рдПрд▓реЗрдирд┐рдпрдо рдбрдмреНрд▓реНрдпреВ рдИрдмреА рдбреА рдирджреА рдХреЗ рд▓рд┐рдП рдЦрдбрд╝рд╛ рд╣реИ