рд╕реЗрд▓реЗрдирд┐рдпрдо рдкрд░ рдСрдЯреЛрдЯреЗрд╕реНрдЯреНрд╕ рдХреЛ рдЬрд▓реНрджреА рдФрд░ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рдмрдирд╛рдирд╛

рдореМрд▓рд┐рдХ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдмреНрд▓реЙрдХ рд╕реНрд╡рдЪрд╛рд▓рди - рдкрд░реАрдХреНрд╖рдг
рд░реЙрдб рдЬреЙрдирд╕рди
рдЫрд╡рд┐

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

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

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

рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛


рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реВрдЪрдирд╛ рдкреНрд░рдгрд╛рд▓реА рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред

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

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

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

рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ рдЬреЛ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рд╣реИрдВ:

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

рдореИрдВрдиреЗ рд╢реБрд░реВ рдореЗрдВ рдордирд╛ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛:

  1. рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЯреЗрд╕реНрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рди рд▓рдкреЗрдЯреЗрдВред рдЖрдк рдПрдХ рдкрд░реАрдХреНрд╖рдг рдврд╛рдВрдЪреЗ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред "рдЖрдк рдПрдХ рд╕рд╛рдЗрдХрд┐рд▓ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ!" - рдХрдИ рдХрд╣реЗрдВрдЧреЗред рдореИрдВ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рд╕реЛрдЪрддрд╛ рд╣реВрдВред рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдкрд░реАрдХреНрд╖рдг рдврд╛рдВрдЪреЗ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЕрдВрджрд░ рд╕реЗ рдХреЛрдб рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдмрдирд╛рдП рдЧрдП рдереЗ, рдФрд░ рд╣рдо рдмрд╛рд╣рд░ рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмрд╛рд╣рд░реА рд╣рд┐рд╕реНрд╕реЗ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рдРрд╕рд╛ рд╣реИ рдЬреИрд╕реЗ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдбрд╝рдХ рдмрд╛рдЗрдХ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдкрд╣рд╛рдбрд╝ рд╕реЗ рдиреАрдЪреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рдбрд╝рдХ (рдЕрд╢рд┐рд╖реНрдЯ, рд▓реЗрдХрд┐рди рд╡рд┐рдЪрд╛рд░ рдХреА рдЯреНрд░реЗрди рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣рдо рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рд╕реНрд╡рдпрдВ рд▓рд┐рдЦреЗрдВрдЧреЗ - рд▓рд╛рдареА рдХреЗ рд╕рд╛рде рдФрд░ ... (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, JUnit 5 рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИ)ред
  2. рд╕реЗрд▓реЗрдирд┐рдпрдо рдХреЗ рд▓рд┐рдП рд░реИрдкрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ред рджрд░рдЕрд╕рд▓, рдореБрдЦреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реА рдЫреЛрдЯрд╛ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ 5 рдкреНрд░рддрд┐рд╢рдд рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд╛рд╡рдбрд╝рд╛ рдХрд░рддреЗ рд╣реБрдП, рдЗрд╕рдореЗрдВ рдХрдИ рдШрдВрдЯреЗ рд▓рдЧреЗрдВрдЧреЗред рдХрдо рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдФрд░ рдЦреБрдж рдХреЛ рдкреЙрдЯреА рдореЗрдВ рдврд╛рд▓рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рд▓рд┐рдП рд╣рд░ рдЬрдЧрд╣ рджреЗрдЦрдирд╛ рдмрдВрдж рдХрд░реЗрдВред рдЖрдзреБрдирд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ, рдпрд╣ рдЗрдЪреНрдЫрд╛ рдЕрдХреНрд╕рд░ рдЧреИрд░рдмрд░рд╛рдмрд░реА рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреА рд╣реИ рдФрд░ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рд▓рдЪреАрд▓реЗрдкрди рдХреЛ рдиреБрдХрд╕рд╛рди рдкрд╣реБрдВрдЪрд╛рддреА рд╣реИ (рдореЗрд░рд╛ рдорддрд▓рдм "рдХрдо рдХреЛрдб рд▓рд┐рдЦрдирд╛" рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рд░реВрдкрд░реЗрдЦрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдирд╣реАрдВ рд╣реИрдВ)ред
  3. рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рд╕реБрдВрджрд░ рдкреНрд░рд╕реНрддреБрддрд┐ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдЖрдЗрдЯрдо рдХрд╛ рдкрд░рд┐рдЪрдп рджрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдПрдХ рдмрд╛рд░ рднреА рдЗрд╕рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдЬрдм рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ 2 рдЪреАрдЬреЗрдВ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ: рд╕рдордЧреНрд░ рдкрд░рд┐рдгрд╛рдо (рд╕рдХрд╛рд░рд╛рддреНрдордХ / рдирдХрд╛рд░рд╛рддреНрдордХ), рдФрд░ рдЕрдЧрд░ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдереА - рдмрд┐рд▓реНрдХреБрд▓ред рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдЕрднреА рднреА рдЖрдВрдХрдбрд╝реЗ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдЬрд░реВрд░реА рдирд╣реАрдВ рд╣реИред рдПрдХ рд╕реБрдВрджрд░ рдбрд┐рдЬрд╛рдЗрди рдХреЛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд▓рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдгреЛрдВ рдореЗрдВ рдЗрд╕ рдЦреВрдмрд╕реВрд░рдд рдбрд┐рдЬрд╛рдЗрди рдкрд░ рд╕рдордп рдмрд┐рддрд╛рдирд╛ - рд╢рд╛рдирджрд╛рд░ рд╢реЛ-рдСрдл рд╣реИрдВред

рдореИрдВ рдХрдВрдкрдиреА рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕реНрддрд░ рдФрд░ рдХреБрдЫ рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рдмрдирд╛рдиреЗ рдХреА рд╢рд░реНрддреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдФрд░ рдмрд╛рдд рдХрд░реВрдБрдЧрд╛ред

рдХреБрдЫ рдЧреЛрдкрдиреАрдп рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг, рдореИрдВ рдЙрд╕ рдХрдВрдкрдиреА рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рдЬрд╣рд╛рдБ рдореИрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдБред

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

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

рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╡рд┐рд╡рд░рдг


рдордВрдЪ рдХреЛ JDK 12 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд╛рд╡рд╛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ

рдХреА рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдЯреВрд▓реНрд╕ - рд╕реЗрд▓реЗрдирд┐рдпрдо рд╡реЗрдм рдбреНрд░рд╛рдЗрд╡рд░, рдУрдЬреЗрдбреАрдмреАрд╕реА

рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдВрд╕реНрдХрд░рдг 52 рдХреЛ рдкреАрд╕реА рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП

рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрд┐рд▓реНрдб рд╕рдВрд░рдЪрдирд╛


рдЫрд╡рд┐

рдЖрд╡реЗрджрди рдХреЗ рд╕рд╛рде, 3 рдлрд╝реЛрд▓реНрдбрд░ рдФрд░ 2 рдлрд╛рдЗрд▓реЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ:

тАв BuildKit рдлрд╝реЛрд▓реНрдбрд░ - рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  • jdk12, рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (JVM);
  • geckodriver.exe - рдлрд╛рдпрд░рдлреЙрдХреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрд▓реЗрдирд┐рдпрдо рд╡реЗрдм рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд▓рд┐рдП;
  • SprintAutoTest.jar - рд╕реАрдзреЗ рдЖрд╡реЗрджрди рдЙрджрд╛рд╣рд░рдг

тАв рд░рд┐рдкреЛрд░реНрдЯ рдлрд╝реЛрд▓реНрдбрд░ - рдЖрд╡реЗрджрди рдкрд░реАрдХреНрд╖рдг рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рдЗрд╕реЗ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ ErrorScreens рдлрд╝реЛрд▓реНрдбрд░ рднреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд╣рд╛рдБ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ

тАв TestSuite рдлрд╝реЛрд▓реНрдбрд░ - рд╡реЗрдм рдкреИрдХреЗрдЬ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ (рдЗрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рднрд░рдиреЗ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреА)

тАв config.properties рдлрд╝рд╛рдЗрд▓ - рдПрдХ Oracle рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдФрд░ WebDriverWait рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рдорд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИред

тАв starter.bat - рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ (рдпрджрд┐ рдЖрдк TestCase рдирд╛рдо рдЕрдВрдд рдореЗрдВ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ TestCase рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ)ред

рдЖрд╡реЗрджрди рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг


рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреИрд░рд╛рдореАрдЯрд░ (рдирд╛рдо TestCase) рдХреЗ рд╕рд╛рде рдпрд╛ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдХрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдмрд┐рдирд╛ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреИрдЯ рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг: "AutoTest рд▓рд╛рдВрдЪрд░"% cd% \ BuildKit \ jdk-12 \ bin \ java.exe -Xmx768M -jar --enable- рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди% cd% \ BuildKit \ SprintAutoTest.jar рд╢реБрд░реВ рдХрд░реЗрдВ

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

TestCase рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдВрддрд░рд┐рдХ рдореЙрдбрд▓ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ TestCase (рдкрд░реАрдХреНрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ) рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╣реИ - рдЬрд╛рд╡ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реЗрдмрдкреИрдХреЗрдЬ (рддрддреНрд╡реЛрдВ рдХрд╛ рднрдВрдбрд╛рд░рдг)ред рдореЙрдбрд▓ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж, TestCase (рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ) рд╕реАрдзреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред TestCase рдХреЗ рдирд┐рд░реНрдорд╛рдг рдЪрд░рдг рдореЗрдВ, рджреНрд╡рд┐рддреАрдпрдХ рд╕рддреНрдпрд╛рдкрди рднреА рд╣реЛрддрд╛ рд╣реИ - рдпрд╣ рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ TestCase рдореЗрдВ рд╕рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд░реВрдк рд╕рдВрдмрджреНрдз WebPackage рдореЗрдВ рд╣реИрдВ рдФрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рднреА рддрддреНрд╡ WebPackage рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреГрд╖реНрдареЛрдВ рдХреЗ рднреАрддрд░ рд╣реИрдВред (рдЯреЗрд╕реНрдЯрдХреЗрд╕ рдФрд░ рд╡реЗрдмрдкреЗрдЬ рдХреА рд╕рдВрд░рдЪрдирд╛ рдиреАрдЪреЗ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рд╣реИ)

TestCase рдирд┐рд░реНрдорд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реАрдзреЗ рдЪрд▓рддреА рд╣реИ

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдСрдкрд░реЗрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо (рдореБрдЦреНрдп рддрд░реНрдХ)


TestCase рдПрдХреНрд╢рди рд╕рдВрд╕реНрдерд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдИрд╡реЗрдВрдЯ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИред

testcase
-> рд╕реВрдЪреА {рдХреНрд░рд┐рдпрд╛}
-> рд╕реВрдЪреА {рдШрдЯрдирд╛}

рдЬрдм TestCase рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ (рдкреНрд░рддреНрдпреЗрдХ рдХреНрд░рд┐рдпрд╛ рддрд╛рд░реНрдХрд┐рдХ рдкрд░рд┐рдгрд╛рдо рджреЗрддреА рд╣реИ)

рдЬрдм рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рд░рдВрдн рд╣реЛрддреА рд╣реИ, рддреЛ рдИрд╡реЗрдВрдЯ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рд╛рд░рдВрдн рд╣реЛрддрд╛ рд╣реИ (рдкреНрд░рддреНрдпреЗрдХ рдИрд╡реЗрдВрдЯ рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ)

рдкреНрд░рддреНрдпреЗрдХ рдИрд╡реЗрдВрдЯ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред

рддрджрдиреБрд╕рд╛рд░, рдкрд░реАрдХреНрд╖рдг рдпрд╛ рддреЛ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдЬрдм рд╕рднреА рдХреНрд░рд┐рдпрд╛рдПрдВ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░реА рд╣реЛ рдЧрдИ рдереАрдВ, рдпрд╛ рдпрджрд┐ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдЭреВрдареА рдереАред

* рдХреНрд░реИрд╢ рдореИрдХреЗрдирд┐рдЬреНрдо

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

рдЖрд╡реЗрджрди рдХреЗ рдЕрдВрдд рдореЗрдВ, рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рддреИрдпрд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕реЗ "\ рд░рд┐рдкреЛрд░реНрдЯ" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ "\ Report \ ErrorScreens" рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЯреЗрд╕реНрдЯрд╕реБрдЗрдЯ рднрд░рдирд╛


рддреЛ, рдкрд░реАрдХреНрд╖рдг рдХрд╛ рд╡рд░реНрдгрдиред рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдореБрдЦреНрдп рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдирд╛рдо рд╣реИред рдпрд╣ рдирд╛рдо "/ TestSuite / TestCase" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред рд╕рднреА рдкрд░реАрдХреНрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИрдВред рдЙрдирдХреА рдХреЛрдИ рднреА рд╕рдВрдЦреНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдХрд╛ рдирд╛рдо рдлрд╝рд╛рдЗрд▓ рдХреЗ рдирд╛рдо рд╕реЗ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрджрд░ "testCaseName" рдЯреИрдЧ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

TestCase рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ - рдЕрд░реНрдерд╛рдд рдХрд╛рд░реНрд░рд╡рд╛рдИред рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ "/ TestSuite / WebPackage" xml рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рднреА рд▓реЛрдХреЗрдЯрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╛рдиреА рд╕рднреА рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдкрд░рдВрдкрд░рд╛рдУрдВ рдореЗрдВ - рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡реЗрдм рдкреНрд░рдкрддреНрд░ рд▓реЛрдХреЗрдЯрд░ рдЕрд▓рдЧ рд╕реЗред

TestCase рднреА WebPackage рдирд╛рдо рдХреЛ "webPackageName" рдЯреИрдЧ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред

рдХреБрд▓ рддрд╕реНрд╡реАрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИред рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдкрд╛рд╕ 2 xml рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП: TestCase рдФрд░ WebPackageред рд╡реЗ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдмрдирд╛рддреЗ рд╣реИрдВред WebPackage рд╕реНрд╡рддрдВрддреНрд░ рд╣реИ - рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ "WebPackageName" рдЯреИрдЧ рдореЗрдВ рдирд╛рдо рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдпрд╣рд╛рдВ рдкрд╣рд▓рд╛ рдирд┐рдпрдо рд╣реИ - рдЯреЗрд╕реНрдЯрдХреЗрд╕ рдФрд░ рд╡реЗрдмрдкреИрдХреЗрдЬ рдирд╛рдо рдЕрджреНрд╡рд┐рддреАрдп рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдпрд╛рдиреА рдПрдХ рдмрд╛рд░ рдлрд┐рд░ - рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдорд╛рд░рд╛ рдкрд░реАрдХреНрд╖рдг TestCase рдФрд░ WepPackage рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИ, рдЬреЛ WebPackage рдирд╛рдо рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВ, рдЬреЛ TestCase рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдореИрдВ рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдореИрдВ рдЕрдкрдиреЗ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЛ рдПрдХ рд╡реЗрдмрдкреЗрдЬ рдкрд░ рднреЗрдЬрддрд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рд╕рднреА рд░реВрдкреЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдгреЛрдВ рдХрд╛ рдвреЗрд░ рд╣реЛрддрд╛ рд╣реИред

рддрд╛рд░реНрдХрд┐рдХ рдЕрдкрдШрдЯрди рдХреА рдЕрдЧрд▓реА рдкрд░рдд рдкреГрд╖реНрда рдСрдмреНрдЬреЗрдХреНрдЯ рдЬреИрд╕реЗ рдкреИрдЯрд░реНрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддреА рд╣реИред

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

рддрд░реНрдХ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдкреГрдердХреНрдХрд░рдг

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

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

рдЕрдЧрд▓рд╛, рдореИрдВ рд╡реЗрдмрдкреИрдХреЗрдЬ рдФрд░ рдЯреЗрд╕реНрдЯрдХреИрд╕реЗ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рдЙрдирдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ WebPackage рдХреЗ рд▓рд┐рдП DTD рд╕реНрдХреАрдорд╛ рдФрд░ TestCase рдХреЗ рд▓рд┐рдП XSD 1.1 рдмрдирд╛рдпрд╛ред

! рдорд╣рддреНрд╡рдкреВрд░реНрдг


рдбреАрдЯреАрдбреА рдФрд░ рдПрдХреНрд╕рдПрд╕рдбреА рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рд╕реЗ, рддреНрд╡рд░рд┐рдд рдкрд░реАрдХреНрд╖рдг рд▓реЗрдЦрди рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

WebPackage рдФрд░ TestCase рдХреЛ рд╕реАрдзреЗ рд▓рд┐рдЦрддреЗ рд╕рдордп, рдЖрдкрдХреЛ xml рд╕рдВрдкрд╛рджрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ DTD рдФрд░ XSD рд╕рддреНрдпрд╛рдкрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдСрдЯреЛ-рдЯреИрдЧ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рд╛рде рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рд╕реЗ рдСрдЯреЛ рдЯреЗрд╕реНрдЯ рд▓рд┐рдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛рдлреА рд╣рдж рддрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣реЛ рдЬрд╛рдПрдЧреА (рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЯреИрдЧ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ, рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдЧреАред рд╕рдВрднрд╛рд╡рд┐рдд рдорд╛рди, рдШрдЯрдирд╛ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдВрдмрдВрдзрд┐рдд рдЯреИрдЧ рдЙрддреНрдкрдиреНрди рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ) ред

рдЬрдм рдЗрди рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ "рдЦрд░рд╛рдм" рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк xml рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреА рд╢реБрджреНрдзрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдпрджрд┐ рдЖрдк рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдореЗрд░реА рдкрд╕рдВрдж oXygen XLM рдПрдбрд┐рдЯрд░ рдкрд░ рдЧрд┐рд░реАред рдПрдХ рдмрд╛рд░ рдлрд┐рд░ - рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛, рдЖрдк рд▓реЗрдЦрди рдЧрддрд┐ рдХрд╛ рд╕рд╛рд░ рдирд╣реАрдВ рд╕рдордЭреЗрдВрдЧреЗред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдЗрдбрд┐рдпрд╛ рдмрд╣реБрдд рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред рдпрд╣ XSD 1.1 "рд╡реИрдХрд▓реНрдкрд┐рдХ" рдирд┐рд░реНрдорд╛рдг рдХреЛ рдирд╣реАрдВ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ, рдЬреЛ рдЯреЗрд╕реНрдЯрдХреЗрд╕ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

WebPackage


WebPackaege - рдПрдХ xml рдлрд╝рд╛рдЗрд▓ рдЬреЛ рд╡реЗрдм рд░реВрдкреЛрдВ рдХреЗ рддрддреНрд╡реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИ, рдЬреЛ "\ TestSuite \ WebPackage" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИред (рдЖрдкрдХреА рдЬрд┐рддрдиреА рдЪрд╛рд╣реЗрдВ рдЙрддрдиреА рдлрд╛рдЗрд▓реЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдирд╛рдо рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рдХреЗрд╡рд▓ рд╕рд╛рдордЧреНрд░реА рдорд╛рдпрдиреЗ рд░рдЦрддреА рд╣реИ)ред

DTD (рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд):
<!DOCTYPE webPackage [ <!ELEMENT webPackage (webPackageName, forms)> <!ELEMENT webPackageName (#PCDATA)> <!ELEMENT forms (form+)> <!ELEMENT form (formName, elements+)> <!ELEMENT formName (#PCDATA)> <!ELEMENT elements (element+)> <!ELEMENT element (name, locator)> <!ATTLIST element type (0|1|2|3|4|5|6|7) #REQUIRED> <!ATTLIST element alwaysVisible (0|1) #IMPLIED> <!ELEMENT name (#PCDATA)> <!ELEMENT locator (#PCDATA)> <!ATTLIST locator type (1|2) #IMPLIED> ]> 


рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рд▓рдЧрднрдЧ рджрд┐рдЦрддрд╛ рд╣реИ
 <webPackage> <webPackageName>_</webPackageName> <forms> <form> <formName>______</formName> <elements> <element type="2" alwaysVisible="1"> <name>_</name> <locator type="2">.//div/form/div/div/form/table/tbody/tr/td[text()=""]/following-sibling::td/input</locator> </element> <element type="2"> <name>__</name> <locator>.//div/form/div/div/form/table/tbody/tr/td[text()=""]/following-sibling::td/input</locator> </element> ....... </elements> </form> ....... </forms> </webPackage> 


рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддрд╛рдХрд┐ рддрддреНрд╡ рдвреЗрд░ рдореЗрдВ рди рд╣реЛрдВ - рд╡реЗрдм рд░реВрдкреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдм рдХреБрдЫ рд╡рд┐рдШрдЯрд┐рдд рд╣реЛ рдЧрдпрд╛ рд╣реИ

рдХреБрдВрдЬреА рдЗрдХрд╛рдИ рд╣реИ
 <element> 

рддрддреНрд╡ рдЯреИрдЧ рдореЗрдВ 2 рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╣реИрдВ:

  • рдЯрд╛рдЗрдк
  • alwaysVisible

рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдФрд░ рддрддреНрд╡ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореЗрдВ, рдмрд╛рдЗрдЯ рдкреНрд░рдХрд╛рд░ рд╕реЗрдЯ рдХрд░реЗрдВ

рдлрд┐рд▓рд╣рд╛рд▓, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдордВрдЪ рдореЗрдВ рдЦреБрдж рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ:

тАв 0 - рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЕрд░реНрде рдирд╣реАрдВ рд╣реИ, рдЖрдорддреМрд░ рдкрд░ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╢рд┐рд▓рд╛рд▓реЗрдЦ
тАв 1 - рдмрдЯрди (рдмрдЯрди)
тАв 2 - рдЗрдирдкреБрдЯ рдХреНрд╖реЗрддреНрд░
тАв 3 - рдЪреЗрдХрдмреЙрдХреНрд╕ (рдЪреЗрдХрдмреЙрдХреНрд╕)
тАв 4 - рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА (рдЪрдпрди) - рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрдЧрд╣ рдЫреЛрдбрд╝ рджреА рдЧрдИ
тАв 5 - srm рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП: рдирд╛рдо рд▓рд┐рдЦреЗрдВ, рдорд╛рди рдкреНрд░рдХрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ - рд╡рд┐рд╢рд┐рд╖реНрдЯ xpath рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЪрдпрди рдХрд░реЗрдВ - рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрд╛рд░
тАв 6 - srm select - рдЦреЛрдЬ, рдЖрджрд┐ рдЬреИрд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред - рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХрд░реЗрдВ

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

рд╕рдВрднрд╛рд╡рд┐рдд рдореВрд▓реНрдп:

  • 0 - рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ (рдпрд╛ рдпрджрд┐ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ) - рддрддреНрд╡ рдкреГрд╖реНрда рдкрд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдорд╛рдиреНрдп рди рдХрд░реЗрдВ)
  • 1 - рддрддреНрд╡ рд╣рдореЗрд╢рд╛ рдкреГрд╖реНрда рдкрд░ рдореМрдЬреВрдж рд╣реЛрддрд╛ рд╣реИ

рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреНрд░рдХрд╛рд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рд▓реЛрдХреЗрдЯрд░ рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ

рд╕рдВрднрд╛рд╡рд┐рдд рдореВрд▓реНрдп:

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

testcase


TestCase - xml рдлрд╝рд╛рдЗрд▓ рдЬреЛ рд╕реАрдзреЗ рдкрд░реАрдХреНрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИ, "\ TestSuite \ TestCase" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ (рдЖрдкрдХреА рдЬрд┐рддрдиреА рдЪрд╛рд╣реЗрдВ рдЙрддрдиреА рдлрд╛рдЗрд▓реЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдирд╛рдо рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рдХреЗрд╡рд▓ рд╕рд╛рдордЧреНрд░реА рдорд╛рдпрдиреЗ рд░рдЦрддреА рд╣реИ)ред

XSD рд╕рд░реНрдХрд┐рдЯ:
 <xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.1"> <xs:element name="testCase"> <xs:complexType> <xs:sequence> <xs:element name="testCaseName" type="xs:string"/> <xs:element name="webPackageName" type="xs:string"/> <xs:element name="actions" type="actionsType"/> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="actionsType"> <xs:sequence> <xs:element name="action" type="actionType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="actionType"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="orderNumber" type="xs:positiveInteger"/> <xs:element name="runConfiguration" type="runConfigurationType"/> </xs:sequence> </xs:complexType> <xs:complexType name="runConfigurationType"> <xs:sequence> <xs:element name="formName" type="xs:string"/> <xs:element name="repeatsOnError" type="xs:positiveInteger" minOccurs="0"/> <xs:element name="events" type="eventsType"/> <xs:element name="exceptionBlock" type="eventsType" minOccurs="0"/> </xs:sequence> <xs:attribute name="openValidation" use="required"> <xs:simpleType> <xs:restriction base="xs:byte"> <xs:enumeration value="1"/> <xs:enumeration value="0"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="closeValidation" use="required"> <xs:simpleType> <xs:restriction base="xs:byte"> <xs:enumeration value="1"/> <xs:enumeration value="0"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> <xs:complexType name="eventBaseType"> <xs:sequence> <xs:element name="orderNumber" type="xs:positiveInteger"/> </xs:sequence> <xs:attribute name="type" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="goToURL"/> <xs:enumeration value="checkElementsVisibility"/> <xs:enumeration value="checkElementsInVisibility"/> <xs:enumeration value="fillingFields"/> <xs:enumeration value="clickElement"/> <xs:enumeration value="dbUpdate"/> <xs:enumeration value="wait"/> <xs:enumeration value="scrollDown"/> <xs:enumeration value="userInput"/> <xs:enumeration value="checkInputValues"/> <xs:enumeration value="checkQueryResultWithUtilityValue"/> <xs:enumeration value="checkFieldsPresenceByQueryResult"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="invertResult" use="optional" default="0"> <xs:simpleType> <xs:restriction base="xs:byte"> <xs:enumeration value="1"/> <xs:enumeration value="0"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="hasExceptionBlock" use="optional" default="0"> <xs:simpleType> <xs:restriction base="xs:byte"> <xs:enumeration value="1"/> <xs:enumeration value="0"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> <xs:complexType name="eventsType"> <xs:sequence> <xs:element name="event" type="eventBaseType" maxOccurs="unbounded"> <xs:alternative test="@type='goToURL'" type="eventGoToURL"/> <xs:alternative test="@type='checkElementsVisibility'" type="eventCheckElementsVisibility"/> <xs:alternative test="@type='checkElementsInVisibility'" type="eventCheckElementsVisibility"/> <xs:alternative test="@type='fillingFields'" type="eventFillingFields"/> <xs:alternative test="@type='checkInputValues'" type="eventFillingFields"/> <xs:alternative test="@type='clickElement'" type="eventClickElement"/> <xs:alternative test="@TYPE='dbUpdate'" type="eventRequest"/> <xs:alternative test="@type='wait'" type="utilityValueInteger"/> <xs:alternative test="@type='scrollDown'" type="eventClickElement"/> <xs:alternative test="@type='userInput'" type="eventClickElement"/> <xs:alternative test="@type='checkQueryResultWithUtilityValue'" type="eventRequestWithValue"/> <xs:alternative test="@type='checkFieldsPresenceByQueryResult'" type="eventRequestWithValue"/> </xs:element> </xs:sequence> </xs:complexType> <!--   EVENTS --> <xs:complexType name="eventGoToURL"> <xs:complexContent> <xs:extension base="eventBaseType"> <xs:sequence> <xs:element name="url" type="xs:anyURI"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="eventCheckElementsVisibility"> <xs:complexContent> <xs:extension base="eventBaseType"> <xs:sequence> <xs:element name="fields" type="fieldType"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="eventFillingFields"> <xs:complexContent> <xs:extension base="eventBaseType"> <xs:sequence> <xs:element name="fields" type="fieldTypeWithValue"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="eventClickElement"> <xs:complexContent> <xs:extension base="eventBaseType"> <xs:sequence> <xs:element name="elementName" type="xs:string"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="eventRequest"> <xs:complexContent> <xs:extension base="eventBaseType"> <xs:sequence> <xs:element name="dbRequest" type="xs:string"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="utilityValueInteger"> <xs:complexContent> <xs:extension base="eventBaseType"> <xs:sequence> <xs:element name="utilityValue" type="xs:positiveInteger"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="eventRequestWithValue"> <xs:complexContent> <xs:extension base="eventBaseType"> <xs:sequence> <xs:element name="dbRequest" type="xs:string"/> <xs:element name="utilityValue" type="xs:string"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <!--   EVENTS --> <xs:complexType name="fieldType"> <xs:sequence> <xs:element name="field" maxOccurs="unbounded"> <xs:complexType> <xs:choice> <xs:element name="element" type="xs:string"/> <xs:element name="xpath" type="xs:string"/> </xs:choice> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="fieldTypeWithValue"> <xs:sequence> <xs:element name="field" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="element" type="xs:string"/> <xs:element name="value" type="valueType"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="valueType"> <xs:complexContent> <xs:extension base="xs:anyType"> <xs:attribute name="type" use="optional" default="1"> <xs:simpleType> <xs:restriction base="xs:byte"> <xs:enumeration value="1"/> <xs:enumeration value="2"/> <xs:enumeration value="3"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> 


рд╕рд╛рдорд╛рдиреНрдп рджреГрд╢реНрдп:
 <!DOCTYPE testCase SYSTEM "./TestSuite/TestCase/entities.dtd" []> <testCase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="testShema.xsd"> <testCaseName>__testCase</testCaseName> <webPackageName>_webPackage__webPackageName</webPackageName> <actions> <action> <name>          </name> <orderNumber>10</orderNumber> <runConfiguration openValidation="1" closeValidation="1"> <formName>______</formName> <events> <event type="goToURL"> <orderNumber>10</orderNumber> <url>&srmURL;</url> </event> ....... </events> </runConfiguration> </action> ....... </actions> </testCase> 


рдЗрд╕ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ xsd рд╕реНрдХреАрдо рдХреЛ рдХреИрд╕реЗ рддреЗрдЬ рдХрд┐рдпрд╛ рдЬрд╛рдП рддрд╛рдХрд┐ XML рдПрдбрд┐рдЯрд░ рдЗрд╕реЗ рджреЗрдЦ рд╕рдХреЗ:

 <testCase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="testShema.xsd"> 

TestCase рдореЗрдВ, рдореИрдВ DTD рд╕рдВрд╕реНрдерд╛рдУрдВ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдПрдХ рд╣реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЕрд▓рдЧ рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИрдВ - рдПрдХреНрд╕рдЯреЗрдВрд╢рди .dtd рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ред рдЗрд╕рдореЗрдВ, рдореИрдВ рд▓рдЧрднрдЧ рд╕рднреА рдбреЗрдЯрд╛ - рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рддрд░реНрдХ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдХрд┐ рдПрдХ рдирдпрд╛ рдкрд░реАрдХреНрд╖рдг рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдкреВрд░реЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди, рдирдИ рдЕрдиреВрдареА рдЗрдХрд╛рдЗрдпрд╛рдБ рдмрдирд╛рдИ рдЧрдИрдВ, рдПрдХ рдирдпрд╛ рдЕрдВрддрд░рд┐рдХреНрд╖ рдпрд╛рди рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЗрд╕ рдлрд╛рдЗрд▓ рдореЗрдВ 1 рдЕрдВрдХ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛ред

рдЗрд╕рдХреА рд╕рдВрд░рдЪрдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ - рдореИрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛:
 <?xml version="1.0" encoding="UTF-8"?> <!ENTITY mainNumber '040'> <!ENTITY mail '@mail.ru'> <!ENTITY srmURL 'https://srm-test.ru'> 


рдРрд╕реЗ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЛ рдЯреИрдЧ рдореВрд▓реНрдп рдореЗрдВ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ:

 <url>&srmURL;</url> 

- рд╕рдВрдпреБрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

! рд╕рд┐рдлрд╛рд░рд┐рд╢ - рдЬрдм рдЯреЗрд╕реНрдЯрдХреЗрд╕ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдЕрдВрджрд░ рдЗрди рдбреАрдЯреАрдбреА рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рд╕рдмрдХреБрдЫ рдХреЗ рдмрд╛рдж рднреА, рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдореЗрд░реЗ xml рд╕рдВрдкрд╛рджрдХ рдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрдард┐рдирд╛рдЗрдпрд╛рдБ рд╣реИрдВ - рдпрд╣ DTD рдирд╣реАрдВ рдвреВрдБрдв рд╕рдХрддрд╛ рд╣реИ рдФрд░ XSD рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдБ

testcase

testCase - рд╕рдмрд╕реЗ рдореВрд▓ рдЯреИрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  • testCaseName - рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдХрд╛ рдирд╛рдо, рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдирдкреБрдЯ рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
  • webPackageName - WebPackage рдХрд╛ рдирд╛рдо, рдЬреЛ WebPackageName рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ (WebPackage рдкрд░ рдКрдкрд░ рдкреИрд░рд╛ рджреЗрдЦреЗрдВ)
  • рдХреНрд░рд┐рдпрд╛ - рдПрдХреНрд╢рди рдПрдВрдЯрд┐рдЯреА рдХрдВрдЯреЗрдирд░

рдХрд╛рд░реНрдп

рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

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

runConfiguration

рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  • OpenValidation рд╡рд┐рд╢реЗрд╖рддрд╛ - рд╡реИрдХрд▓реНрдкрд┐рдХ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ "0" рд╣реИ
    • 0 - рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдлреЙрд░реНрдо рд╕рддреНрдпрд╛рдкрди рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рди рдХрд░реЗрдВ
    • 1 - рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреНрд░рдкрддреНрд░ рд╕рддреНрдпрд╛рдкрди
  • рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд┐рдХрдЯрддрд╛ - рд╡реИрдХрд▓реНрдкрд┐рдХ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ "0" рд╣реИ
    • 0 - рдЕрдВрддрд┐рдо рд░реВрдк рд╕рддреНрдпрд╛рдкрди рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рди рдХрд░реЗрдВ
    • 1 - рдЕрдВрддрд┐рдо рд░реВрдк рд╕рддреНрдпрд╛рдкрди
  • formName - рдкреНрд░рдкрддреНрд░ рдХрд╛ рдирд╛рдо рдЬрд┐рд╕рдХреЗ рднреАрддрд░ рдХреНрд░рд┐рдпрд╛рдПрдБ рдХреА рдЬрд╛рдПрдВрдЧреА - WebPackage рд╕реЗ рдлрд╝реЙрд░реНрдордирд╛рдо рдорд╛рди
  • repeatsOnError - рд╡реИрдХрд▓реНрдкрд┐рдХ, рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд┐рддрдиреЗ рджреЛрд╣рд░рд╛рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП
  • рдШрдЯрдирд╛рдУрдВ - рдШрдЯрдирд╛ рдЗрдХрд╛рдИ рдХрдВрдЯреЗрдирд░
  • рдЕрдкрд╡рд╛рджрдмреНрд▓реЙрдХ - рд╡реИрдХрд▓реНрдкрд┐рдХ - рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдШрдЯрдирд╛ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХрд╛ рдПрдХ рдХрдВрдЯреЗрдирд░

рдШрдЯрдирд╛

рдиреНрдпреВрдирддрдо рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдЗрдХрд╛рдИ - рдпрд╣ рдЗрдХрд╛рдИ рджрд░реНрд╢рд╛рддреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрд╛рд░реНрдп рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ

рдкреНрд░рддреНрдпреЗрдХ рдИрд╡реЗрдВрдЯ рд╡рд┐рд╢реЗрд╖ рд╣реИ, рдЗрд╕рдореЗрдВ рдЕрджреНрд╡рд┐рддреАрдп рдЯреИрдЧ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред

рдЖрдзрд╛рд░ рдкреНрд░рдХрд╛рд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  • рдкреНрд░рдХрд╛рд░ рд╡рд┐рд╢реЗрд╖рддрд╛ - рддрддреНрд╡ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ
  • hasExceptionBlock рд╡рд┐рд╢реЗрд╖рддрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ "0" рд╡рд┐рдлрд▓рддрд╛ рддрдВрддреНрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ - рд╡рд┐рд╢реЗрд╖рддрд╛ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рдШрдЯрдирд╛ рдкрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
    • 0 - рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рд╣реИ
    • 1 - рдХрд╛рд░реНрд░рд╡рд╛рдИ рдкрд░ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐ рдХреА рдЙрдореНрдореАрдж рд╣реИ
  • рд╡рд┐рд╢реЗрд╖рддрд╛ invertResult - рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡рд┐рд╢реЗрд╖рддрд╛, "0" рдХреЗ рд▓рд┐рдП рдЪреВрдХ - рд╡рд┐рд╢реЗрд╖рддрд╛ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдШрдЯрдирд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдмрджрд▓рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ
    • 0 - рдШрдЯрдирд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ
    • 1 - рдШрдЯрдирд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд╡рд┐рдкрд░реАрдд рдореЗрдВ рдмрджрд▓реЗрдВ

*! рдЕрдкреЗрдХреНрд╖рд┐рдд рддреНрд░реБрдЯрд┐ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░
рдореИрдВ рдЖрдкрдХреЛ рдПрдХ рддреБрдЪреНрдЫ рдЙрджрд╛рд╣рд░рдг рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрд╣рд▓реА рдмрд╛рд░ рдХрд╣рд╛рдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рдореЗрд░реЗ рд╕рдВрджрд░реНрдн рд╕реЗ рдЙрджрд╛рд╣рд░рдгред

рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдХреИрд╕реЗ рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛:

 <event type="checkElementsInVisibility" hasExceptionBlock="1"> <orderNumber>57</orderNumber> <fields> <field> <element>___</element> </field> </fields> </event> 

рдФрд░ рдпрд╣рд╛рдБ рдЕрдкрд╡рд╛рдж рдШрдЯрдирд╛рдУрдВ рдХреЗ рдмрд╛рдж

  <exceptionBlock> <event type="clickElement"> <orderNumber>10</orderNumber> <elementName>_____</elementName> </event> </exceptionBlock> 

рдФрд░ рд╣рд╛рдБ, рдПрдХ рдкреГрд╖реНрда рдкрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╡рд┐рдШрдЯрд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИред

+ рдЬреЛ рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ 2 рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рджреЗрдЦрд╛: defaultTimeOutsForWebDriverWait, lowTimeOutsForWebDriverWaitред рдЗрд╕рд▓рд┐рдП рд╡реЗ рд╣реИрдВред рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд┐рдВрдЧрд▓рдЯрди рдореЗрдВ рдкреВрд░рд╛ рд╡реЗрдм рдбреНрд░рд╛рдЗрд╡рд░ рд╣реИ, рдФрд░ рдореИрдВ рд╣рд░ рдмрд╛рд░ рдПрдХ рдирдпрд╛ WebDriverWait рдирд╣реАрдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рддреЛ рдореЗрд░реЗ рдкрд╛рд╕ 1 рдЙрдкрд╡рд╛рд╕ рд╣реИ рдФрд░ рдпрд╣ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣реИ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛ рдпрджрд┐ рдЖрдкрдиреЗ рд╕рд┐рд░реНрдл hasExceptionBit = "1" рд░рдЦрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХрдо рд╕рдордп рдХреЗ рд╕рд╛рде рдмреЗрд╡рдХреВрдл рд╣реЛрдЧрд╛ред рд╕реНрдкрд╖реНрдЯ рдкреНрд░рддреАрдХреНрд╖рд╛) - рдареАрдХ рд╣реИ, рдЖрдкрдХреЛ рд╕рд╣рдордд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд┐рдирдЯ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ рдХрд┐ рд╕рдВрджреЗрд╢ рдХрдорд▓ рдЖрдИрд▓ рдлреВрдЯ рдирд╣реАрдВ рдЖрдпрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╣рд░ рдмрд╛рд░ рдПрдХ рдирдпрд╛ рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдмрдирд╛рдПрдВред рдЦреИрд░, рдпрд╣ рд╕реНрдерд┐рддрд┐ рдЬрд┐рд╕ рддрд░рдл рдЫрдбрд╝реА рдирд╣реАрдВ рдХрд░рддреА рд╣реИ рдЙрд╕реЗ рдПрдХ рдмреИрд╕рд╛рдЦреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ - рдореИрдВрдиреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рдШрдЯрдирд╛ рдкреНрд░рдХрд╛рд░


рдпрд╣рд╛рдВ рдореИрдВ рдЕрдкрдиреА рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдПрдХ рдиреНрдпреВрдирддрдо рд╕реЗрдЯ рджреВрдВрдЧрд╛, рдЬреИрд╕реЗ рд╕реНрдХрд╛рдЙрдЯ рд╕реЗрдЯ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдореИрдВ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд▓рдЧрднрдЧ рд╕рдм рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

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

 package logic.selenium; import models.ElementWithStringValue; import models.webpackage.Element; import org.openqa.selenium.WebElement; public interface SeleniumService { void initialization(boolean webDriverWait); void nacigateTo(String url); void refreshPage(); boolean checkElementNotPresent(Element element); WebElement findSingleVisibleElement(Element element); WebElement findSingleElementInDOM(Element element); void enterSingleValuesToWebField(ElementWithStringValue element); void click(Element element); String getInputValue(Element element); Object jsReturnsValue(String jsFunction); //Actions actions void doubleClick(Element element); void moveMouseToElement(Element element); void pressKey(CharSequence charSequence); void getScreenShot(String storage); } 

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

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

рддреЛ, рдПрдХ рд╕реНрдХрд╛рдЙрдЯ рд╕реЗрдЯред

goToURL - рдЖрдорддреМрд░ рдкрд░ рдкрд╣рд▓реА рдХрд╛рд░реНрд░рд╡рд╛рдИ - рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ

рдПрдХ рдЙрджрд╛рд╣рд░рдг:
 <event type="goToURL"> <orderNumber>10</orderNumber> <url>testURL</url> </event> 


fillFields - рдирд┐рд░реНрджрд┐рд╖реНрдЯ рддрддреНрд╡реЛрдВ рдХреЛ рднрд░рдирд╛

рд╡рд┐рд╢реЗрд╖ рдЯреИрдЧ:

  • рдлрд╝реАрд▓реНрдб - рдЗрдХрд╛рдИ рдХрдВрдЯреЗрдирд░ рдлрд╝реАрд▓реНрдб
    • рдлрд╝реАрд▓реНрдб - рдореЗрдВ рддрддреНрд╡ рдЯреИрдЧ рд╣реИ
      • рддрддреНрд╡ - рд╡реЗрдмрдкреИрдХ рд╕реЗ рддрддреНрд╡ рдХреЗ рдирд╛рдо рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ
      • рдореВрд▓реНрдп - рдХреНрдпрд╛ рдорд╛рди рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреНрд░рдХрд╛рд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ (рдпрджрд┐ рддрддреНрд╡ рдПрдХ рдЪреЗрдХрдмреЙрдХреНрд╕ рд╣реИ, рддреЛ рдПрдХ рдорд╛рди рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: "рдЪреЗрдХ" рдпрд╛ "рдЕрдирдЪреЗрдХ")

  • рдкреНрд░рдХрд╛рд░ рд╡рд┐рд╢реЗрд╖рддрд╛ - рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдореВрд▓реНрдп рдХреИрд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рдП, рд╡реИрдХрд▓реНрдкрд┐рдХ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди "1" рд╣реИ
    • 1 - рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдореВрд▓реНрдп рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
    • 2 - рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, "\ TestSuite \ JS" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ JS рдлрд╝рдВрдХреНрд╢рди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ! рдорд╣рддреНрд╡рдкреВрд░реНрдг - txt рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо ".txt" рдХреЗ рдмрд┐рдирд╛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, (рдФрд░ рдЕрдм рддрдХ рдореБрдЭреЗ рдХреЗрд╡рд▓ рдЗрд╕ рд░реВрдк рдореЗрдВ js рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдорд┐рд▓реЗ рд╣реИрдВ - рдореИрдВ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рд░рд╛рдп рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрдЧрд╣ рдкрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╕рдВрднрд╛рд╡рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рд╡реНрдпрд╛рдкрдХ рд╣реИ)
    • 3 - рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреНрд╡реЗрд░реА рдХреЛ рдореВрд▓реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЗрд╕ рдХреНрд╡реЗрд░реА рдХреЗ рдкрд╣рд▓реЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ

рдПрдХ рдЙрджрд╛рд╣рд░рдг:
 <event type="fillingFields"> <orderNumber>10</orderNumber> <fields> <field> <element>test</element> <value>test</value> </field> </fields> </event> 


checkElementsVisibility - рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рддрддреНрд╡ рдлреЙрд░реНрдо рдкрд░ рдореМрдЬреВрдж рд╣реИрдВ (рдЕрд░реНрдерд╛рддреН, рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рдХреЗрд╡рд▓ DOM рдореЗрдВ рдирд╣реАрдВ)ред рдлрд╝реАрд▓реНрдб рд╡рд┐рд╢реЗрд╖рддрд╛ рдореЗрдВ, WebPackage рдпрд╛ рд╕реАрдзреЗ xpath рд╕реЗ рдПрдХ рддрддреНрд╡ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

рдПрдХ рдЙрджрд╛рд╣рд░рдг:
 <event type="checkElementsVisibility"> <orderNumber>10</orderNumber> <fields> <field> <element>test</element> </field> <field> <xpath>test</xpath> </field> </fields> </event> 


checkElementsInVisibility - CheckElementsVisibility рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд

clickElement - рдирд┐рд░реНрджрд┐рд╖реНрдЯ рддрддреНрд╡ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ

рдПрдХ рдЙрджрд╛рд╣рд░рдг:
 <event type="clickElement"> <orderNumber>10</orderNumber> <elementName>test</elementName> </event> 


checkInputValues - рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдорд╛рдиреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ

рдПрдХ рдЙрджрд╛рд╣рд░рдг:
 <event type="checkInputValues"> <orderNumber>10</orderNumber> <fields> <field> <element>test</element> <value>test</value> </field> </fields> </event> 


dbUpdate - рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ ( dbUpdate рдкреНрд░рдХрд╛рд░ рдХреА 1 рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП рдУрдХреНрд╕реАрдЬрди рдЕрдЬреАрдм рддрд░рд╣ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИ - рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреНрдпреЛрдВ )

рдПрдХ рдЙрджрд╛рд╣рд░рдг:
 <event type="dbUpdate"> <orderNumber>10</orderNumber> <dbRequest>update - </dbRequest> </event> 


CheckQueryResultWithUtilityValue - рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рджрд░реНрдЬ рдореВрд▓реНрдп рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ

рдПрдХ рдЙрджрд╛рд╣рд░рдг:
 <event type="checkQueryResultWithUtilityValue"> <orderNumber>10</orderNumber> <dbRequest>select ...</dbRequest> <utilityValue>test</utilityValue> </event> 


checkFieldsPresenceByQueryResult - рдкреИрдЯрд░реНрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ xpath рджреНрд╡рд╛рд░рд╛ рддрддреНрд╡реЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░реЗрдВред рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рдкреИрдЯрд░реНрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЦреЛрдЬ рдкреИрдЯрд░реНрди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдШрдЯрд┐рдд рд╣реЛрдЧреА ред//* [рдкрд╛рда () [(рд╕рд╛рдорд╛рдиреНрдп-рд╕реНрдерд╛рди (ред), "$")]]], рдЬрд╣рд╛рдВ "$" рдХреЗ рдмрдЬрд╛рдп рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдПрдХ рдореВрд▓реНрдп рд╣реЛрдЧрд╛ред рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреИрдЯрд░реНрди рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдЙрд╕ рд╕реНрдерд╛рди рдкрд░ "$" рдХрд╛ рд╕рдВрдХреЗрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд╣рд╛рдВ рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдореВрд▓реНрдп рдбрд╛рд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рддрдерд╛рдХрдерд┐рдд рдЧреНрд░рд┐рдб рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдРрд╕реЗ рдореВрд▓реНрдп рд╣реИрдВ рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдХрд┐рд╕реА рддрд░рд╣ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдмрдирддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреА рдЧреНрд░рд┐рдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдШрдЯрдирд╛

рдПрдХ рдЙрджрд╛рд╣рд░рдг:
 <event type="checkFieldsPresenceByQueryResult"> <orderNumber>10</orderNumber> <dbRequest>test</dbRequest> <utilityValue></utilityValue> </event> 


рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ - рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ - рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рднрд▓реЗ рд╣реА рдпрд╣ рдПрдХ рдмреИрд╕рд╛рдЦреА рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдореИрдВ рдпрдХреАрди рдХреЗ рд▓рд┐рдП рдХрд╣реВрдВрдЧрд╛ - рдХрднреА-рдХрднреА рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ

рдПрдХ рдЙрджрд╛рд╣рд░рдг:
 <event type="wait"> <orderNumber>10</orderNumber> <utilityValue>1000</utilityValue> </event> 


рд╕реНрдХреНрд░реЙрд▓рдбрд╛рдЙрди - рдирд┐рд░реНрджрд┐рд╖реНрдЯ рддрддреНрд╡ рд╕реЗ рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдВред рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рддрддреНрд╡ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реИ рдФрд░ "PgDn" рдХреБрдВрдЬреА рджрдмрд╛рддрд╛ рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рдореБрдЭреЗ рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

рдПрдХ рдЙрджрд╛рд╣рд░рдг:
 <event type="scrollDown"> <orderNumber>10</orderNumber> <elementName>test</elementName> </event> 


userInput - рдирд┐рд░реНрджрд┐рд╖реНрдЯ рддрддреНрд╡ рдореЗрдВ рдПрдХ рдорд╛рди рджрд░реНрдЬ рдХрд░реЗрдВред рдореЗрд░реЗ рд╕реНрд╡рдЪрд╛рд▓рди рдореЗрдВ рдПрдХрдорд╛рддреНрд░ рдЕрд░реНрдзрдЪрд╛рд▓рдХ рдпрдВрддреНрд░, рдХреЗрд╡рд▓ рдХреИрдкреНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореВрд▓реНрдп рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХрд╛ рддрддреНрд╡ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдорд╛рди рдкреЙрдк-рдЕрдк рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдПрдХ рдЙрджрд╛рд╣рд░рдг:
 <event type="userInput"> <orderNumber>10</orderNumber> <elementName>capch_input</elementName> </event> 


рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдЕрдВрдХрд▓ рдмреЙрдм рдХреЗ рдХреНрд▓реАрди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдордВрдЪ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред

рд╕рдВрдХреБрд▓:

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

рд▓реЙрдЬрд┐рдХ - рд╕реЗрд▓реЗрдирд┐рдпрдо рдФрд░ рдбреАрдмреА рдХреЗ рдкреНрд░рдореБрдЦ рддрд░реНрдХ + рд╕реЗрд╡рд╛рдПрдВред рдШрдЯрдирд╛рдПрдБ рд╣реИрдВред

рдореЙрдбрд▓ - XML тАЛтАЛрдореЗрдВ POJO рдФрд░ рд╕рднреА рд╕рд╣рд╛рдпрдХ рд╡рд╕реНрддреБ рд╡рд░реНрдЧ

рдмрд░реНрддрди - рд╕реЗрд▓реЗрдирд┐рдпрдо рдФрд░ рдбреАрдмреА рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЧрд▓рдЯрди

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

рдареАрдХ рд╣реИ, рд╕рдм рдХреБрдЫ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреЗрдбреАрдХреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдУрдЬрдбрдмреЗрдХ рдбреНрд░рд╛рдпрд╡рд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ "рд╕реНрдкреНрд░рд┐рдВрдЯрдСрдЯреЛрд╕реНрдЯреЗрд╕реНрдЯ \ src \ lib" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ dzharnik рдЫреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдореИрдВ рдЗрд╕реЗ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЕрднреА рд╡рд╣рд╛рдВ рдУрд░реЗрдХрд▓ рдкрд░ рд╕рдм рдХреБрдЫ рдЧрдВрднреАрд░ рд╣реИ - рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрдВрдЬреАрдХрд░рдг рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд╣рд░ рдХреЛрдИ рдХрд┐рд╕реА рди рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рд╕рд╛рдордирд╛ рдХрд░реЗрдЧрд╛ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╕рднреА рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдП рдЧрдП рд╣реИрдВ, рдЕрдиреНрдпрдерд╛ рд░рд┐рдкреЛрд░реНрдЯ рд╕рд╣реЗрдЬреА рдирд╣реАрдВ рдЬрд╛рдПрдЧреА)

рд╕рд╛рд░рд╛рдВрд╢


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

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

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

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

  • + тАФ ┬л ┬╗ + тАФ ( тАУ .. -)
  • ( action тАФ event c + )
  • , , тАУ -. , тАУ . , . , тАУ ,
  • рдкреГрд╖реНрда рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд░рд┐рдпрд╛ рдПрдХ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рд╣реИ (рдПрдХрд▓ рдкрд░рд┐рдгрд╛рдо рд╕рд╣реА рдпрд╛ рдЧрд▓рдд рд▓реМрдЯрд╛рддрд╛ рд╣реИ)

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

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

рдореИрдВ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд╣рд╛рде рдЕрднреА рддрдХ рдирд╣реАрдВ рдЖрдП рд╣реИрдВ:

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

рдЦреИрд░, рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдореИрдВ рдПрдХ рд╕рдВрджрд░реНрдн github рд╕рдВрд▓рдЧреНрди рдХрд░рддрд╛ рд╣реВрдВ: рд╕реНрд░реЛрдд рдХреЛрдб ред

рдореБрдЭреЗ рд░рдЪрдирд╛рддреНрдордХ рдЖрд▓реЛрдЪрдирд╛ рд╕реЗ рдмрд╣реБрдд рдЦреБрд╢реА рд╣реЛрдЧреА, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреАред

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


All Articles