рд╣рд╛рдЗрдмреНрд░рд┐рдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рд╕реНрд╡рдд: рдкрд░реАрдХреНрд╖рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

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

рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдмрддрд╛рдКрдВрдЧрд╛:


  • Appium рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдХреИрд╕реЗ рдЪрд▓рд╛рдПрдВ
    (рдкреАрд╕реА рдУрдПрд╕ - рд╡рд┐рдВрдбреЛрдЬ 10)
  • рд╣рд╛рдЗрдмреНрд░рд┐рдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдХреИрд╕реЗ рдмрдЪреЗрдВ
  • рдХреБрдЫ рд╕рд░рд▓ рдЖрджреЗрд╢реЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдмреБрдирд┐рдпрд╛рджреА рдЖрджреЗрд╢ред рд╣рдо рдЬрд╛рд╡рд╛ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ

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


рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣рд╛рдЗрдмреНрд░рд┐рдб рдореЛрдмрд╛рдЗрд▓ рдРрдк рдкрд░реАрдХреНрд╖рдгред

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

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

рдкрд░реНрдпрд╛рд╡рд░рдг рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ


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

рдЖрдк рдбреЗрд╡рд▓рдкрд░ рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдкреВрд░реА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рдбрд┐рд╕реНрдХ рдкрд░ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЬрдЧрд╣ рдореЗрдВ, "рдЕрдкреНрдкрд┐рдпрдо рдСрдЯреЛрдореЗрд╢рди" рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдБред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

C:\Appium automation 

рдЗрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЖрдЧреЗ (C: \ Appium рд╕реНрд╡рдЪрд╛рд▓рди) рдХреБрдЫ рдФрд░ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдБ:
Android рдПрд╕рдбреАрдХреЗC: \ Appium рд╕реНрд╡рдЪрд╛рд▓рди \ Android рдПрд╕рдбреАрдХреЗ
Android рд╕реНрдЯреВрдбрд┐рдпреЛC: \ Appium рд╕реНрд╡рдЪрд╛рд▓рди \ Android рд╕реНрдЯреВрдбрд┐рдпреЛ
APKC: \ Appium рд╕реНрд╡рдЪрд╛рд▓рди \ APK
рдкрд░рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рд╡рд╛рджC: \ Appium рд╕реНрд╡рдЪрд╛рд▓рди \ Appium Lib
рд╕реЗрд▓реЗрдирд┐рдпрдо рд▓рд┐рдмC: \ Appium рд╕реНрд╡рдЪрд╛рд▓рди \ Selenium Lib

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

рдирд┐рд░реНрдорд┐рдд рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдХреЛ рднрд░рдирд╛ рдФрд░ рдЕрдиреНрдп рдШрдЯрдХреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдирд╛


1. рдЬрд╛рд╡рд╛ рдПрд╕рдбреАрдХреЗ


рд▓рд┐рдВрдХ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ рдФрд░ рдбрд╛рдЙрдирд▓реЛрдб рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ:



рдЕрдЧрд▓рд╛, рд╣рдо рд╡рд┐рднрд┐рдиреНрди рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдбрд╛рдЙрдирд▓реЛрдб рдкреЗрдЬ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд┐рдВрдбреЛрдЬ 10 x64 рд╣реИ, рдЪреБрдиреЗрдВ:



рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕реЗ рдЦреЛрд▓реЗрдВ рдФрд░ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ .exe-shnik (рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рджреМрд░рд╛рди рдкрде рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ) рдХреЛ рдЕрдирдкреИрдХ рдХрд░реЗрдВ:

 C:\Program Files\Java\jdk-12.0.1 

(рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рд╕рдордп рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИ)

2. рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдЯреВрдбрд┐рдпреЛ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдПрд╕рдбреАрдХреЗ


рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓рд┐рдВрдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░реЗрдВ ред

рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

 C:\Appium automation\Android Studio 

Android Studio рдХреЗ рдкрд╣рд▓реЗ рд▓реЙрдиреНрдЪ рдХреЗ рджреМрд░рд╛рди, рдЖрдкрдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ :

  • Instal Type рдХрд╕реНрдЯрдо рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдЕрдЧрд▓рд╛ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
  • рдПрдХ рдереАрдо рдЪреБрдиреЗрдВ рдЬрд┐рд╕реЗ рдЖрдк рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рдЕрдЧрд▓рд╛ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
  • Android SDK рд╕реНрдерд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ C: \ Appium рд╕реНрд╡рдЪрд╛рд▓рди \ Android SDK, рдЕрдЧрд▓рд╛ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
  • рдПрдореБрд▓реЗрдЯрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдЕрдиреБрд╢рдВрд╕рд┐рдд рдкрд░ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрдЧрд▓рд╛ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
  • рд╕рдорд╛рдкреНрдд рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд╕реНрдерд╛рдкрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреВрд░реА рд╣реЛрдиреЗ рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред

Android Studio рдореЗрдВ рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдБ:

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

рдПрд╕рдбреАрдХреЗ рдЙрдкрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

Android Studio рдореЗрдВ, Tools - SDK Manager рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред

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



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

  • Android SDK рдмрд┐рд▓реНрдб-рдЯреВрд▓реНрд╕
  • Android рдПрдореБрд▓реЗрдЯрд░
  • Android SDK рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рдЯреВрд▓реНрд╕
  • Android рдПрд╕рдбреАрдХреЗ рдЙрдкрдХрд░рдг
  • Android рдПрд╕рдбреАрдХреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди
  • рд╕рд╣рд╛рдпрдХ рднрдВрдбрд╛рд░

рд▓рд╛рдЧреВ рдХрд░реЗрдВ рдпрд╛ рдареАрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдШрдЯрдХреЛрдВ рдХреЗ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рд╕реНрдерд╛рдкрдирд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред



3. рдкрд╛рде рдЪрд░ рдмрдирд╛рдПрдВ


"рдореЗрд░рд╛ рдХрдВрдкреНрдпреВрдЯрд░" - "рдЧреБрдг" - "рдЙрдиреНрдирдд рд╕рд┐рд╕реНрдЯрдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕" рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
"рдЙрдиреНрдирдд" рдЯреИрдм рдкрд░ рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдВрдбреЛ рдореЗрдВ, "рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ ..." рдЪреБрдиреЗрдВ

"рд╕рд┐рд╕реНрдЯрдо рдЪрд░" рдмреНрд▓реЙрдХ рдореЗрдВ, рдПрдХ рдирдпрд╛ рдЪрд░ рдмрдирд╛рдПрдВред





рдкрд╣рд▓рд╛ рдЪрд░

рдЪрд░ рдирд╛рдо - JAVA_HOME

рдЪрд░ рдХрд╛ рдорд╛рди рд╣реИ

 C:\Program Files\Java\jdk-12.0.1 

(рдкрде рдЬрд╣рд╛рдБ рдЖрдкрдиреЗ jdk рдХреЛ рдЪрд░рдг 1 рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдерд╛, рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдлрд╝рд╛рдЗрд▓реЗрдВ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдлрд╝рд╛рдЗрд▓ (X86) рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛)

рджреВрд╕рд░рд╛ рдЪрд░

рдЪрд░ рдирд╛рдо - ANDROID_HOME

рдЪрд░ рдХрд╛ рдорд╛рди рд╣реИ

 C:\Appium automation\Android SDK 

рдкрде рдЪрд░ рдЬреЛрдбрд╝

рд╕рд┐рд╕реНрдЯрдо рдЪрд░ рдХреА рд╕реВрдЪреА рдореЗрдВ рдкрде рдЪрд░ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ рдФрд░ "рдмрджрд▓реЗрдВ ..." рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред

рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдВрдбреЛ рдореЗрдВ "рдмрдирд╛рдПрдБ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЪрд░ рдЬреЛрдбрд╝реЗрдВ:

  • % ANDROID_HOME% \ emulator
  • % ANDROID_HOME% \ platform-tools
  • % ANDROID_HOME% \ Tools
  • % ANDROID_HOME% \ Tools \ bin

рдирддреАрдЬрддрди, рдЖрдкрдХреЛ 4 рдирдП рдЪрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЖрдкрдХреЛ рдареАрдХ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред



4. рдЕрдкрд┐рдпрдо


Appium рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ:

  • рд╣рдо http://appium.io/ рд▓рд┐рдВрдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ рд╣реИрдВ
  • рдбрд╛рдЙрдирд▓реЛрдб рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
  • рд╣рдо Appium-windows-1.13.0.exe рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ (рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рд╕рдордп рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИ)



рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ .exe рдлрд╝рд╛рдЗрд▓ рдЪрд▓рд╛рдПрдВ рдФрд░ рдЕрдкрдиреЗ рдкреАрд╕реА рдкрд░ Appium рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред рд╕реНрдерд╛рдкрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдпрд╛ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЪреБрдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдореИрдВрдиреЗ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХреЛрдИ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ред

Appium рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛:

  • рд╣рдо рд▓рд┐рдВрдХ http://appium.io/downloads.html рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ рд╣реИрдВ
  • рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рднрд╛рд╖рд╛ рдЪреБрдиреЗрдВ, рдЬрд╛рд╡рд╛
  • рдбрд╛рдЙрдирд▓реЛрдб рдЖрдЗрдХрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ



рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ .jar рдлрд╝рд╛рдЗрд▓ рдХреЛ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдВ

 C:\Appium automation\Appium Lib 

  • рд╣рдо https://mvnrepository.com/artifact/junit/junit рд▓рд┐рдВрдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ рд╣реИрдВ
  • рд╣рдо рдирд╡реАрдирддрдо рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ (рдореЗрд░реЗ рдкрд╛рд╕ 4.12 рд╣реИ)
  • .Jar рдлрд╝рд╛рдЗрд▓ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ



рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ .jar рдлрд╝рд╛рдЗрд▓ рдХреЛ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдБ:

 C:\Appium automation\Appium Lib 


  • рд╣рдо рд▓рд┐рдВрдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ рд╣реИрдВ https://mvnrepository.com/artifact/org.hamcrest/hamcrest-core
  • рдирд╡реАрдирддрдо рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ (рдореИрдВ 1.3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ)
  • .Jar рдлрд╝рд╛рдЗрд▓ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ



рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ .jar рдлрд╝рд╛рдЗрд▓ рдХреЛ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдБ:

 C:\Appium automation\Appium Lib 

рд╕реЗрд▓реЗрдирд┐рдпрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ:

  • рд╣рдо рд▓рд┐рдВрдХ https://www.seleniumhq.org/download рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ рд╣реИрдВ
  • рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рднрд╛рд╖рд╛ рдЪреБрдиреЗрдВ, рдЬрд╛рд╡рд╛
  • рдбрд╛рдЙрдирд▓реЛрдб рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ



рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЕрдирдкреИрдХ рдХрд░реЗрдВ:

 C:\Appium automation\Selenium Lib 

5. рдЗрдВрдЯреЗрд▓реАрдЬ рдЖрдИрдбрд┐рдпрд╛ рдХрдореНрдпреБрдирд┐рдЯреА рдПрдбрд┐рд╢рди


рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ https://www.jetbrains.com/idea/download рдкрд░ рдЬрд╛рдПрдВ
рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдкрд╛рд╕ рдФрд░ рдбрд╛рдЙрдирд▓реЛрдб рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ (рдпрд╣ рдПрдХ рдирд┐: рд╢реБрд▓реНрдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ)ред

рдбрд╛рдЙрдирд▓реЛрдб рдкреГрд╖реНрда рдореЗрдВ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдФрд░ рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рддреБрд▓рдирд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рдЦрд░реАрджрдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ! рд▓реЗрдХрд┐рди, рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред

рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ .exe рдлрд╝рд╛рдЗрд▓ рдЪрд▓рд╛рдПрдВ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ (рдмрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╢реБрд░реВ рд╣реЛрдиреЗ рддрдХ рдЕрдЧрд▓рд╛ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ)

рдкрд╣рд▓рд╛ рдЗрдВрдЯреЗрд▓реАрдЬ рдЖрдИрдбрд┐рдпрд╛ рд▓реЙрдиреНрдЪ

  • "рд╕реЗрдЯрд┐рдВрдЧ рдЖрдпрд╛рдд рди рдХрд░реЗрдВ" рдЪреБрдиреЗрдВ
  • рд╣рдо рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╕рдордЭреМрддреЗ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ
  • рдПрдХ рд╡рд┐рд╖рдп рдЪреБрдиреЗрдВ
  • рдЕрдЧрд▓рд╛ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
  • IntelliJ IDEA рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рд░рдВрдн рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ

IntelliJ IDEA рдореЗрдВ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛

  • рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ
  • рдЬрд╛рд╡рд╛ рдПрд╕рдбреАрдХреЗ рдХреЗ рд▓рд┐рдП рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
    • рдирдпрд╛ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ ...
    • рдкрд╣рд▓реЗ рд╕реЗ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдЬрд╛рд╡рд╛ SDK C: \ Program Files \ Java \ jdk-12.0.1 рдХреЗ рд▓рд┐рдП рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
  • рдЕрдЧрд▓рд╛ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
  • рдмреЙрдХреНрд╕ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ "рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдПрдБ"
  • рдЕрдЧрд▓рд╛ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
  • рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдФрд░ рд╕реНрдерд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
  • рд╕рдорд╛рдкреНрдд рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ

рдмрдирд╛рдИ рдЧрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕

рдлрд╝рд╛рдЗрд▓ рдЪреБрдиреЗрдВ - рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рдВрд░рдЪрдирд╛ ...

рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдВрдбреЛ рдореЗрдВ, рдореЙрдбреНрдпреВрд▓ - рдирд┐рд░реНрднрд░рддрд╛ - "+" рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ - рдЬрд╛рд░ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ ...



рдФрд░ рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд▓реЛрдб рдХрд┐рдП рдЧрдП рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред



рдУрдХреЗ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред

рдЕрдм рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред

6. рдПрдВрдбреНрд░реЙрдпрдб рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗрдЯрдЕрдк


рдЕрд╕рд▓реА рдбрд┐рд╡рд╛рдЗрд╕
рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдХрдВрдкреНрдпреВрдЯрд░ рдФрд░ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рдпреВрдПрд╕рдмреА рдХреЗрдмрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдореЗрдВ "рд╕реЗрдЯрд┐рдВрдЧ" - "рдлреЛрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ" рдкрд░ рдЬрд╛рдПрдВред

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

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

рдЖрдкрдХреЛ "рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП" рдЕрдиреБрднрд╛рдЧ рдкрд░ рдЬрд╛рдиреЗ рдФрд░ "рдпреВрдПрд╕рдмреА рдбрд┐рдмрдЧрд┐рдВрдЧ" рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

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

рд╡рд░реНрдЪреБрдЕрд▓ рдбрд┐рд╡рд╛рдЗрд╕

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

рд▓реЗрдХрд┐рди рдПрдХ рдЖрднрд╛рд╕реА рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░, рдкрд░реАрдХреНрд╖рдг рдЕрд╕рд▓реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, Android Studio рдЦреЛрд▓реЗрдВ, рдлрд┐рд░:

  • "рдЙрдкрдХрд░рдг" - "AVD рдкреНрд░рдмрдВрдзрдХ" - "+ рд╡рд░реНрдЪреБрдЕрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдмрдирд╛рдПрдВ ..."
  • рдПрдХ рдЙрдкрдХрд░рдг рдЪреБрдиреЗрдВ, рдЕрдЧрд▓рд╛ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
  • Android рдХрд╛ рд╡рд╛рдВрдЫрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдЪреБрдиреЗрдВ, рдЕрдЧрд▓рд╛ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
  • рдбрд┐рд╡рд╛рдЗрд╕ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ, рд╕рдорд╛рдкреНрдд рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ

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

рдХреИрд╕реЗ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкреАрд╕реА рдиреЗ рдХрдиреЗрдХреНрдЯреЗрдб рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рджреЗрдЦрд╛ рд╣реИ?

рдХрдорд╛рдВрдб рд▓рд╛рдЗрди ("рдкреНрд░рд╛рд░рдВрдн" - "рдЙрдкрдпреЛрдЧрд┐рддрд╛рдПрдБ - рд╡рд┐рдВрдбреЛрдЬ" - "рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ") рдЪрд▓рд╛рдПрдБ
рдФрд░ adb devices рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░реЗрдВред

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдпрджрд┐ рдбрд┐рд╡рд╛рдЗрд╕ "USB рдбреАрдмрдЧрд┐рдВрдЧ" рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рддреЛ рдЖрдк рдХрдиреЗрдХреНрдЯреЗрдб рдбрд┐рд╡рд╛рдЗрд╕ рдФрд░ рдЙрд╕рдХреЗ рдпреВрдбреАрдЖрдИрдбреА тАЛтАЛ(рдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛) рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ:

 List of devices attached UDID device 

7. рд╣рдо рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд▓рд┐рдЦ тАЛтАЛрд░рд╣реЗ рд╣реИрдВ


рдЖрдпрд╛рдд рдЬреЛрдбрд╝реЗрдВред

 package name; import java.util.*; import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.android.AndroidElement; import io.appium.java_client.remote.MobileCapabilityType; import org.openqa.selenium.*; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.JavascriptExecutor; import java.net.MalformedURLException; import java.net.URL; import java.util.concurrent.TimeUnit; 

рд╣рдо рд╕рд░реНрд╡рд░ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЬрд╣рд╛рдВ рдЗрд╕реЗ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдирд╛ рд╣реЛрдЧрд╛

Android рдбреНрд░рд╛рдЗрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

 AndroidDriver<AndroidElement> driver = null; 

рд╣рдо рдкреИрд░рд╛рдореАрдЯрд░ (рдЧреБрдг) рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ:

 DesiredCapabilities capabilities = new DesiredCapabilities(); 

рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдирд╛рдо (рдЖрдк рдЗрд╕реЗ "рд╕реЗрдЯрд┐рдВрдЧ" рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ - "рдлрд╝реЛрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ", рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓ "рдЯреВрд▓" рдХреЗ рд▓рд┐рдП - "AVD рдкреНрд░рдмрдВрдзрдХ" - "рдирд╛рдо" рдлрд╝реАрд▓реНрдб):

 capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "MyPhone"); 

рдПрдкреАрдХреЗ рдХрд╛ рд▓рд┐рдВрдХ рдЬрд┐рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (.apk рдХреЛ рдПрдХ рдбреАрдмрдЧ рдмрд┐рд▓реНрдб рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдЖрдк рдФрд░ рдРрдкрд┐рдпрдо рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХреЗрдВ):

 capabilities.setCapability(MobileCapabilityType.APP, "C:\\Appium automation\\APK\\My-debug-Apk.apk"); 

Appium рдбреНрд░рд╛рдЗрд╡рд░ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ:

 try { driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); } catch (MalformedURLException e) { System.out.println(e.getMessage()); } 

рдпрд╣ рдХреЛрдб рдХрдиреЗрдХреНрдЯреЗрдб рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред

рдЕрддрд┐рд░рд┐рдХреНрдд рдЯреАрдореЗрдВ

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

 Thread.sleep(8000); 

рд╣рдореЗрдВ ContextHandles рдорд┐рд▓рддрд╛ рд╣реИ, рдЬрд╣рд╛рдБ рд╣рдо рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЕрднреА рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (NATIVE_APP рдпрд╛ WEBVIEW):

 Set<String> contextNames = driver.getContextHandles(); for (String contextName : contextNames) { System.out.println(contextName); } 

рд╕рд░рдгреА рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдЕрдВрддрд┐рдо рдорд╛рди рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред рдпрд╣ рдЖрдкрдХреЛ WEBVIEW, tk рдкрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдВрджрд░реНрдн = NATIVE_APP:

 driver.context((String) contextNames.toArray()[contextNames.toArray().length - 1]); 

рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ

рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╣рд╛рдЗрдмреНрд░рд┐рдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддрддреНрд╡реЛрдВ рдХреЛ WEBVIEW рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ NATIVE_APP рдореЗрдВ рдирд╣реАрдВ, рдлрд┐рд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рд╣рдореЗрдВ рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ FindElementByCssSelector рддрддреНрд╡ред

рдУрдХреЗ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ:

 driver.findElementByCssSelector(".button-ok").click(); 

- рдЬрд╣рд╛рдВ .рд▓реЗрдЯрди-рдУрдХреЗ рдПрд▓рд┐рдореЗрдВрдЯ рдХреНрд▓рд╛рд╕ рд╣реИред рдЖрдк рддрддреНрд╡ рдЖрдИрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдо рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдореВрд▓реНрдп рднреЗрдЬрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЦреЛрдЬ рд╣реИ рдФрд░ рдЖрдк рд╡рд╣рд╛рдВ "рд╕рд┐рдиреЗрдорд╛" рдореВрд▓реНрдп рднреЗрдЬрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

 driver.findElementByCssSelector(".search-input").sendKeys(""); 


рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ:

 driver.findElementByCssSelector(".search-button").click(); 

рдЗрд╕ рддрд░рд╣, рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

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

 ((JavascriptExecutor) driver).executeScript("document.querySelector('.button-ok').scrollIntoView({block: \"end\", behavior: \"smooth\"});"); 

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдЖрдкрдХреЛ OK рдмрдЯрди рдкрд░ рдЬрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред

рдпрд╣ рдПрдХ рдРрд╕реА рдШрдЯрдирд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд▓рд┐рдЦрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдХреНрд░реЙрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рд╕реНрдХреНрд░реАрди рдкрд░ рдЕрдиреНрдп рддрддреНрд╡реЛрдВ рдХреЛ рдмрд╛рдВрдзрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдФрд░ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдХреНрд░реЛрдо - рдЗрдВрд╕рдкреЗрдХреНрдЯ рдореЗрдВ рдХрдВрд╕реЛрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдРрд╕рд╛ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рджреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдЗрд╕ рддрддреНрд╡ рд╕реЗ рдмрдВрдзрддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдХреНрд░реЙрд▓ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдЖрдк рдЪрд░рдг 8 рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдЧрд░ рд╕рдм рдХреБрдЫ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ!
рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдПрдХ рдФрд░ рдиреБрдХрд╕рд╛рди рд╣реБрдЖ рдерд╛ред
рдЙрд╕рдХрд╛ рдирд╛рдо рдХреНрд░реЙрд╕реНрд╡рд╛рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╣реИред

рдЬрдм рдореИрдВрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рдореБрдЭрд╕реЗ рд▓рдЧрд╛рддрд╛рд░ рдЧрд▓рддреА рд╣реБрдИ:

 тАЬMake sure the app has its webview configured for debuggingтАЭ 

рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдПрдХ рднреА рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдЖрдкрдХреЛ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

  • рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдбреАрдмрдЧ рдмрд┐рд▓реНрдб рд╣реИ
  • рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдбрд┐рдмрдЧ рдмрд┐рд▓реНрдб рдЗрдВрд╕реНрдкреЗрдХреНрдЯ-рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
  • рдирд┐рд╢реНрдЪрд┐рдд рдХреНрд░реЛрдореЗрдбреНрд░рд╛рдЗрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
    • рд▓рд┐рдВрдХ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ https://github.com/blutter/appium-crosswalk-fix
    • рд╕реНрдерд╛рдкрдирд╛ npm рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрдЧреА рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЕрдкрдиреЗ рдкреАрд╕реА рдкрд░ рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ ( https://www.npmjs.com/get-npm )

рдЗрди рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреЗ рдмрд╛рдж, рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ рдФрд░ рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реЗрдВред

 capabilities.setCapability("chromedriverExecutable", "C:\\node_modules\\appium-with-crosswalk-fix\\chromedriver\\2.28\\chromedriver.exe"); 

- рдЬрд╣рд╛рдВ C: \\ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ \\ рдПрдкрд┐рдпрдо-рд╕рд╛рде-рдХреНрд░реЙрд╕рд╡реЙрдХ-рдлрд┐рдХреНрд╕ \\ рдХреНрд░реЛрдореЗрдбреНрд░рд┐рд╡рд░ \\ 2.28 \\ рдХреНрд░реЛрдореЗрдбреНрд░рд┐рд╡рд░ред exe
рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рдХреНрд░реЛрдореЗрдбреНрд░рд┐рд╡рд░ рдХрд╛ рддрд░реАрдХрд╛ рд╣реИ

рддреЛ рдЖрдкрдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

 package name; import java.util.*; import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.android.AndroidElement; import io.appium.java_client.remote.MobileCapabilityType; import org.openqa.selenium.*; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.JavascriptExecutor; import java.net.MalformedURLException; import java.net.URL; import java.util.concurrent.TimeUnit; public class Main { public static void main(String[] args) throws InterruptedException { AndroidDriver<AndroidElement> driver = null; DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "MyPhone"); capabilities.setCapability(MobileCapabilityType.APP, "C:\\Appium automation\\APK\\My-debug-apk.apk"); capabilities.setCapability("chromedriverExecutable", "C:\\node_modules\\appium-with-crosswalk-fix\\chromedriver\\2.28\\chromedriver.exe"); try { driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); } catch (MalformedURLException e) { System.out.println(e.getMessage()); } Set<String> contextNames = driver.getContextHandles(); for (String contextName : contextNames) { System.out.println(contextName); } driver.context((String) contextNames.toArray()[contextNames.toArray().length - 1]); Thread.sleep(8000); driver.findElementByCssSelector(".search-input").sendKeys(""); driver.findElementByCssSelector(".search-button").click(); } 

рдРрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛:

  • рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЕрдкрдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред
  • рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреГрд╖реНрда рдкрд░ рдЦреЛрдЬ рдлрд╝реАрд▓реНрдб рдвреВрдВрдвреЗрдВ
  • рд╡рд╣рд╛рдБ "рд╕рд┐рдиреЗрдорд╛" рдХрд╛ рдЕрд░реНрде рд▓рд╛рдПрдЧрд╛
  • "рдЦреЛрдЬ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ

8. рд╣рдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ


рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдореБрдЦреНрдп рдмрд┐рдВрджреБ рд╣реИрдВ:

  • Appium рд╕рд░реНрд╡рд░ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ (рдЖрдЗрдЯрдо 4)
    • Appium рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реЙрд░реНрдЯрдХрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
    • "рд╕реНрдЯрд╛рд░реНрдЯ рд╕рд░реНрд╡рд░" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
  • рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдкреАрд╕реА рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ рдпрд╛ рд╡рд░реНрдЪреБрдЕрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ (рдЖрдЗрдЯрдо 6)
  • рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ (рдкреГрд╖реНрда 5 рдФрд░ рдкреГрд╖реНрда 7)
  • рд░рди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ (рдпрд╛ IntelliJ IDEA рдЯреВрд▓рдмрд╛рд░ рдкрд░, рдпрд╛ рд░рди - рд░рди 'рдореЗрди')
  • рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдЖрдирдВрдж рд▓реЗрдВ

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

рдореИрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рдирд┐рдХрд▓рд╛ред

рдЕрдВрдд рддрдХ рдкрдврд╝рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдерд╛!

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


All Articles