рдФрд░ рдЗрд╕рд▓рд┐рдП, рдПрдХ рдЕрдореВрд░реНрдд рд╕реНрдерд┐рддрд┐ рдХреЛ рдорд╛рди рд▓реЗрдВ: рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕реЗрд▓реЗрдирд┐рдпрдо рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦрд┐рдд рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рд╣реИред рдЗрд╕реЗ рд▓рдЧрд╛рддрд╛рд░ рдирдпрд╛ рд░реВрдк рджрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдирдП рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЙрдЦрд╛рдбрд╝ рдлреЗрдВрдХрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓реЙрдЧреНрд╕, XML рдХреЗ рдвреЗрд░, рджреЗрдЦрдиреЗ рдФрд░ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╕рд╣рдиреАрдп рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реБрдЖ рдФрд░ рдХреНрдпреЛрдВ рдЙрдбрд╝рд╛ред рдереЛрдбрд╝рд╛ рдиреАрдЪреЗ, рдореИрдВ рдЕрдкрдиреЗ рд╕реЗрд▓реЗрдирд┐рдпрдо рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕рд░рд▓ рд╕реБрдЭрд╛рд╡ рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рд╕рд╛рде рд╣реА рдЬреЗрдирдХрд┐рдВрд╕ рд╕реАрдЖрдИ рдХреЗ рд╕рд╛рде рд╕реЗрд▓реЗрдирд┐рдпрдо рджреЛрд╕реНрдд рдмрдирд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдФрд░ рдЗрд╕ рджреЛрд╕реНрддреА рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ - рдореИрдВ рдПрдХ рдмрд┐рд▓реНрд▓реА рдХреЗ рд▓рд┐рдП рдкреВрдЫрддрд╛ рд╣реВрдВред
1. рд╕реЗрд▓реЗрдирд┐рдпрдо рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рд╕реЗрд▓реЗрдирд┐рдпрдо рдХреЛ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреА рдЪреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░реЗрдВ, рдЖрдкрдХреЛ рдЙрдЪреНрдЪ рд╕реНрдерд┐рд░рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдЗрди рд╢рдмреНрджреЛрдВ рд╕реЗ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ: рднрд▓реЗ рд╣реА рдЖрдк рдХрд┐рддрдиреА рдмрд╛рд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдВ, рдЖрдкрдХреЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рд▓реЛрдб рдФрд░ рд╕рдВрдпреБрдХреНрдд рд░рд╛рдЬреНрдп рдХреЗ рдмрд╛рд╣рд░реА рдЛрдг рдХрд╛ рдЖрдХрд╛рд░, рдЖрдкрдХреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдЧрд░ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд░реАрдХреНрд╖рдг рд╕рд╣реА рд╣реИрдВ, рддреЛ рдХрдИ рд╕реМ рд░рди рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ (рд╕рдорд╛рди рд╕рдВрдЦреНрдпрд╛ рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ) рд╕рдорд╛рди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг, рдЕрдкрдиреЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рд╕реНрд╡реАрдХрд╛рд░реНрдп рд░реИрдо рдЖрдХрд╛рд░ рдХреЛ рдХрд╛рдЯ рджреЗрдВ, рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рднрдпрд╛рдирдХ рдмреНрд░реЗрдХ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд╛рд░реНрдп рдХреЗ рддрд╣рдд рдЙрддреНрдкрд╛рдж рдмрдирд╛рдПрдВ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдЧрдВрджрд╛ рдХреАрдбрд╝реЗ рдХрд╛ рдПрдХ рдЯрди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
рдпрджрд┐ рдкреГрд╖реНрда рдкрд░ рдЖрдЗрдЯрдо рд▓реЛрдб рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдПрдХ рд╕реЗрдХрдВрдб рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред
рдПрдХ рднрд╛рд░рддреАрдп рдХреЛрдбрд░ рдХреЗ рд▓рд┐рдП рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рдлреА рд╕рд╛рдорд╛рдиреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ:
Thread.sleep(1000);
рдЖрдорддреМрд░ рдкрд░, рдХреЛрдб рдХреА рдРрд╕реА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ "рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ = myUnicID1 рд╡рд░реНрддрдорд╛рди" рдХреА рднрд╛рд╡рдирд╛ рд╕реЗ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ... 1000 рдорд┐рд╕реЗрд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдирд╛ рдХреНрдпреЛрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред рдирддреАрдЬрддрди, рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЬрд┐рд╕ рддрддреНрд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рд╡рд╣ 1003 рд╡реЗрдВ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╣рдорд╛рд░рд╛ рдкрд░реАрдХреНрд╖рдг
NoSuchElementException рдХреА рднрд╛рд╡рдирд╛ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдХреНрд░реИрд╢
рд╣реЛрддрд╛ рд╣реИ ред
рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рд╣рдорд╛рд░реЗ рдПрдирдХреЛрдбрд░ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдПрдХ рдХрд╛рдлреА рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдвреВрдВрдврддрд╛ рд╣реИ:
Thread.sleep(5000);
300 рдкрд░реАрдХреНрд╖рдг, рдЬрд╣рд╛рдВ рд╣рд░ рдХреЛрдИ 5 рд╕реЗрдХрдВрдб рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддрд╛ рд╣реИ = 25 рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рд╕реЗ рдмрд╛рд╣рд░ рдХреА рдЪреАрдЬреЛрдВ рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдКрдкрд░ рджрд┐рдЦрд╛рдИ рдЧрдИ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрдЧреА (рдмреЗрд╢рдХ, рдпрд╣ рд╕рдм рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬрд┐рди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡реЗ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╕рдВрднрд╡ рд╣реИрдВ - 5 рд╕реЗрдХрдВрдб рдирд╣реАрдВ рд╣реИрдВ рд╕реАрдорд╛ред) рдФрд░ рдЕрдЧрд░ рдРрд╕реЗ рдХрдИ рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде "рд╕рдВрджрд┐рдЧреНрдз" рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рднреА рд╣реИ?
рдереЛрдбрд╝рд╛ рдФрд░ рд╕реЛрдЪрдиреЗ рдХреЗ рдмрд╛рдж, рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдереЛрдбрд╝рд╛ рдФрд░ рддрд░реНрдХрд╕рдВрдЧрдд рд╕рдорд╛рдзрд╛рди рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддрд╛ рд╣реИ:
while(!driver.isElementPresent(By.id("myUnicID1") ) ){ Thread.sleep(500); }
рдХреБрдЫ рдЬреНрдЮрд╛рдд рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдпрд╣ рд╕рдорд╛рдзрд╛рди, рдХреЛрдб рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ:
while(true){ Thread.sleep(500); }
рд▓реЗрдХрд┐рди рдордЬреЗрджрд╛рд░ рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрдб рд╣рдореЗрдВ рдПрдХ рд╢рд╛рдирджрд╛рд░, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╡рд┐рдЪрд╛рд░ - рдЪрд╛рд▓рдХ рдХреЗ рд▓рд┐рдП рдПрдХ "рд╕реНрдорд╛рд░реНрдЯ" рд╢реЗрд▓ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдореЗрдВ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рддрддреНрд╡реЛрдВ рдХреЗ рдбреНрд░рд╛рдЗрдВрдЧ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕рднреА AJAX рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдХреИрд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ,
рдпрд╣рд╛рдБ рд╡рд░реНрдгрд┐рдд
рд╣реИ ред рдпрджрд┐ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рд╣реИрдВред
рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдЕрд╕рдВрднрд╡ рд╣реИред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкреНрд░рд▓реЗрдЦрди рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╕рдореГрджреНрдз рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣рд░ рдЪреАрдЬ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдХрднреА-рдХрднреА рдЖрдк textarea рд╕реЗ рдкрд╛рда рд▓реЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдЬрдм рдЖрдк getText () рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реМрдЯрд╛ рджреА рдЬрд╛рддреА рд╣реИ - рд░рд╣рд╕реНрдпрдордп js рдФрд░ html рдХреЛрдб рдХреА рдЕрдиреНрдп рдХрд┐рдЯ рдПрдХ рдмрд╛рдзрд╛ рдмрди рдЬрд╛рддреА рд╣реИред рдФрд░ рдЕрдЧрд░ рдЖрдкрдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рддрддреНрд╡ рдХреЗ рд░рдВрдЧ рдХреЛ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ?
рдирд┐рд╖реНрдкрд╛рджрдиреЛрдВ () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдбрд░реЛ рдордд, рдЬреЗрдПрд╕ рдФрд░ jQuery рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рдЖрдкрдХреЛ
рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрдиреНрд╣реЗрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рдпрд╛рдж рд░рдЦрдиреЗ рд╡рд╛рд▓реА рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреБрдЫ рдореВрд▓реНрдп рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдЬреЛ рдЗрд╕рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдЧрд╛)ред рдпрджрд┐ рдЖрдкрдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд▓реМрдЯрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдЬрд╛рджреВ рдХреА рдХреНрд░рд┐рдпрд╛ рдХрд░рддреА рд╣реИ, рддреЛ рдЬрд╛рджреВ рд╕рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдЖрдиреЗ рджреЗрдВред рд╕реЗрд▓реЗрдирд┐рдпрдо рдХреЗ рд╕рд╛рде, рдЖрдк рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рд╕реЗ рдорд╛рдЙрд╕ рдХреНрд░рд┐рдпрд╛рдУрдВ, рдХреАрд╕реНрдЯреНрд░реЛрдХреНрд╕, рдкреЙрдк-рдЕрдк рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдХреНрд░рд┐рдп рддрддреНрд╡реЛрдВ рдХреЛ рдЦреАрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдмрд╣реБрдд рдХреБрдЫред
рдЖрдЗрдЯрдо рд╕реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ!
рдореИрдВрдиреЗ 100 рдмрд╛рд░ рдЬрд╛рдБрдЪ рдХреА рдХрд┐ рдореЗрд░рд╛ xpath рддрддреНрд╡ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдиреНрдп рд╕рднреА рддрд░реАрдХреЛрдВ рд╕реЗ рдореИрдВрдиреЗ рдЗрд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдЯреНрд░реЗрд╕ рдореЗрдВ рд╕рднреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдореЗрд░реЗ рдкрд╛рд╕ рдЧрд┐рд░ рд░рд╣реА рдереАрдВ рдЬреЛ рдореБрдЭреЗ рдирд╣реАрдВ рдорд┐рд▓реАрдВред рдЗрд╕ рддрд░рд╣ рдХреА рд╕реНрдерд┐рддрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдирд╕ рдХреЛ рд╣рд┐рд▓рд╛ рджреЗрддреА рд╣реИ рдФрд░ рдЬреЛ рдХреБрдЫ рд╣реЛ рд░рд╣рд╛ рд╣реИ (рдпрд╛ рдЕрд╕рд╛рд╡рдзрд╛рдиреА) рдХреА рдЧрд▓рддрдлрд╣рдореА рд╕реЗ рдкреИрджрд╛ рд╣реЛрддреА рд╣реИред рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рдпрд╣ рднреА рдорд╣рд╕реВрд╕ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реЗрд▓реЗрдирд┐рдпрдордбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рдЖрдкрдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬреЛ рдЗрд╕ рдпрд╛ рдЙрд╕ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдЖрдкрдХреЛ
рдпрд╣рд╛рдВ рдПрдХ рдРрд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдорд┐рд▓рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреА рдЬрд╝рд░реВрд░рдд рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк рд╣рд╛рд░ рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рд╕рдорд╕реНрдпрд╛ рдЖрдкрдХреЗ рдХреЛрдб рдореЗрдВ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдирд╣реАрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рд╣реИ, рддреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдк рд╡рд╣рд╛рдВ рдирд╣реАрдВ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВред рдФрд░ рдХреНрдпрд╛ рдореИрдВ рдЙрд╕ рдлреНрд░реЗрдо рдореЗрдВ рд╣реВрдВ? рдХреНрдпрд╛ рдореИрдВ рдЙрдирдХреЗ рдмреАрдЪ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ? рдЗрди рджреЛрдиреЛрдВ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рдЖрдорддреМрд░ рдкрд░ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИрдВред
рдмрд╛рд╣рд░ рд╕рд╛рд░!
рдХрдИ рд╕реЗрд▓реЗрдирд┐рдпрдо рдкрд░реАрдХреНрд╖рдг 30 рдореАрдЯрд░ xpaths рд╡рд╛рд▓реЗ рддрддреНрд╡реЛрдВ рдкрд░ рдХреНрд░рдорд┐рдХ рдХреНрд▓рд┐рдХ рдХреА рддрд░рд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рд╕реЗ рдЫрд┐рдкреЗ рд╣реБрдП рджрд┐рдЦрддреЗ рд╣реИрдВред рдЕрдХреНрд╕рд░, рдкрд░реАрдХреНрд╖рдг рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд╕рдорд╛рди рддрддреНрд╡реЛрдВ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХреБрдЫ рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреНрд▓рд┐рдХреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдЕрдЧрд░ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдПрдХ рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реА рдЧрдИ рд╣реИ рддрд╛рдХрд┐ 'рдП' рдмрдЯрди рджрдмрд╛рдпрд╛ рдЬрд╛рдП (рдЬреЛ рд╣рд░ рджреВрд╕рд░реЗ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдореМрдЬреВрдж рд╣реИ) рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ? рдХреНрдпрд╛ рдХрд┐рд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЙрдЦрд╛рдбрд╝ рдлреЗрдВрдХрдирд╛ рдФрд░ рдЙрд╕рдХреА рдорд░рдореНрдордд рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ? рдПрдХ рд╡рд░реНрдЧ (рдпрд╛ рдХрдИ) рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЗрди рддрддреНрд╡реЛрдВ рдХреЗ рд╕рднреА рдЕрджреНрд╡рд┐рддреАрдп рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдмрд╣реБрдд рд╕реА рдЪреАрдЬрд╝реЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдФрд░ рд╕рд╣реА рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЛ рдмрджрд▓рдирд╛ рдЖрд╕рд╛рди рд╣реИред
2. рдЯреЗрд╕реНрдЯрдПрдирдЬреА
рдпрд╣ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реБрдЖ рд╣реИ рдХрд┐ рд╕реЗрд▓реЗрдирд┐рдпрдо рдкрд░реАрдХреНрд╖рдг рдкрд╛рд░рдВрдкрд░рд┐рдХ рдЬреБрдиреАрдЯ рдкрд░ рдирд╣реАрдВ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЯреЗрд╕реНрдЯрдПрдирдЬреАрдЬреА рдкрд░ред рдмреЗрд╢рдХ, рдпрд╣ рд╕рдм рдЖрдкрдХреА рдкрд╕рдВрдж рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░реАрдХреНрд╖рдг рд╕рдореВрд╣реЛрдВ рдФрд░ рдорд╛рдирдХреАрдХреГрдд рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡ / рдкреЛрд╕реНрдЯ рдХреА рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд▓рд╛рд▓рдЪ рд╣реИред рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, рддреЛ
рдпрд╣рд╛рдБ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛
рд╣реИ ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдЬрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдореИрдВ рд╕рд┐рд░реНрдл рдЕрдкрдиреА рдЙрдВрдЧрд▓рд┐рдпреЛрдВ рдкрд░ рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ (рдпрджрд┐ рдХреЛрдИ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рд╡реНрдпрд╛рдЦреНрдпрд╛рддреНрдордХ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рд╕рдВрд▓рдЧреНрди рдХрд░реВрдВрдЧрд╛)ред рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рд╕рдореВрд╣ рдЕрдкрдиреА рд╣реА рдХрдХреНрд╖рд╛ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдЕрдореВрд░реНрдд рд╡рд░реНрдЧ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рдлрд▓ рд╕рдорд╛рдкрди рдХреЗ рд▓рд┐рдП рд╢рд░реНрдд рдпрд╣ рд╣реИ рдХрд┐ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк XML рдлрд╝рд╛рдЗрд▓ рд╕реНрдерд╛рдиреАрдп (рд╕рдВрджрд░реНрдн) рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред рдкрд░реАрдХреНрд╖рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ: рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЧрддрд┐, рдкрд░реАрдХреНрд╖рдг рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рд╕рдордп рдкреВрд░реНрд╡ / рдкреЛрд╕реНрдЯ рдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдирд┐рд╖реНрдкрд╛рджрди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдЯреНрд░реЗрд╕'рдП рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдореИрдВрдиреЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рд░ рдХреЛ рд╕рдордЭрд╛рддреЗ рд╣реБрдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдкрд╡рд╛рдж рдмрдирд╛рдП рд╣реИрдВред рдЬрд┐рди рддрддреНрд╡реЛрдВ рдХреА рдореБрдЭреЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрдирдХреЗ рд▓рд┐рдП рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ "рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА" рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реИ, рдФрд░ рдлрд╝реНрд░реЗрдо рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХрд╛ рддрд░реНрдХ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЬрдЯрд┐рд▓ рддрд░реАрдХреЛрдВ (рдЬреЛ рд╕рд░рд▓ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЛ рдорд┐рд▓рд╛рддреЗ рд╣реИрдВ) рдореЗрдВ рд╕рд┐рд▓рдирд╛ рд╣реИред
3. рдЬреЗрдирдХрд┐рдВрд╕ рд╕реАрдЖрдИ
рдЕрдВрдд рдореЗрдВ, рдЖрдкрдХреЛ рдЬреАрд╡рди рдХреЗ рдЗрди рд╕рднреА рдЖрдХрд░реНрд╖рдг рдХреЛ рдХрд┐рд╕реА рдРрд╕реЗ рд╕рд░реНрд╡рд░ рдореЗрдВ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд▓рдЧрд╛рддрд╛рд░ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдмрд╛рд╣рд░ рдШреВрдорддрд╛ рд░рд╣реЗрдЧрд╛ рдФрд░ рдпрджрд┐ рдХреБрдЫ рднреА рд╣реЛ, рддреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВред рд╕реАрдЖрдИ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдЬреЗрдирдХрд┐рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рд╕реЗрд▓реЗрдирд┐рдпрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рд╢реЗрд▓ рдХреЗ рдмрд┐рдирд╛ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ xvfb рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
yum install Xvfb
рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ xvfb рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдФрд░ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд░реНрдпрд╛рдкреНрдд рдлреЛрдВрдЯ рдпрд╛ рдЕрдиреНрдп рдЯреНрд░рд┐рдлрд╝рд▓реНрд╕ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЕрдкрдиреА рдЬрд╝рд░реВрд░рдд рдХреА рд╣рд░ рдЪреАрдЬрд╝ рджреЗрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИред рдЖрдк
рдЗрд╕ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдм рдЬрдм рд╣рдордиреЗ xvfb рдХрд╛ рд╕реНрдерд┐рд░ рд╕рдВрдЪрд╛рд▓рди рд╣рд╛рд╕рд┐рд▓ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ
jenkins'a рдХреЗ рд▓рд┐рдП
xvfb рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдмреЗрд╢рдХ, рдЖрдк рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдлрд┐рд░ рд╕реЗ рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ)ред рдЬреЗрдирдХрд┐рдВрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ xvfb рдХреЗ рдкрддреЗ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ, рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ
рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░
рдЗрд╕ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдирдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВред рдпрджрд┐ рдЖрдк рдЗрди рд╕рднреА рдореЗрдВ рдИрдореЗрд▓ рд╕реВрдЪрдирд╛рдПрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡-рдирд┐рд╣рд┐рдд рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдмрди рдЬрд╛рдПрдЧреА рдЬреЛ рдХреБрдЫ рдЯреВрдЯрдиреЗ рдкрд░ рдЖрдкрдХреЛ рдЪрд┐рдВрддрд┐рдд рдХрд░рддреА рд╣реИред рдпрд╣ рд╕рдм, рдпрд╣ рдЗрддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рд╣реИ рдирд╛?