рд╕реЗрд▓реЗрдирд┐рдпрдо 2. рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдмрдирд╛рдо рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓

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



рджреЗрд╢реА рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рднреА рдПрдХ рдмрдбрд╝реА рдЕрд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ - рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рдХреЛрдИ рднреА рдХреАрд╕реНрдЯреНрд░реЛрдХ рдкрд░реАрдХреНрд╖рдг рдХреЛ "рдХреНрд░реИрд╢" рдХрд░ рд╕рдХрддрд╛ рд╣реИред

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

рдХреНрд▓рд╛рд╕рд┐рдХ рдЖрд░рд╕реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рдиреБрдХрд╕рд╛рди рдорд╛рдЙрд╕ рдХреЗ рдКрдкрд░ рдордВрдбрд░рд╛рдиреЗ рдЬреИрд╕реА рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдореЗрдВ рдХрдард┐рдирд╛рдИ рд╣реИред рджреВрд╕рд░реА рдУрд░, рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░, рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рддрд░рд╣, рдЫрд┐рдкреЗ рд╣реБрдП рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдЕрдиреНрдп рддрддреНрд╡ рджреНрд╡рд╛рд░рд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╡рд░ рдХрд┐рдП рдЧрдП рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЯреЗрдХреНрд╕реНрдЯ рджрд░реНрдЬ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рд╣рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ AJAX рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред AJAX рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рддрдВрддреНрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ: рд╕реНрдкрд╖реНрдЯ рдкреНрд░рддреАрдХреНрд╖рд╛ (рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЕрдкреЗрдХреНрд╖рд╛рдПрдВ) рдФрд░ рдирд┐рд╣рд┐рдд рдкреНрд░рддреАрдХреНрд╖рд╛ (рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЕрдкреЗрдХреНрд╖рд╛рдПрдВ) (рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдВ рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдореЗрдВ рдЕрдкреЗрдХреНрд╖рд╛рдПрдВ )ред RC рдореЗрдВ, AJAX рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЬреЗрдПрд╕ рдХреЗ рд╕рд╛рде рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рд╣рдореЗрд╢рд╛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, selenium.click JM рдЗрд╡реЗрдВрдЯ рдХреЛ onMouseDown рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЖрд╢реНрдЪрд░реНрдп рд╣реЛрдЧрд╛, "рдбреЗрд╡рд▓рдкрд░ рдиреЗ рд╡рд╣рд╛рдВ рдХреНрдпрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛?" рд╕рд╣реА рдХрдорд╛рдВрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдПред рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд╕рд╛рде, рдРрд╕реА рд╕рдорд╕реНрдпрд╛рдПрдВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВред

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

By.id - рдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ рддрддреНрд╡ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ;
By.name - рдирд╛рдо рддрддреНрд╡ рдХреЗ рдирд╛рдо рд╕реЗ рдкрд╣реБрдБрдЪрд╛:
By.xpath - xpath рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдПрдХ рддрддреНрд╡ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИ;
By.tagName - HTML рдЯреИрдЧ рдирд╛рдо рд╕реЗ рдЦреЛрдЬреЗрдВ;
By.cssSelector - рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд▓реЛрдХреЗрдЯрд░ рд╕реНрдЯрд╛рдЗрд▓ рд╢реАрдЯ рд╡рд┐рд╡рд░рдг (CSS) рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ;
By.className - рдПрдХ рддрддреНрд╡ рдХреЗ рд╕реАрдПрд╕рдПрд╕ рд╡рд░реНрдЧ рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬ;
By.linkTex - рдкрд╛рда рдореЗрдВ рдПрдХ рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ;
By.partionalLinkText - рдкрд╛рда рдХреЗ рднрд╛рдЧ рджреНрд╡рд╛рд░рд╛ рдПрдХ рд▓рд┐рдВрдХ рдХреА рдЦреЛрдЬ рдХрд░реЗрдВ;

рдЖрдЗрдП рдЖрд░рд╕реА рдФрд░ рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ (рдЬрд╛рд╡рд╛) рдкрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

рд╣рдо рдСрдЯреЛрдЯреЗрд╕реНрдЯ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ Google рдкрд░ рдЬрд╛рддрд╛ рд╣реИ, рдЦреЛрдЬ рдмрд╛рд░ рдореЗрдВ zerg рднреАрдбрд╝ рджрд░реНрдЬ рдХрд░реЗрдВ, рдЦреЛрдЬ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдлрд┐рд░ рдереЛрдбрд╝реА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреЗ рдмрд╛рдж рд╡рд┐рдВрдбреЛ рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд▓реЗрдВред

рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓:

import org.openqa.selenium.Keys; import com.thoughtworks.selenium.SeleneseTestCase; import java.util.concurrent.TimeUnit; import java.awt.event.KeyEvent; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.Writer; public class FirstTest extends SeleneseTestCase { public void setUp() throws Exception { setUp("http://google.com", "*firefox"); } public void testGoogle() throws Exception { File file = new File("    "); if (file.exists()) { file.delete(); } selenium.open("/"); //   Google selenium.windowMaximize(); //     selenium.waitForPageToLoad("30000"); //   selenium.type("name=q", "zerg rush"); //     selenium.click("name=btnG"); //   TimeUnit.SECONDS.sleep(5); // 5  selenium.captureEntirePageScreenshot("   ", ""); Writer output = new BufferedWriter(new FileWriter(file)); output.write(selenium.getLog()); output.close(); System.out.println("Test Complete"); //    } } 


Webdriver

 import java.util.regex.Pattern; import java.util.concurrent.TimeUnit; import org.junit.*; import static org.junit.Assert.*; import static org.hamcrest.CoreMatchers.*; import org.openqa.selenium.*; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.support.ui.Select; import java.awt.event.KeyEvent; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.Writer; import org.apache.commons.io.FileUtils; public class First_test { private WebDriver driver; private String baseUrl; private StringBuffer verificationErrors = new StringBuffer(); @Before public void setUp() throws Exception { driver = new FirefoxDriver(); baseUrl = "http://google.com"; driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); //   } @Test public void testGoogle() throws Exception { driver.get(baseUrl + "/"); //   Google.     baseUrl driver.findElement(By.name("q")).sendKeys("zerg rush"); //     driver.findElement(By.name("btnG")).click(); //   TimeUnit.SECONDS.sleep(5); // 5  File file = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE); String path = "   "; FileUtils.copyFile(file, new File(path)); System.out.println("Test Complete"); //    } @After public void tearDown() throws Exception { driver.quit(); String verificationErrorString = verificationErrors.toString(); if (!"".equals(verificationErrorString)) { fail(verificationErrorString); } } private boolean isElementPresent(By by) { try { driver.findElement(by); return true; } catch (NoSuchElementException e) { return false } } } 


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

рд╕реЗрд▓реЗрдирд┐рдпрдо 2 рдореЗрдВ рдЖрд░рд╕реА рд╕реЗ рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рднреА рд╣реИред рдХрд╛рд░реНрдпрд╛рд▓рдп рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ред рдкреНрд░рд▓реЗрдЦрдиред

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


All Articles