рд╕реЗрд▓реЗрдирд┐рдпрдо 2.0 - рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ред рдЫрд╛рдкреЗрдВ, рд╕рдорд╕реНрдпрд╛рдУрдВ рдФрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдпреБрдХреНрддрд┐рдпрд╛рдБ

рдкрд░рд┐рдЪрдп


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


рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╕реЗрд▓реЗрдирд┐рдпрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ

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

рдореИрдВрдиреЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдкреНрд░рдмрдВрдз рдХрд┐рдпрд╛ рдерд╛

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

рднрд╛рдЧ рдПрдХ рдЫрд╛рдкреЛрдВ


рд╡рд┐рднрд┐рдиреНрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░

рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рджреНрд╡рд╛рд░рд╛, рдореИрдВ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ: рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕, Google рдХреНрд░реЛрдо, рдУрдкреЗрд░рд╛, рд╕рдлрд╛рд░реА, IE8, IE9
рд╕рдорд╛рди рдХреЛрдб рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдмрдбрд╝реА рд░рд╛рд╢рд┐ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХрднреА-рдХрднреА рдЗрд╕ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рд╡реНрдпрд╡рд╕рд╛рдп рдХреЛ рдирд╣реАрдВ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЛрд╣реЗ рдХреА рдЗрдЪреНрдЫрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, рд╕рдмрд╕реЗ рдЖрдЬреНрдЮрд╛рдХрд╛рд░реА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдФрд░ Google рдХреНрд░реЛрдо рд╣реИрдВред рдореЗрд░реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрдиреБрднрд╡ рдореЗрдВ, рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рд╕рд╣реА рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрд╛рдиреА рдЙрд╕реЗ рдЙрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдореЗрдВ рд╡рд╣ рдЬрд╛рддрд╛ рд╣реИред

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

рд╕реЗрд▓реЗрдирд┐рдпрдо 2.0 - рдХрдЪреНрдЪрд╛ рдЙрддреНрдкрд╛рдж

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

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

рд╕реЗрд▓реЗрдирд┐рдпрдо рдЯреЗрд╕реНрдЯ - рдбрд┐рдкреЗрдВрдбреЗрдВрдЯ рдЯреЗрд╕реНрдЯ

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

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

рд╕реЗрд▓реЗрдирд┐рдпрдо рдЯреЗрд╕реНрдЯ - рдзреАрдореА рдЯреЗрд╕реНрдЯ

рдЖрдкрдХреЛ рддреИрдпрд╛рд░ рд░рд╣рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдПрдХ рдмрдбрд╝реЗ рд╕реЗрдЯ рдХрд╛ рдХреНрд░рдорд┐рдХ рд╕рдордп рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдШрдВрдЯреЛрдВ рдореЗрдВ рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИ (30 рдорд┐рдирдЯ рд╕реЗ 2-3 рдШрдВрдЯреЗ рддрдХ)ред рдпрд╣ рд╡рд╣ рд╕рдм рдХреБрдЫ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рддреНрд░рд╛рд╕рджреА рдХреЗ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдХрднреА-рдХрднреА рдпрд╣ рдордЬрд╛рдХ рдЬреИрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИред рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рднрд┐рдиреНрди рдЙрдореНрдореАрджреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрддреГрдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ, рддрддреНрд╡реЛрдВ рдФрд░ рдЕрдиреНрдп рдзреАрдореА рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдЦреЛрдЬ рдХрд░рддреЗ рд╣реИрдВред

рдкрд░рд┐рд╖рдж:
рдХреЗрд╡рд▓ рд╡рд╣реА рдкрд░рдЦреЗрдВ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░рдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдПрдХ рд╣реА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рд╕рдВрднрд╡ рдХрд╛рд░реНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ - рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рдЪреБрдиреЗрдВред

рд╕реЗрд▓реЗрдирд┐рдпрдо рдЖрдИрдбреАрдИ - рдХреЛрдИ рд╕рд╣рд╛рдпрдХ рдирд╣реАрдВ

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

рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ:


рд▓рд╛рдн:
рдПрдХрдорд╛рддреНрд░ рд▓рд╛рдн рдЬреЛ рдореБрдЭреЗ рд▓рдЧрд╛рддрд╛рд░ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ XPath рдкреЙрдЗрдВрдЯрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рдПрдХ рдмрд╣реБрдд рд╣реА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдлрд╝рдВрдХреНрд╢рди - рдпрджрд┐ рд╕реВрдЪрдХ рд╕рд╣реА рд╣реИ рдФрд░ рдРрд╕рд╛ рддрддреНрд╡ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдЗрд╕реЗ рдПрдХ рдлреНрд░реЗрдо рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

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

рднрд╛рдЧ рджреЛ рдЙрднрд░рддреЗ рдореБрджреНрджреЛрдВ (рдЬрд╛рд╡рд╛) рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕рдорд╛рдзрд╛рди


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

рдПрдХ рддрддреНрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ (рдЦреЛрдЬ рдХрд░рдирд╛)

рд╕рдорд╕реНрдпрд╛:
WebDriver рдПрдХ WebElement рдЗрдХрд╛рдИ рдХреЛ рдЦреЛрдЬрдиреЗ рдФрд░ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:
webDriver.findElement(By.id("elementId")); 

рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдкреИрд░рд╛рдореАрдЯрд░ 'рдирд┐рд╣рд┐рдд рдкреНрд░рддреАрдХреНрд╖рд╛' рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдмрдирд╛рддреЗ рд╕рдордп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:
 webDriver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); 

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

рд╕рдорд╛рдзрд╛рди:
рдЦреБрд░рджрд░рд╛ рд╡рд┐рд░рд╛рдо рд▓реЗрдВред рдХреЛрдб рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджреЛрдЧреБрдирд╛ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЦреЛрдЬ () рд╡рд┐рдзрд┐ рдХрд╛ рдЕрдкрдирд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ;
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рд▓рд┐рдЦрд╛ рд╣реИ - рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рдХрд╛рдо рдХреЗ рд▓рд┐рдП - рдкрд░реАрдХреНрд╖рдг рдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреМрди рд╕рд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреА рджреЗрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдЖрдк WebDriverWait рдЯреВрд▓ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдпрд╣рд╛рдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд╣рд╛рдЗрдмрд░рдиреЗрд╢рди рдореЗрдВ рд░рд╣рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ - рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рд╕рд┐рджреНрдз рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рд╡рд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИред
рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдХреЗрд╡рд▓ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рд╕реАрдзреЗ WebDriver.findElement () рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред

рдХреЛрдб рдЙрджрд╛рд╣рд░рдг:
 protected WebElement findElement(By elementLocatorToFind) { if(isSafari() || isChrome() || isIE()) { // for example, use simple Thread.sleep(1000) inside doDelayForMilliseconds(1000); } return webDriver.findElement(elementLocatorToFind); } 


рдЖрдЗрдЯрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ (рдЦреЛрдЬреЗрдВ)

рд╕рдорд╕реНрдпрд╛ рдФрд░ рд╕рдорд╛рдзрд╛рди рдПрдХ рддрддреНрд╡ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реИред

рдХрд┐рд╕реА рддрддреНрд╡ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ

рдпрджрд┐ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рддрддреНрд╡ рдЧрд╛рдпрдм рд╣реИ, рддреЛ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ:
 findElements(elementLocatorToFind).isEmpty(); 


рдпрд╣рд╛рдБ JavaDocs рд╕реЗ рдПрдХ рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЧрдИ рд╣реИ:
рдЧреИрд░-рдореМрдЬреВрдж рддрддреНрд╡реЛрдВ рдХреА рддрд▓рд╛рд╢ рдХреЗ рд▓рд┐рдП findElement рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, findElements (By) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╢реВрдиреНрдп рд▓рдВрдмрд╛рдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЬреЛрд░ рджреЗрдВред


рдЪрд┐рддреНрд░ рдпрд╛ рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛

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

рддрд░реНрдХ:
99% рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдлрд┐рд░ рд╕реЗ рдкреВрдЫреЗрдВ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдбрд╛рдЙрдирд▓реЛрдб рдЙрдкрд▓рдмреНрдз рд╣реИред рдпрд╣ рд▓рд┐рдВрдХ рд╕рдХреНрд░рд┐рдп рд╣реИ, рдбрд╛рдЙрдирд▓реЛрдб рдмрдЯрди рд╕рдХреНрд╖рдо рд╣реИ рдФрд░ рдбрд╛рдЙрдирд▓реЛрдб рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ 200 рд╣реИред рдЖрдкрдХреЗ рдкрд╛рд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ рдЗрд╕рдХреА рдбрд╛рдЙрдирд▓реЛрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рдо рдирд╣реАрдВ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдкрд░реАрдХреНрд╖рдг рд╕реЗрд▓реЗрдирд┐рдпрдо рдЧреНрд░рд┐рдб рдкрд░ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдлрд╝рд╛рдЗрд▓ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдЙрд╕рдХрд╛ рд╕реНрдерд╛рди рджреЗрдЦ рдкрд╛рдПрдВрдЧреЗред рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реЗрд▓реЗрдирд┐рдпрдо рдиреЛрдб рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЖрдк рдЗрд╕реЗ рд╕реЗрд▓реЗрдирд┐рдпрдо рд╣рдм рдкрд░ рдЬрд╛рдБрдЪреЗрдВрдЧреЗред рдпреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЗрдЬрдмрд╛рди рд╣реИрдВ, рдХрдо рд╕реЗ рдХрдо рд╕рд╛рдорд╛рдиреНрдп рдЕрднреНрдпрд╛рд╕ рдореЗрдВред

рд╕рдорд╛рдзрд╛рди:
рд╕рдорд╛рдзрд╛рди рд╕рд░реНрд╡рд░ рдкрд░ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг HTTP рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рдпрд╛ рдЬрд┐рд╕ рд▓рд┐рдВрдХ рд╕реЗ рд╕рд░реНрд╡рд░ рдХреЛ рдРрд╕реА рдлрд╝рд╛рдЗрд▓ рд╡рд╛рдкрд╕ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ 200 рдХреА рд╕реНрдерд┐рддрд┐ рд╕рд╣реА рд╣реИ, рддреЛ рдлрд╝рд╛рдЗрд▓ рдореМрдЬреВрдж рд╣реИред рдореИрдВ рдЕрдиреНрдп рд╕рднреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдХреНрд╖рдорддрд╛ рдорд╛рдирддрд╛ рд╣реВрдВред рдЪреВрдВрдХрд┐ рдЕрдХреНрд╕рд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рдЙрдирдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХреГрдд рдХреБрдХреАрдЬрд╝ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП - рдпреЗ рдХреБрдХреАрдЬрд╝ рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рд╕реЗ рдЖрдпрд╛рдд рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред
рдпрджрд┐ рдПрдХ рд╕реНрдерд┐рддрд┐ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреБрдЫ рднреА рдЖрдкрдХреЛ рдкреВрд░реЗ рдЗрдирдкреБрдЯрд╕реНрдЯреНрд░реАрдо рдХреЛ HttpEntity рд╕реЗ рдкрдврд╝рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреА рдорд╛рдирдХ рдПрдХ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЪрд╛рд╣реЗ рд╡рд╣ рдПрдордбреА 5 рдпреЛрдЧ рд╣реЛ рдпрд╛ рдХреЛрдИ рдФрд░ рддрд░реАрдХрд╛ рд╣реЛред

рдХреЛрдб рдЙрджрд╛рд╣рд░рдг:
  // just look at your cookie's content (eg using browser) and import these settings from it private static final String SESSION_COOKIE_NAME = "JSESSIONID"; private static final String DOMAIN = "domain.here.com"; private static final String COOKIE_PATH = "/cookie/path/here"; protected boolean isResourceAvailableByUrl(String resourceUrl) { HttpClient httpClient = new DefaultHttpClient(); HttpContext localContext = new BasicHttpContext(); BasicCookieStore cookieStore = new BasicCookieStore(); cookieStore.addCookie(getSessionCookie()); localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore); // resourceUrl - is url which leads to image HttpGet httpGet = new HttpGet(resourceUrl); try { HttpResponse httpResponse = httpClient.execute(httpGet, localContext); return httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK; } catch (IOException e) { return false; } } protected BasicClientCookie getSessionCookie() { Cookie originalCookie = webDriver.manage().getCookieNamed(SESSION_COOKIE_NAME); if (originalCookie == null) { return null; } String cookieName = originalCookie.getName(); String cookieValue = originalCookie.getValue(); BasicClientCookie resultCookie = new BasicClientCookie(cookieName, cookieValue); resultCookie.setDomain(DOMAIN); resultCookie.setExpiryDate(originalCookie.getExpiry()); resultCookie.setPath(COOKIE_PATH); return resultCookie; } 


рдХреНрд▓реАрдпрд░ рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдорд╛рди

UPD: рдиреАрдЪреЗ, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ, рдЖрдк рдПрдХ рдЪрд░реНрдЪрд╛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдирддреАрдЬрддрди, рд╡рд┐рдзрд┐ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЕрдВрддрд░ рдФрд░ рдЗрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рдФрд░ рд╕рдВрдШрд░реНрд╖ рдореЗрдВ рдЫрд┐рдкрд╛ рд╣реБрдЖ рдерд╛ред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рд╣рдЯрд╛рдКрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╢рд╛рдпрдж рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ рдХреЗ рддрд░реАрдХреЗ рднреА рдЙрдкрдпреЛрдЧреА рд╣реЛрдВрдЧреЗ, рдЬреИрд╕реЗ рдХрд┐ рдирд┐рдпрдд рд╕рдордп рдореЗрдВ рдореЗрд░реЗ рд▓рд┐рдПред

рд╕рдорд╕реНрдпрд╛:
рдХрднреА-рдХрднреА, рдЖрдкрдХреЛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЗрдирдкреБрдЯ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдорд╛рди рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреБрд░рд╛рдиреЗ рдорд╛рди рдХреЛ рдирдП рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
WebDriver рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд┐рдзрд┐ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:
 webElement.clear(); 

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

рд╕рдорд╛рдзрд╛рди:
рдХрдИ рдмреБрдирд┐рдпрд╛рджреА рддрд░реАрдХреЗ рд╣реИрдВред
рдкрд╣рд▓рд╛ рддрд░реАрдХрд╛ "рд╕рднреА рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ" рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдПрдХ рдирдпрд╛ рдореВрд▓реНрдп рднреЗрдЬрдирд╛ рд╣реИ:
 inputElement.sendKeys(Keys.chord(Keys.CONTROL, "a") + Keys.DELETE + newValue); 

рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╣рдореЗрд╢рд╛ рдирд╣реАрдВред

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

рдХреЛрдб рдЙрджрд╛рд╣рд░рдг:
 protected void clearInput(WebElement webElement) { // isIE() - just checks is it IE or not - use your own implementation if (isIE() && "file".equals(webElement.getAttribute("type"))) { // workaround // if IE and input's type is file - do not try to clear it. // If you send: // - empty string - it will find file by empty path // - backspace char - it will process like a non-visible char // In both cases it will throw a bug. // // Just replace it with new value when it is need to. } else { // if you have no StringUtils in project, check value still empty yet while (!StringUtils.isEmpty(webElement.getAttribute("value"))) { // "\u0008" - is backspace char webElement.sendKeys("\u0008"); } } } 


рд╕рд░реНрд╡рд░ рдкрд░ рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ

рд╕рдорд╕реНрдпрд╛:
рдЖрдкрдХреЛ рдорд╛рдирдХ HTML рддрддреНрд╡реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
 <input name="uploadFile" type="file"> <input name="doUpload" value="Upload" type="button"/> 


рд╕рдорд╛рдзрд╛рди:
рдореИрдВ рдЖрдкрдХреЛ рдЗрд╕реЗ рд▓реЗрдиреЗ рдФрд░ рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╡рд┐рдзрд┐ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдФрд░ рд╣рд░ рдмрд╛рд░ рдЖрдкрдХреЛ рдЗрд╕ рдлреЙрд░реНрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреБрдЫ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

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

рдХреЛрдб рдЙрджрд╛рд╣рд░рдг:
 protected void uploadFile(By uploadInput, By uploadButton, String filePath) { clearInput(uploadInput); findElement(uploadInput).sendKeys(filePath); findElement(uploadButton).click(); } 


рдЖрдЗрдлреНрд░реЗрдо рдХреЗ рдЕрдВрджрд░ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдХреНрд░рд┐рдпрд╛

рд╕рдорд╕реНрдпрд╛:
рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рддрддреНрд╡ iframe рдХреЗ рдЕрдВрджрд░ рд╣реИ, рддреЛ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдВрджрд░реНрдн рд╕реЗ рд╕реБрд▓рдн рдирд╣реАрдВ рд╣реИред рдЖрдк DOM рдореЙрдбрд▓ рдореЗрдВ рдЗрд╕рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ WebDriver NoSuchElementException рдХреЛ рдлреЗрдВрдХ рджреЗрдЧрд╛ред

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

рдХреЛрдб рдЙрджрд╛рд╣рд░рдг:
 webDriver.switchTo().frame(findElement(By.id("id_of_your_iframe"))); // do actions against inner web element, located in iframe webDriver.switchTo().defaultContent(); // continue to do actions in default content 


IE8ред XPath рдореБрджреНрджрд╛

рд╕рдорд╕реНрдпрд╛:
IE8, рдЕрдкрдиреЗ рдЕрдЬреАрдм рд╡рд┐рд▓рдХреНрд╖рдг рддрд░реАрдХреЗ рд╕реЗ, рдХрднреА-рдХрднреА рддрддреНрд╡ рд╕реВрдЪрдХ (By.id, By.xpath рдФрд░ рдЕрдиреНрдп) рдХрд╛ рдЧрд▓рдд рдЕрд░реНрде рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИред
рдореЗрд░реЗ рдкрд╛рд╕ рдРрд╕реА рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рдереАрдВ рдЬрдм рдЙрдиреНрд╣реЛрдВрдиреЗ рдЖрд╡рд╢реНрдпрдХ рддрддреНрд╡ рдХреЗ рд╢реЛрдзрди рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рдЬреЛ рдХрд┐ рдЙрд╕рдХреА рд╡рд░реНрдЧреАрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, IEDriver рдиреЗ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрддреНрд╡реЛрдВ рджреНрд╡рд╛рд░рд╛ рдкрд╛рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдРрд╕реЗ рддрддреНрд╡реЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдФрд░ рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рддрддреНрд╡ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП:
 findElement(By.xpath("//div[@id='elementContainer']/div[@class='someProcessInProgress']")); findElement(By.xpath("//div[@id='elementContainer']/div[@class='someProcessFinished']")); 

рдореИрдВ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХрд┐рди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред
рддрддреНрд╡ рдХреА рдЖрдИрдбреА рдХреЗ рдкреНрд░рддреНрдпрдХреНрд╖ рд╕рдВрдХреЗрдд рдХреЗ рд╕рд╛рде рдПрдХ рдмрд┐рд▓реНрдХреБрд▓ рд╕рдорд╛рди рд╕реНрдерд┐рддрд┐ рдЙрддреНрдкрдиреНрди рд╣реБрдИред рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рджрд╛рд╡рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред

рд╕рдорд╛рдзрд╛рди:
рдпрджрд┐ IEDriver рдореЗрдВ рдПрдХ рддрддреНрд╡ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдПрдХ рдЖрднрд╛рдордВрдбрд▓рд┐рдХ рднреНрд░рдо рд╣реИ (рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдирд╣реАрдВ) - XPath рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИред рдПрдХреНрд╕рдкреАрде рдХреЗ рд▓рдЪреАрд▓реЗрдкрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рдореЗрд╢рд╛ рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реЛрддреЗ рд╣реИрдВред

IE8ред рдЖрдЗрдЯрдо рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ

рд╕рдорд╕реНрдпрд╛:
IE8, рдЕрдиреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╣рдореЗрд╢рд╛ рдХрд┐рд╕реА рддрддреНрд╡ рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдХрдВрдЯреЗрдирд░ рдХреЗ рджреГрд╢реНрдп рднрд╛рдЧ (рдкрд░рдд, рддрд╛рд▓рд┐рдХрд╛, рдЖрджрд┐) рдХреЗ рдмрд╛рд╣рд░ рд╕реНрдерд┐рдд рдХрд┐рд╕реА рддрддреНрд╡ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВред рдирддреАрдЬрддрди, рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред

рд╕рдорд╛рдзрд╛рди:
рдЖрдкрдХреЛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдПрдХрдорд╛рддреНрд░ рдХрд╛рд░реНрдп рддрд░реАрдХрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд╣рд╛рдпрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, WebDriver рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рддрдВрддреНрд░ рд╣реИ рдЬрд┐рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рддрддреНрд╡ рддрдХ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
 new Actions(webDriver).moveToElement(elementToScrollTo).perform(); 

рд▓реЗрдХрд┐рди рдпрд╣ IE8 рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдХреЛрдб рдЙрджрд╛рд╣рд░рдг:
 ((JavascriptExecutor) webDriver).executeScript("container.scrollLeft=1000;"); 

рдЬрд╣рд╛рдВ рдХрдВрдЯреЗрдирд░ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрддреНрд╡ рдХреА рдЖрдИрдбреА рд╣реИред рдпрд╛рдиреА рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ div рдпрд╛ рддрд╛рд▓рд┐рдХрд╛ рдЬрд┐рд╕рдХреЗ рдЕрдВрджрд░ рддрддреНрд╡ рд╕реНрдерд┐рдд рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдЧреАред

рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдорд░ рд╕рдХрддрд╛ рд╣реИ

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

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

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


рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдиреБрднрд╡ рдХреЗ рд▓рд┐рдП рдФрд░ рдЗрд╕ рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЕрд╡рд╕рд░ рдХреЗ рд▓рд┐рдП рдЖрднрд╛рд░реА рд╣реВрдВред рдкрд┐рдЫрд▓реЗ рдорд╣реАрдиреЛрдВ рдореЗрдВ, XPath рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдореВрд▓ рднрд╛рд╖рд╛ рдХреА рддрд░рд╣ рдмрди рдЧрдпрд╛ рд╣реИ, рд╢рд╛рдпрдж рдЬрд▓реНрдж рд╣реА рдореИрдВ рдЗрд╕рдореЗрдВ рдкрддреНрд░рд╛рдЪрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдореБрдЭреЗ рд╕реЗрд▓реЗрдирд┐рдпрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ, рдЗрд╕ рдкрд░ рдмрд╣реБрдд рдЬреНрдЮрд╛рди рдорд┐рд▓рд╛ред

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

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

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


All Articles