рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдЬрдм:
- рдореБрдЭреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдЬрд╛рдЧрд░ рдПрдХ рд╣рд╛рд░реНрдб-рдХреЛрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдорд┐рд▓рд╛;
- рдХреЛрдб рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдордп рдирд╣реАрдВ рд╣реИ;
- рдПрдХ рд╕реНрдерд╛рди рдкрд░ рд╕рдВрдкрд╛рджрди рдХрд░рдиреЗ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рддрд░реНрдХ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдмрд╛рдзрд┐рдд рд╣реЛрддрд╛ рд╣реИ;
- рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП * рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдЗрдХрд╛рдИ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ;
- рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХ рдХреЛрдб рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреИрдЯрд░реНрди рджреНрд╡рд╛рд░рд╛ рдзреБрдВрдзрд▓рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рдереМрдбрд╝реЗ рдЪрд▓рд╛рдирд╛ рдФрд░ рдмрд╣рд╛рдирд╛ рдмрдирд╛рдирд╛ рдХрд┐ рдРрд╕реЗ рдХреЛрдб рдирд╣реАрдВ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП?
рдореИрдВ рдмрд╣реБрдд рдмрд╛рд░ рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЖрдпрд╛ рдерд╛ рдФрд░ рдпрд╣ рдореБрдЭреЗ рд╢реЛрднрд╛ рдирд╣реАрдВ рджреЗрддрд╛ред рдЬрдм рдПрдХ рдЙрдкрдпреБрдХреНрдд рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдзрд┐ / рдЙрдкрдХрд░рдг рдХреА рддрд▓рд╛рд╢ рдореЗрдВ, рдореИрдВ рд╕реЗрд▓реЗрдирд┐рдпрдо рдореЗрдВ рдЖрдпрд╛ред рдФрд░ рдореИрдВ рдЗрд╕реЗ 3 рд╕рд╛рд▓ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рд╕рдордп рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
9 рдЕрдкреНрд░реИрд▓ рдХреЛ,
DevPoint рдиреЗ
рдХреАрд╡ рдореЗрдВ рдПрдХ рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рд╕рдореНрдореЗрд▓рди рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ред рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдЖрдпреЛрдЬрдХ
рдпреВрдиреАрд╡рдм рдерд╛ред рдЗрд╕рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рд╕реЗрд▓реЗрдирд┐рдпрдо рдХреА рдЕрдкрдиреА рдЫрд╛рдк рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рд╕реЗрд▓реЗрдирд┐рдпрдо рдореЗрдВ рдХрдИ рдЙрдкрдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдХреЗрд╡рд▓ рддреАрди рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛:
рд╕реЗрд▓реЗрдирд┐рдпрдо рдХреЛрд░ - рд▓рд┐рдЦрдиреЗ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХред рд╕реЗрд▓реЗрдирд┐рдпрдо рдЖрдИрдбреАрдИ рдФрд░ рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕реЗрд▓реЗрдирд┐рдпрдо рдЖрдИрдбреАрдИ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд▓рдЧрдЗрди рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдкрд░реАрдХреНрд╖рдг рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдФрд░ рдЦреЗрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рд╕реЗрд▓реЗрдирд┐рдпрдо рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХреЛрдб рднреА рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рд╕реЗрд▓реЗрдирд┐рдпрдо рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдкреНрд░рдгрд╛рд▓реА рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд╛рдиреАрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдпрд╛ рдЕрдиреНрдп рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдкрд░ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
рд╕реЗрд▓реЗрдирд┐рдпрдо рдХреЛрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЧреИрд░-рддреБрдЪреНрдЫ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред
рд╕реЗрд▓реЗрдирд┐рдпрдо рдЖрдИрдбреАрдИ

рд╕реЗрд▓реЗрдирд┐рдпрдо рдЖрдИрдбреАрдИ рдХреЗ рд▓рд╛рдн:
- рд╕рд╣рдЬ рдЬреНрдЮрд╛рди рдпреБрдХреНрдд рдЕрдВрддрд░рдлрд▓рдХ;
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛;
- рдХреЛрдИ рднреА рд╡реНрдпрдХреНрддрд┐ рдЬреЛ рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдЦрди рдкрд░реАрдХреНрд╖рдгреЛрдВ рд╕реЗ рд╕рд╛рдордирд╛ рдХрд░реЗрдЧрд╛;
- рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП * рдЬрдирд░реЗрд╢рди рдХреЛрдб рдХреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреАрдврд╝реАред
рдорд░рд╣рдо рдореЗрдВ рдЙрдбрд╝рдирд╛:
- рдХреЗрд╡рд▓ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХреЗ рд▓рд┐рдП;
- рдХрд╛рд░реНрд░рд╡рд╛рдИ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЕрднреА рднреА "рдЗрд╕реЗ рдХрд▓рдо рд╕реЗ рдЦрддреНрдо рдХрд░рдирд╛" рдЪрд╛рд╣рд┐рдП;
- XPath рддрддреНрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЯреВрд▓ рдирд╣реАрдВ рд╣реИред
рд╕реЗрд▓реЗрдирд┐рдпрдо рдЖрдИрдбреАрдИ рдХреЛ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рд▓рд╛рдирд╛
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рдЬреАрд╡рд┐рдд рдкреБрд░рд╛рдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд▓реА, рдЬреЛ рдЕрднреА рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╡рд░ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рд╣реИред рдпрд╣ рдПрдХ рдирд┐рдпрдорд┐рдд рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рд╣реИ рдЬреЛ рдПрдХ рдХрдВрдкрдиреА рдореЗрдВ рдЖрдВрддрд░рд┐рдХ рдереЛрдХ рдЦрд░реАрдж рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдо рдирд╛рдо рдирд╣реАрдВ рд▓реЗрддреЗ ...
рдкрд╣рд▓рд╛ рдкрд░реАрдХреНрд╖рдг рдЬреЛ рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рд╡рд╣ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдЧрд╛:
рд╕реЗрд▓реЗрдирд┐рдпрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ:
- WaitForPageToLoad рдХрдорд╛рдВрдб рдХреЛ рди рднреВрд▓реЗрдВ;
- рдЬрд┐рддрдиреА рдмрд╛рд░ рд╕рдВрднрд╡ рд╣реЛ * рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ * рдЖрджреЗрд╢реЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВ;
- WaitForPopUp рдХреЗ рдмрд╛рдж selectPopUp рдХрдорд╛рдВрдб рдХреЛ рди рднреВрд▓реЗрдВ;
- рдкреЙрдкрдЕрдк рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж - selectWindow;
- рдХреНрд▓рд┐рдХреНрд╕ рдФрд░ рдХреНрд▓рд┐рдХрдЕрдВрдбрд╡рд┐рдЯ рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдордЭреЗрдВ;
- рдЬрдм рдЕрдЬрд╛рдХреНрд╕ рднрд╛рдЧреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡рдлрд╝рд░ * рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╡рд┐рдирд┐рдордп рджрд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рдмрд╣реБрдд рд╣реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рджрд┐рди рдХреЗ рд▓рд┐рдП рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдЗрдП рдЗрд╕ рддрд░реНрдХ рдХреЛ рдХрд╡рд░ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдкрд░реАрдХреНрд╖рд╛ рд▓рд┐рдЦреЗрдВ:
рдФрд░ рдЕрдВрддрд┐рдо рджреЛ рдкрд░реАрдХреНрд╖рдг рдЬреЛ рдПрдХ рдСрд░реНрдбрд░ рдмрдирд╛рдиреЗ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реНрдХ рдХреЛ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВ:
рдФрд░ рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрджреЗрд╢ рдХреЛ рдЦрд░рд╛рдм рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рдмрд░реНрдмрд╛рдж рд╣реЛ рдЧрдпрд╛:
рдЖрдИрдбреАрдИ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд╛рдн:
- рд╕реВрдЯ рдореЗрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдХреНрд░рдорд┐рдХ рдирд┐рд╖реНрдкрд╛рджрди;
- рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкрд░рд┐рд╡рд░реНрддрдиред
рд╡рд┐рдкрдХреНрд╖:
- рдХреЗрд╡рд▓ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХреЗ рд▓рд┐рдП;
- рдбреЗрдЯрд╛ рдЖрд░рдВрднреАрдХрд░рдг рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ;
- рдХреНрд░реЛрди рд▓рд┐рдкрд┐рдпреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛ред
рд╕реЗрд▓реЗрдирд┐рдпрдо рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓
рд╕реЗрд▓реЗрдирд┐рдпрдо рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдПрдХ http рдбреЗрдорди рд╣реИ рдЬреЛ GET рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдорд╛рдВрдб рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕реЗрд▓реЗрдирд┐рдпрдо рдЖрд░рд╕реА рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рд▓рдЧрднрдЧ рд╕рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред рдпрд╣ рдмрд╛рдд рдХреЗрд╡рд▓ PHP рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рдЬреЛ
PHPUnit рдХреЗ рд╕рд╛рде рджреА рдЧрдИ рд╣реИ

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

рдЗрд╕ рддрд░рд╣ рдЖрдк рдмрд╕ рдХреЛрдб рдХреЛ рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ PHPUnit рд╕реВрдЯ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ PHPUnit - рд╕реЗрд▓реЗрдирд┐рдпрдо рдореЗрдВ рд╕реЗрд▓реЗрдирд┐рдпрдо рдЖрдИрдбреАрдИ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ:
рдХреНрд▓рд╛рд╕ рд╕реЗрд▓реЗрдиреАрдЯреЗрд╕реНрдЯ PHPUnit_Extensions_SeleniumTestCase рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИ
{
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдереИрддрд┐рдХ $ seleneseDirectory = '/ devpoint / ide' ;
рд╕рдВрд░рдХреНрд╖рд┐рдд рдлрд╝рдВрдХреНрд╢рди рд╕реЗрдЯрдЕрдк ( )
{
$ рдпрд╣ -> рд╕реЗрдЯрдмреНрд░реЛрд╕рд░ ( "* рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕" ) ;
$ рдпрд╣ -> setBrowserUrl ( " test.devpoint.com.ua/" ) ;
}
}
рдЖрдк рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ ...
- PHPUnit_Extensions_SeleniumTestCase рд╕реЗрд▓реЗрдирд┐рдпрдо рдЖрдИрдбреАрдИ рдХреЗ рд╕рд╛рде рд╕реВрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛;
- PHPUnit рд╣рдореЗрд╢рд╛ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ;
- PHPUnit 3.4.x рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрдорд╛рдВрдб рд▓реЙрдЬрд┐рдХ рдХреЛ рдареАрдХ рд╕реЗ рд╣реИрдВрдбрд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рд╕реЗрд▓реЗрдирд┐рдпрдо рдЖрдИрдбреАрдИ рдФрд░ PHPUnit рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рдкрд░реАрдХреНрд╖рдг рдЙрдирдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рднрд┐рдиреНрди рд╣реИрдВред рд╕реЗрд▓реЗрдирд┐рдпрдо рдЖрдИрдбреАрдИ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╕реВрдЯ рдореЗрдВ рдХрд┐рдП рдЧрдП рдкрд░реАрдХреНрд╖рдг рдПрдХ-рджреВрд╕рд░реЗ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ PHPUnit рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдкрд┐рдЫрд▓реЗ * рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИред рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, PHPUnit рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдкреБрди: рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИ рдФрд░, рддрджрдиреБрд╕рд╛рд░, рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдг рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдЪрд▓рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдкрд╣рд▓реЗ рдкрд░реАрдХреНрд╖рдг рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реЗрд▓реЗрдирд┐рдпрдо рдЖрдИрдбреАрдИ рдореЗрдВ рдмрдирд╛рдИ рдЧрдИ рд╕реБрдЗрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рддрд░реНрдХ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред
рдкреНрд░рддреАрдХреНрд╖рд╛ * рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ PHPUnit рдореЗрдВ рдХреИрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
рдХреЗ рд▓рд┐рдП ( $ рд╕реЗрдХрдВрдб = 0 ;; $ рд╕реЗрдХрдВрдб ++ ) {
рдЕрдЧрд░ ( $ рд╕реЗрдХрдВрдб > = 60 ) рдпрд╣ $ -> рд╡рд┐рдлрд▓ ( "рдЯрд╛рдЗрдордЖрдЙрдЯ" ) ;
рдХреЛрд╢рд┐рд╢ рдХрд░реЛ {
рдЕрдЧрд░ ( "рдЖрджреЗрд╢" == рдпрд╣ $ -> getText ( "// html / body / table / tbody / tr / td [2] / form / table / tbody / tr / td" ) ) рддреЛрдбрд╝ ;
} рдкрдХрдбрд╝ ( рдЕрдкрд╡рд╛рдж $ рдИ ) { }
рдиреАрдВрдж ( 1 ) ;
}
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдо рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрдВрддрд░рд╛рд▓ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд▓реВрдк рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рддрдм рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рд╣рдорд╛рд░реА рд╕реНрдерд┐рддрд┐ рд╕рд╣реА рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреАред PHPUnit рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди - рд╕реЗрд▓реЗрдирд┐рдпрдо рдЖрд░рд╕реА рдЯреАрдо рднреЗрдЬрдиреЗ рд╡рд╛рд▓реЗ рд╕реЗрд▓реЗрдирд┐рдпрдо рд╕реЗ рдпрд╣ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рджреЛ рдЙрддреНрддрд░ рджреЗрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдЕрдЪреНрдЫрд╛ рд╣реИ рдпрд╛ рд╕рдм рдХреБрдЫ рдЦрд░рд╛рдм рд╣реИред рдпрджрд┐ ERROR рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЖрддреА рд╣реИ, рддреЛ рдпрд╣ рддреБрд░рдВрдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ, рд▓рд┐рдЦрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реБрдИ рд╣реИ рдФрд░ рддрджрдиреБрд╕рд╛рд░, рд╣рдорд╛рд░рд╛ рдЪрдХреНрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрдВрдж рд╕реЗрд▓реЗрдирд┐рдпрдо рдЖрд░рд╕реА рд╕рддреНрд░ рдХреЛ рдХрдорд╛рдВрдб рднреЗрдЬреЗрдЧрд╛ред
рдореИрдВрдиреЗ рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ
github рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЙрд╕ рдкрд░ рдирд┐рд╡рд╛рд╕реА рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рд╕реЗрд▓реЗрдирд┐рдпрдо рдЖрд░рд╕реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдФрд░ рдЕрдЪреНрдЫреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдпрд╣ рдПрдХ рддреНрд░реБрдЯрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рддреЛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд▓реЗ рд╕рдХрддрд╛ рд╣реИ:
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреНрд▓рд╛рд╕ PHPUnit_Extensions_SeleniumTestCase рддрдХ рдлреИрд▓реА рд╣реБрдИ рд╣реИ
{
рд╕рдВрд░рдХреНрд╖рд┐рдд $ рдХреИрдкреНрдЪрд░рдЪреЗрдиреНрд╢реЛрдЯрдСрдирдлрд╝реЗрд▓реНрдпреЛрд░ = рд╕рдЪ ;
рд╕рдВрд░рдХреНрд╖рд┐рдд $ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯPath = '/ рд╣реЛрдо / ... / рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ' ;
рд╕рдВрд░рдХреНрд╖рд┐рдд $ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯUrl = 'http: // localhost / рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ' ;
}
рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЙрд╕ рдЬрдЧрд╣ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рддреНрд░реБрдЯрд┐ рд╣реБрдИ рдереА, рд▓реЗрдХрд┐рди рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ PHPUnit рдореЗрдВ рдкрд╛рда рд╕реЗ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИред
рд╣рдо рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рдЦреАрдВрдЪрддреЗ рд╣реИрдВ рдлрд╛рдпрд░рдлреЙрдХреНрд╕ рдирд╣реАрдВ
рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╕реЗрд▓реЗрдирд┐рдпрдо рдЖрд░рд╕реА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:
- рдХреНрд░реЛрдо
- iexplore
- Firefox3
- googlechrome
- Konqueror
- Firefox2
- рд╕рдлрд╛рд░реА
- рдУрдкреЗрд░рд╛
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкрд╣рд▓реА рдмрд╛рд░ рдЗрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рд╕рд╣реА рдирд┐рд╖реНрдкрд╛рджрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣рдореЗрд╢рд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рдирд╣реАрдВ рд╣реИред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдореИрдВ рд╡рд┐рдВрдбреЛрдЬ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕, IE рдФрд░ рдХреНрд░реЛрдо рдореЗрдВ рдиреЛрдЯ рдХрд░рддрд╛ рд╣реВрдВ, рд╡рд╣ рдореИрдХрдУрдПрд╕ рдХреЗ рд▓рд┐рдП рд╕рдлрд╛рд░реА рдореЗрдВ рд▓рдЧрднрдЧ рдХрднреА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
рд╡рд┐рднрд┐рдиреНрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реНрдЯреИрд░реЗрди рдЪрд░ $ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рд╕реЗрд▓реЗрдирд┐рдпрдо рдЖрд░рд╕реА рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕реЗрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рдгреА рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ:
рдХреНрд▓рд╛рд╕ рд╕реЗрд▓реЗрдиреАрдЯреЗрд╕реНрдЯ PHPUnit_Extensions_SeleniumTestCase рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИ
{
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдерд┐рд░ $ рдмреНрд░рд╛рдЙрдЬрд╝рд░ = рд╕рд░рдгреА (
рд╕рд░рдгреА (
'рдирд╛рдо' => 'рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕' ,
'рдмреНрд░рд╛рдЙрдЬрд╝рд░' => '* рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕' ,
'рд╣реЛрд╕реНрдЯ' => 'рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ' ,
'рдкреЛрд░реНрдЯ' => 4444 ,
'рдЯрд╛рдЗрдордЖрдЙрдЯ' => 30000 ,
) ,
рд╕рд░рдгреА (
'рдирд╛рдо' => 'рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ IE' ,
'рдмреНрд░рд╛рдЙрдЬрд╝рд░' => '* iexplore' ,
'рд╣реЛрд╕реНрдЯ' => 'рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ' ,
'рдкреЛрд░реНрдЯ' => 4444 ,
'рдЯрд╛рдЗрдордЖрдЙрдЯ' => 30000 ,
) ,
рд╕рд░рдгреА (
'рдирд╛рдо' => 'рд╡рд┐рдВрдбреЛрдЬ рдкрд░ Google рдХреНрд░реЛрдо' ,
'рдмреНрд░рд╛рдЙрдЬрд╝рд░' => '* googlechrome' ,
'рд╣реЛрд╕реНрдЯ' => 'рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ' ,
'рдкреЛрд░реНрдЯ' => 4444 ,
'рдЯрд╛рдЗрдордЖрдЙрдЯ' => 30000 ,
) ,
) ;
рд╕рдВрд░рдХреНрд╖рд┐рдд рдлрд╝рдВрдХреНрд╢рди рд╕реЗрдЯрдЕрдк ( )
{
$ рдпрд╣ -> setBrowserUrl ( " test.devpoint.com.ua/" ) ;
}
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ testSigninCase ( )
{
$ рдпрд╣ -> рдЦреБрд▓рд╛ ( "/ рд▓реЙрдЧрд┐рди /" ) ;
$ рдпрд╣ -> WaitForPageToLoad ( "" ) ;
$ рдпрд╣ -> рдкреНрд░рдХрд╛рд░ ( "рд▓реЙрдЧрд┐рди" , "рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ" ) ;
$ рдпрд╣ -> рдкреНрд░рдХрд╛рд░ ( "рдкрд╛рд╕рд╡рд░реНрдб" , "рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ" ) ;
$ рдпрд╣ -> рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ ( "// рдЗрдирдкреБрдЯ [@ рдореВрд▓реНрдп = 'рд▓реЙрдЧрд┐рди']" ) ;
$ рдпрд╣ -> WaitForPageToLoad ( "30000" ) ;
$ рдпрд╣ -> assertEquals ( "рд╣реЛрдо" , рдпрд╣ $ -> getText ( " // html / body / table / tbody / tr / td / a" ) ) ;
}
}
рд╕реЗрд▓реЗрдирд┐рдпрдо рд╕реЗ рд╕реА рдЖрдкрдХреА рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛?
- рдкрд░реАрдХреНрд╖рдг рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб;
- рдХреНрд░реЛрди рд▓рд┐рдкрд┐рдпреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг;
- рдлреНрд▓реИрд╢ рднрд╛рдЧ ( http://code.google.com/p/flash-selenium ) рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред
рд░рд┐рдкреЛрд░реНрдЯ