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

* рдпрд╣ рд▓реЗрдЦ рдирд┐рдХрд┐рддрд╛ рдХрд▓рд┐рдирд┐рдЪреЗрдВрдХреЛ рдХреА рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдЗрдВрдЯреЗрдХреНрд╕реЙрдлреНрдЯ рдХреЗ рд╡рд░рд┐рд╖реНрда рдХреНрдпреВрдП рд╡рд┐рд╢реЗрд╖рдЬреНрдЮред
рд▓реЗрдЦ рдореЗрдВ рдмрд╛рд╣рд░реА рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдВрдХ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
1. рд╕реЗрд▓реЗрдирд┐рдпрдо + TestNG
рд╣рдо
рдорд╛рд╡реЗрди рдмрд┐рд▓реНрдбрд░ рдкрд░ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо
pom.xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реЗрд▓реЗрдирд┐рдпрдо рдФрд░
TestNG рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реА
pom.xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рдЬреЛрдбрд╝реА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдЖрдк рдиреАрдЪреЗ
рдирд┐рд░реНрднрд░рддрд╛ рдЯреИрдЧ рдХреЗ рдмреАрдЪ рдЙрдиреНрд╣реЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>test</groupId> <artifactId>test</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>3.141.59</version> </dependency> <dependency> <groupId>org.testing</groupId> <artifactId>testing</artifactId> <version>6.14.3</version> <scope>test</scope> </dependency> </dependencies> </project>
рдЕрдЧрд▓рд╛, рд╣рдо рдПрдХ рдкреЗрдЬ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВрдЧреЗ:
import... public class SignUpPage { private WebDriver driver; public SignUpPage(WebDriver driver) { this.driver = driver; } private By emailFriend = cssSelector("#register-email"); private By confirmEmailFriend = cssSelector("#register-confirm-email"); private By passwordField = cssSelector("#register-password"); private By displayNameField = cssSelector("#register-displayname"); private By monthDropDown = cssSelector("#register-dob-month"); private By dayField = cssSelector("#register-dob-day"); private By yearField = cssSelector("#register-dob-year"); private By shareCheckbox = cssSelector("#register-thirdparty"); private By registerButton = cssSelector("#register-button-email-submit");
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд╛рд╡рд╛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдкрдВрдЬреАрдХрд░рдг рдкреГрд╖реНрда рдХреЗ рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рд▓реЛрдХреЗрдЯрд░ рдХреЗ рд╕рд╛рде рдЪрд░ рдХрд╛ рд╡рд░реНрдгрди рд╣реИред рдЪрд░ рдЕрдиреБрднрд╛рдЧ рдХреЗ рдиреАрдЪреЗ рд╣рдорд╛рд░реЗ рдкреЗрдЬ рдХреЗ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рддрд░реАрдХреЗ рд╣реИрдВред
рдЖрдЗрдП рд╕реНрд╡рдпрдВ рдкрд░реАрдХреНрд╖рдг рдЦреЛрд▓реЗрдВ:
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐
рдореАрдереЗрдореЙрдб рдПрдиреЛрдЯреЗрд╢рди рдореЗрдВ рд╣рдо рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдзрд┐ рд╕реЗ рдкрд╣рд▓реЗ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ред
@Test public void typeInvalidYear() {
рдЯреЗрд╕реНрдЯ рдПрдиреЛрдЯреЗрд╢рди рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдб
рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ ред
@AfterMethod
рдФрд░
AfterMethod рдПрдиреЛрдЯреЗрд╢рди рдореЗрдВ рдХреЛрдб рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рдж рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕реЗрд▓реЗрдирд┐рдпрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддреЗ рд╕рдордп, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реЛрдЧрд╛:
- рдПрдХ рдЕрд▓рдЧ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдЦреЛрд▓рдирд╛
- Url рдкрд░ рдЬрд╛рдПрдВ
- рдЯреЗрд╕реНрдЯ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди
- рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рдж рд╕рддреНрд░ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдмрдВрдж рдХрд░реЗрдВ
рдЕрдЧрд▓рд╛ рдЯреЗрд╕реНрдЯ рд╡рд╣реА рдХрд░реЗрдЧрд╛ред рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕реЗрд▓реЗрдирд┐рдпрдо рдкрд░ рдкрд░реАрдХреНрд╖рдг рдкрд░реАрдХреНрд╖рдг рдПрдХ рдмрд▓реНрдХрд┐ рд╕рдВрд╕рд╛рдзрди-рдЧрд╣рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИред
2. рд╕реЗрд▓реЗрдирд╛рдЗрдб: рдХреНрдпрд╛, рдХрд╣рд╛рдБ рдФрд░ рдХреИрд╕реЗ
рдЦреБрдж
рд╕реЗрд▓реЗрдирд╛рдЗрдб рдХреНрдпрд╛ рд╣реИ, рдЗрд╕рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдФрд░ рдлрд╛рдпрджреЗ рдХреНрдпрд╛ рд╣реИрдВ?
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╕реЗрд▓реЗрдирд┐рдпрдо рд╕реЗрд▓реЗрдирд┐рдпрдо рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рдЖрд╡рд░рдг рд╣реИ рдЬреЛ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрддреЗ рд╕рдордп рдЗрд╕реЗ рдЬрд▓реНрджреА рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдореВрд▓ рдореЗрдВ, рд╕реЗрд▓реЗрдирд╛рдЗрдб рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ, рдЬреЛ "рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдбреНрд░рд╛рдЗрд╡рд░" рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрдХрдиреАрдХреА рд╡рд┐рд╡рд░рдгреЛрдВ рд╕реЗ рд╡рд┐рдЪрд▓рд┐рдд рд╣реБрдП рдмрд┐рдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рднрд╛рд╖рд╛ рдореЗрдВ рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдФрд░ рдЖрд╕рд╛рдиреА рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЧрддрд┐рд╢реАрд▓ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде-рд╕рд╛рде рддрддреНрд╡реЛрдВ рдкрд░ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреА рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рд╕реЗрд▓реЗрдирд╛рдЗрдб рдХреЗ рдореБрдЦреНрдп рдФрд░ рдореБрдЦреНрдп рд▓рд╛рдн:
- рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХрд░реЗрдВ jQuery- рд╢реИрд▓реА рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕
- рдЕрдЬрд╛рдХреНрд╕, рдЙрдореНрдореАрджреЛрдВ рдФрд░ рд╕рдордпрдмрд╛рд╣реНрдп рдХреЗ рд╕рд╛рде рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░реЗрдВ
- рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЬреАрд╡рди рдкреНрд░рдмрдВрдзрди
- рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдмрдирд╛рдПрдБ
рд╕реЗрд▓реЗрдирд╛рдЗрдб рдХрд╛ рд▓рдХреНрд╖реНрдп рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛ рд╣реИ рди рдХрд┐ рддрдХрдиреАрдХреА рд╡рд┐рд╡рд░рдгреЛрдВ рдкрд░ рдорд╛рдирд╕рд┐рдХ рдКрд░реНрдЬрд╛ рдХреЛ "рдмрд░реНрдмрд╛рдж" рдХрд░рдирд╛ред
рд╕реЗрд▓рд┐рдирд╛рдЗрдб рдкрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЕрдиреБрд╡рд╛рдж
рд╕реЗрд▓реЗрдирд╛рдЗрдб рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
рдирд┐рд░реНрднрд░рддрд╛ рдЯреИрдЧ рдХреЗ рдмреАрдЪ
pom.xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣рдо рд╕реЗрд▓реЗрдирд╛рдЗрдб рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЪреВрдВрдХрд┐ рд╣рдореЗрдВ рдЕрдм рд╕реЗрд▓реЗрдирд┐рдпрдо рдХреА рд▓рдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВред
<dependency> <groupId>com.codeborne</groupId> <artifactId>selenide</artifactId> <version>5.2.8</version> </dependency>
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕реЗрд▓реЗрдирд╛рдЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдХрдИ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдпрд╛рдд рдЙрджрд╛рд╣рд░рдг:
рдЖрдпрд╛рдд рд╕реНрдерд┐рд░ com.codeborne.selenide.Selenideред *;рдЖрдпрд╛рдд рд╕реНрдереИрддрд┐рдХ com.codeborne.selenide.Selectorsред *;рдЖрдпрд╛рдд рд╕реНрдерд┐рд░ com.codeborne.selenide.Conditionред *;рдЖрдпрд╛рдд рд╕реНрдерд┐рд░ com.codeborne.selenide.CollectionConditionред *;рдмрд╛рдХреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрд┐рд▓реНрдбрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реЗрд▓реЗрдирд╛рдЗрдб рдХреЛ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рд╕реЗрд▓реЗрдирд╛рдЗрдб рдкреНрд░рд▓реЗрдЦрди рдХрд╛
рддреНрд╡рд░рд┐рдд рдкреНрд░рд╛рд░рдВрдн рдЕрдиреБрднрд╛рдЧ рджреЗрдЦреЗрдВред
рддрддреНрд╡реЛрдВ, рдЬрд╛рдВрдЪ рдФрд░ рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
рдЖрдЗрдП рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рд╕реЗрд▓реЗрдирд╛рдЗрдб рдХреЗ рдХрд╛рдо рдкрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВ рдФрд░ рд╕реЗрд▓реЗрдирд╛рдЗрдб рдореЗрдВ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдХреБрдЫ рдЬрд╛рдБрдЪ рдФрд░ рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдВред
import... public class SignUpTest {
рдЯреЗрд╕реНрдЯ рдлрд╛рдЗрд▓ рдореЗрдВ, рд╣рдо
рдкреНрд░рд╛рдЗрдордХреНрд▓реЗрде рдПрдиреЛрдЯреЗрд╢рди рдХреЛ
рдкреНрд░рд╛рдпрд░рдХреНрд▓рд╛рд╕ рдПрдиреЛрдЯреЗрд╢рди рд╕реЗ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд╕реЗрд▓реЗрдирд╛рдЗрдб рдиреЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ -
рд╕реЗрд▓реЗрдирд╛рдЗрдб рдиреЗ рдЖрдлреНрдЯрд░рдореЗрдереЛрдб рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдВрднрд╛рд▓ рд▓рд┐рдпрд╛ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдХреБрдЫ
рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдлрд░реНрд╕реНрдЯрдХреНрд▓рд╛рд╕ рдПрдиреЛрдЯреЗрд╢рди
рдмрдЪрд╛ рд╣реИред
рдмреАрдЯрдХреНрд▓рд╛рд╕ рдПрдиреЛрдЯреЗрд╢рди рдореЗрдВ
, рд╣рдордиреЗ рдПрдХ
рд╕рдВрдкрддреНрддрд┐ рдмреЗрд╕рд▓ рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛, рдЬреЛ
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреНрд▓рд╛рд╕ рдореЗрдВ рд╣реИ рдФрд░ рдмреЗрд╕ рдпреВрдЖрд░рдПрд▓ рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП,
Driver.get , рдЬрд┐рд╕реЗ рд╣рдордиреЗ рд╕реЗрд▓реЗрдирд┐рдпрдо рдкрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛, рдЕрдм рдЙрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рд╕рдВрдкрддреНрддрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ, рд╣рдо рдЙрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕ рдкрд░ рд╣рдо рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдВрдЧреЗред
рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рд╣рдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реЗрд▓реЗрдирд┐рдпрдо рдЪрд╛рд▓рдХ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд╕реЗрд▓реЗрдирд╛рдЗрдб рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдЧрд╛, рдЗрд╕реЗ рдЕрдкрдиреА рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдЗрдирдХреИрдкреНрд╕реБрд▓реЗрдЯ рдХрд░реЗрдЧрд╛ред рд╣рдореЗрдВ рдЦреБрдж рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рддрд░реНрдХ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдЖрдЗрдП рдЕрдкрдиреЗ рдкреЗрдЬ рдкрд░ рд╕реЗрд▓реЗрдирд╛рдЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝реЗрдВ:
рдЬрдм рдЖрдк
рдЦреБрд▓реА рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ
рд╣реИрдВ , рддреЛ рд╕реЗрд▓реЗрдирд╛рдЗрдб рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рд╕реНрд╡рдпрдВ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреГрд╖реНрда рдЦреЛрд▓рддрд╛ рд╣реИред рд╡рд╣ рдпрд╣ рднреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЕрдВрдд рдореЗрдВ рдмрдВрдж рд╣реЛ рдЬрд╛рдПред рд╕реЗрд▓реЗрдирд╛рдЗрдб рдореЗрдВред
рдЦреБрд▓рд╛, рд╣рдо рдпрд╛ рддреЛ
http рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг рдкрде рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдмреЗрд╕реБрд░рд▓ рдХреЗ рдХреБрдЫ рд░рд┐рд╢реНрддреЗрджрд╛рд░ рдХреЛ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ -
рд░рд┐рд╢реНрддреЗрджрд╛рд░ рдпреВрдЖрд░рдПрд▓ ред
рдмреЗрд╕реБрд░рд▓ рдХреЗ рд░реВрдк рдореЗрдВ
, рд╣рдордиреЗ рдирд┐рд░рдкреЗрдХреНрд╖ рдкрде рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП, рд╕реЗрд▓реЗрдирд╛рдЗрдб рд╡рд┐рдзрд┐ рдореЗрдВред рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП "/" рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред
Selenide рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рддрддреНрд╡ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ driver.findElement рдХреЗ рдмрдЬрд╛рдп $ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ , рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реЗрд▓реЗрдирд┐рдпрдо рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рд▓рдВрдмрд╛рдИ рдореЗрдВ рдПрдХ рдЪрд░рд┐рддреНрд░ рдХреА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рд╕реАрдзреЗ рддрддреНрд╡ рдХреЛ рд╕реНрд╡рдпрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЦреЛрдЬ рд╡рд┐рдзрд┐ jQuery рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рдорд╛рди рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИред
рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрд▓реЗрдирд╛рдЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рджреЛ $ $ рд╡рд░реНрдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕реВрдЪреА <WebElement рдХреЗ рдмрдЬрд╛рдп, рд╣рдо ElementsCollection рдХреЛ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рдзрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╣реИред
рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рджреЛрдиреЛрдВ рдорд╛рдирдХ рд╕реЗрд▓реЗрдирд┐рдпрдо рд╡рд┐рдзрд┐рдпреЛрдВ (sendKeys ()) рдФрд░ setValue () рдпрд╛ рд╡реИрд▓ рдХрд╛ рдЫреЛрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред
рдирд╛рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ, рд╕реЗрд▓реЗрдирд╛рдЗрдб рдХреЗ рддрд░реАрдХреЗ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддреЗ рд╣реИрдВред рдХреНрд▓рд┐рдХ () рд╡рд┐рдзрд┐ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрдиреА рд╣реБрдИ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╕реЗрд▓реЗрдирд╛рдЗрдб рдореЗрдВ рдХрдИ рдХреНрд▓рд┐рдХ () рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реИрдВ : рд╕рдВрджрд░реНрднрдХреНрд▓рд┐рдХ рдХрд░реЗрдВ () (рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд╛ рдЕрдиреБрдХрд░рдг), рдбрдмрд▓рдХреНрд▓рд┐рдХ () (рдПрдХ рддрддреНрд╡ рдкрд░ рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд╛ рдЕрдиреБрдХрд░рдг), рдЖрджрд┐ред рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рддрддреНрд╡ рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ, рд╣рдо рдЕрдиреНрдп рд▓реЛрдХреЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЦреЛрдЬ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реЗрд▓реЗрдирд╛рдЗрдб рдЦреЛрдЬ () рд╡рд┐рдзрд┐ рд╕реЗрд▓реЗрдирд┐рдпрдо рдЪрд╛рд▓рдХ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИред рд╢реЛрдз (рджреНрд╡рд╛рд░рд╛) рд╡рд┐рдзрд┐ рдореЗрдВ рдпрд╣ рддреБрд░рдВрдд рд╕реАрдПрд╕рдПрд╕ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╕реЗрд▓реЗрдирд╛рдЗрдб рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд╡реЗрдм рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдирд╣реАрдВред рдореВрд▓ рд░реВрдк рд╕реЗ, рд╕реЗрд▓реЗрдирд┐рдпрдо рддрддреНрд╡ рдПрдХ рдЪрд╛рд▓рд╛рдХ рд╣реИ рдФрд░ рд╕реЗрд▓реЗрдирд┐рдпрдо рд╡реЗрдм рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рд╣реИред
рд╕реЗрд▓реЗрдирд╛рдЗрдб рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдРрд╕реЗ рддрд░реАрдХреЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреЛ рдХреБрдЫ рдПрдХреНрд╢рди рдХреНрд▓рд╛рд╕ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдЖрдкрдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдФрд░ "рд╕реБрдВрджрд░" рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдПрдХ рдРрд╕реА рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рд╕реЗрд▓реЗрдирд╛рдЗрдб рдореЗрдВ рднреА рд▓рдЪреАрд▓реЗрдкрди рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╕реМрджрд╛ рд╣реИ, рдзрдиреНрдпрд╡рд╛рдж рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рдо рд╕реЗрд▓реЗрдирд┐рдпрдо рдХреА рдорд╛рдирдХ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдиреНрдп рд╕реЗрд▓реЗрдирд╛рдЗрдб рд╡рд┐рдзрд┐рдпрд╛рдВ рднреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред
рд╕рд▓реЗрдирд╛рдЗрдб рд╣рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЪреЗрдХ рдХреЗ рд╡рд┐рд╕реНрддреГрдд рдФрд░ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
рд╕реЗрд▓реЗрдирд╛рдЗрдб рд╕рддреНрдпрд╛рдкрди рдпреЛрдЬрдирд╛ рд╣рдореЗрдВ рдПрдХ рддрддреНрд╡ рд▓реЗрдиреЗ, рдЗрд╕реЗ рдЦреЛрдЬрдиреЗ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдпреЛрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ: рдЪрд╛рд╣рд┐рдП, рдЪрд╛рд╣рд┐рдП, рдЪрд╛рд╣рд┐рдП, рдЪрд╛рд╣рд┐рдП, рдЪрд╛рд╣рд┐рдП, рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рддреНрдпрд╛рдкрди рдпреЛрдЬрдирд╛ рддрддреНрд╡ рдХреЛ рдЦреЛрдЬрдиреЗ рдФрд░ рдЗрди рдпреЛрдЧреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрд╖реНрдардХ рдореЗрдВ рд╣рдо рдпрд╛ рддреЛ рд░рд╛рдЬреНрдп рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрдиреБрд░реВрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдирд╣реАрдВ, рдпрд╛ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛ред
рддрд░реНрдХ рдФрд░ рд╣рдорд╛рд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдо рдХреБрдЫ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдо рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рддрддреНрд╡ рдореМрдЬреВрдж рд╣реИ, рддреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП (рдореМрдЬреВрдж) рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдпрджрд┐ рд╣рдо рддрддреНрд╡ рдХреА рджреГрд╢реНрдпрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ beBe (рджреГрд╢реНрдпрдорд╛рди), рдЖрджрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдо рдХреЗрд╡рд▓ рддреАрди рдпреЛрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ: рдпрд╛ рддреЛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЪрд╛рд╣рд┐рдП, рдЪрд╛рд╣рд┐рдП, рдпрд╛ рдЙрдирдХрд╛ рдЙрд▓рдЯрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдирд╣реАрдВ, рдирд╣реАрдВ, рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЙрдкрд░реЛрдХреНрдд рд╡рд░реНрдгрд┐рдд рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╕реЗрд▓реЗрдирд╛рдЗрдб рдкрд░ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдпрд╛ рддрддреНрд╡реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬреЛ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рд╢рд░реНрдд рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ рдЙрд╕ рдХреНрд╖рдг рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддреЗ рд╣реИрдВ рдЬрдм рддрддреНрд╡ рдХреБрдЫ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░реЗрдЧрд╛, рдФрд░ рди рдХреЗрд╡рд▓ рд╕реНрдерд┐рддрд┐ рдкрд░ рдПрдХ рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛ред
рд╕реЗрд▓реЗрдирд╛рдЗрдб рдореЗрдВ рд╢рдмреНрджрд╛рдВрдХрди рдХрд╛рдлреА рддрд╛рд░реНрдХрд┐рдХ рдФрд░ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рд╣реИред рд╣рдо рдЕрдкрдиреЗ рдЪреЗрдХ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рддреЛ рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд╕рдВрдХреЗрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░, рдпрд╛ рддрд╛рд░реНрдХрд┐рдХ рдзрд╛рд░рдгрд╛рдПрдВред рдФрд░ рд╕реНрд╡рдпрдВ, рд╣рдо рд╣рдореЗрд╢рд╛ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛрдб рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рд╕реНрд╡рдпрдВ рд╡рд┐рдзрд┐ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ
JUnit рдХреЗ рд▓рд┐рдП :
рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдирд┐рдпрдо рдХреЛ рдЖрдпрд╛рдд рдФрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
import com.codeborne.selenide.junit.screenShooter; @Rule public ScreenShooter makeScreenshotOnFailure = ScreenShooter.failledTests();
рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдПрдХ рдЕрд╢рд┐рд╖реНрдЯрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕реЗрд▓реЗрдирд╛рдЗрдб рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд▓реЗ рд░рд╣рд╛ рд╣реИ рдЬрдм рдкрд░реАрдХреНрд╖рдг рдЧрд┐рд░рддреЗ рд╣реИрдВред рдпрд╣ рд╣рдорд╛рд░реА рдЧрд▓рддрд┐рдпреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, Selenide
рдмрд┐рд▓реНрдб / рд░рд┐рдкреЛрд░реНрдЯ / рдкрд░реАрдХреНрд╖рдг рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдбрд╛рд▓рддрд╛ рд╣реИред
рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг (рд╣рд░реЗ рд╕рд╣рд┐рдд) рдХреЗ рдмрд╛рдж рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
@Rule public ScreenShooter makeScreenshotOnFailure = ScreenShooter.failedTests().succeededTests();
TestNG рдХреЗ рд▓рд┐рдП, рд╣рдо рднреА рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ:
import com.codeborne.selenide.testng.ScreenShooter; @Listeners({ ScreenShooter.class})
рд╣рд░реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдмрд╛рдж рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
ScreenShooter.captureSuccessfulTests = true;
рдЖрдк рдПрдХ рд▓рд╛рдЗрди рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдХрд╣реАрдВ рднреА рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ:
import static com.codeborne.selenide.selenide.screenshot; screenshot("my_file_name");
рд╕реЗрд▓реЗрдирд╛рдЗрдб рджреЛ рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛рдПрдЧрд╛: my_file_name.png рдФрд░ my_file_name.html
3. рдбреЙрдХрд░: рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдФрд░ рд▓рд╛рдн
рдЖрдЗрдП рд╕реАрдзреЗ рдбреЙрдХрдЯрд░ рдХреЗ рдкрд╛рд╕ рдЬрд╛рдПрдВ рдФрд░ рдЗрд╕рдХреЗ рд▓рд╛рднреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
- рддреНрд╡рд░рд┐рдд рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ред рд╕рд╣рд╛рдпрдХ рдЙрдкрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
- рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЗрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди
- рд╕реНрдкрд╖реНрдЯ рдирд┐рдЧрд░рд╛рдиреА
- рдЖрд╕рд╛рди рд╕реНрдХреЗрд▓рд┐рдВрдЧ
рдЬрдм рд╣рдо рдбреЙрдХрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
рдПрдХ рдХрдВрдЯреЗрдирд░ рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдЪрд┐рддреНрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕реЗ рдХрдо рд╕рдордп рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рд╣рдЯрд╛рдпрд╛ рдФрд░ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдПрдХ рдЫрд╡рд┐ рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдореВрд▓ рддрддреНрд╡ рд╣реИред
Docker Hub рдПрдХ рдкрдмреНрд▓рд┐рдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╣реИ, рдЬреЛ Docker Inc. рдпрд╣ рдХрдИ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рд╕рдВрд╕рд╛рдзрди "рдЖрдзрд┐рдХрд╛рд░рд┐рдХ" рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдПрдХ рд╕реНрд░реЛрдд рд╣реИ, рдЬрд┐рд╕реЗ рдбреЙрдХрд░ рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд╕рд╣рдпреЛрдЧ рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдбреЙрдХрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
Windows рдкрд░ Docker рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо https://hub.docker.com рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ Windows рдпрд╛ MacOS рдХреЗ рд▓рд┐рдП Docker рдбреЗрд╕реНрдХрдЯреЙрдк рдРрдк рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдмрд╛рдж рдореЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред
Ubuntu Linux рдХреЗ рд▓рд┐рдП, Docker рдХреЛ рдХрдорд╛рдВрдб sudo apt install docker.io рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ рдбреЙрдХрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдм рд╕рд┐рд╕реНрдЯрдо рдмреВрдЯ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдбреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рдХрд░рддрд╛ рд╣реИ:
- sudo systemctl start docker
- sudo systemctl рдПрдиреЗрдмрд▓ рдбреЙрдХрдЯрд░
4. рд╕реЗрд▓реЗрдиреЙрдЗрдб: рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдФрд░ рд▓рд╛рдн
рд╕реЗрд▓реЗрдиреЙрдЗрдб рдПрдХ рд╕рд░реНрд╡рд░ рд╣реИ рдЬреЛ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдкреГрдердХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЪрд▓рд╛рддрд╛ рд╣реИред
рд╕реЗрд▓реЗрдиреЙрдЗрдб рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд╛рдн:
- рд╕рдорд╛рдирд╛рдВрддрд░ рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХреАрдХреГрдд рд╡рд╛рддрд╛рд╡рд░рдг
- рдкреГрдердХ рд╡рд╛рддрд╛рд╡рд░рдг: рдкреНрд░рддреНрдпреЗрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдПрдХ рдЕрд▓рдЧ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИ, рдЬреЛ рд╣рдореЗрдВ рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
- рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА: рдкрд░реНрдпрд╛рд╡рд░рдг рдЧреБрдгрд╡рддреНрддрд╛ рдФрд░ рдирд┐рд░рдВрддрд░ рдкрд░реАрдХреНрд╖рдг рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
- рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрднреЛрдЧ рдФрд░ рдЙрдкрдпреЛрдЧ: рд╕реЗрд▓реЗрдиреЙрдЗрдб рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрд╕рд╛рдзрди рд▓рд╛рдЧрдд рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдЙрдЪреНрдЪ рднрд╛рд░ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ; рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдЕрдкрдиреЗ рд╕рддреНрд░ рдХреЗ рдЕрдВрдд рдХреЗ рдмрд╛рдж рд╕рднреА рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рд░реАрд╕рд╛рдпрдХрд▓ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд▓рдЧрд╛рддрд╛рд░ рдЖрд╡рд╢реНрдпрдХ рдореБрдХреНрдд рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИред
- рд╕реНрдерд╛рдкрдирд╛: рдЬреНрдпрд╛рджрд╛ рд╕рдордп рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдмрд╛рд╣рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХ рд╣реА рдЖрджреЗрд╢ рдХреЗ рд╕рд╛рде
- рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдХрдИ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдПрдХ рд╕рд╛рде рд╕рдорд░реНрдерди: рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдХреЗрд╡рд▓ рд╕реЗрд▓реЗрдиреЙрдЗрдб рдХреЗ рд╕рд╛рде рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХрдИ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
- рдлреЛрдХрд╕: рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рдВрдбреЛ рдлреЛрдХрд╕ рдореЗрдВ рд╣реЛред рдПрдХ рд╣реА рдорд╢реАрди рдкрд░ рдХрдИ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЪрд▓рд╛рдиреЗ рдкрд░, рдлрд╝реЛрдХрд╕ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬрд╝ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреА рд╣реИрдВред рд╕реЗрд▓реЗрдиреЙрдЗрдб рдХреЛ рдРрд╕реА рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдПрдХ рдЕрд▓рдЧ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИ
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдФрд░ рд▓реЙрдЧреНрд╕: рд╕реЗрд▓реЗрдиреЙрдЗрдб рдЖрдкрдХреЛ рдореМрдЬреВрджрд╛ рд▓реЙрдЧ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд░реНрддрдорд╛рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рддреЗрдЬреА рд╕реЗ рд╕рдВрдЧреНрд░рд╣ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдИрдПрд▓рдХреЗ рд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реЗрд▓реЗрдиреЙрдЗрдб рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдФрд░ рдПрдХ рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИред
Selenoid рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рд╕реЗрд▓реЗрдиреЙрдЗрдб рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдг:
- рдПрдХ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдбреЙрдХрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдбреЛрдХрд░ рдХреЗ рд╕рд╛рде рд╕реЗрд▓реЗрдиреЙрдЗрдб рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдЖрдЧреЗ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИред
- рд╕реЗрд▓реЗрдиреЙрдЗрдб рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рдмрдВрдзрдХ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрд░реЛрдХреЛрдм рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕реЗрд▓реЗрдиреЙрдЗрдб рд╣реИред
- Cm.exe рдХреЗ рд▓рд┐рдП рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВ (рдЖрд╕рд╛рди рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рд▓рд┐рдП)
- рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╕реЗрд▓реЗрдиреЙрдЗрдб рдЪрд▓рд╛рдПрдВ:
./cm.exe selenoid start --vnc
./cm.exe рд╕реЗрд▓реЗрдиреЙрдЗрдб-рдпреВрдЖрдИ рдкреНрд░рд╛рд░рдВрдн
./Cm.exe selenoid start - vnc рдХрдорд╛рдВрдб рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЫрд╡рд┐рдпреЛрдВ рдХреЛ VNC рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛,
рдЕрд░реНрдерд╛рддреН рд╡реЗ рдЪрд┐рддреНрд░ рдЬрд┐рдирдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реНрдХреНрд░реАрди рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рджреЗрдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЙрдкрд▓рдмреНрдз рд╣реИред рд╕рд╛рде рд╣реА, рдЗрд╕ рдХрдорд╛рдВрдб рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди, рд╕реЗрд▓реЗрдиреЙрдЗрдб рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рд╛рде рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд╡реЗрдм рдбреНрд░рд╛рдЗрд╡рд░ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╛рдЗрд▓реЗрдВ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛рдИ рдЬрд╛рдПрдВрдЧреА рдФрд░ рдЕрдВрддрд┐рдо рдЪрд░рдг рддреБрд░рдВрдд рд╣реА рд╕реЗрд▓реЗрдиреЙрдЗрдб рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░реЗрдЧрд╛ред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде
ред/cm.exe selenoid-ui рдкреНрд░рд╛рд░рдВрдн, рд╣рдо
рд╕реЗрд▓реЗрдиреЙрдЗрдб UI рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЪрд▓рд╛рддреЗ рд╣реИрдВ - рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рд╢реЗрд▓ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╣рдо рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдкреНрд░рдЧрддрд┐ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рд╡реАрдбрд┐рдпреЛ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг, рдЕрдкрдиреЗ рдЖрдВрдХрдбрд╝реЗ рдПрдХрддреНрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрджрд┐ред рдШред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реЗрд▓реЗрдиреЙрдЗрдб рдорд╛рдирдХ рд╕реЗрд▓реЗрдирд┐рдпрдо 4444 рдкреЛрд░реНрдЯ рдкрд░ рдЪрд▓рддрд╛ рд╣реИред рдкреЛрд░реНрдЯ рдХреЛ
--рдкреЛрд░реНрдЯ рд╕реНрд╡рд┐рдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕реЗрд▓реЗрдиреЙрдЗрдб рдХреЛ рдмрдбрд╝реЗ рд╕реЗрд▓реЗрдирд┐рдпрдо рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЗрд╕рдореЗрдВ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЦреЛрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕
рд╕реНрдерд╛рдиреАрдпрд╣реЛрд╕реНрдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ
: 4444 / wd / рд╣рдм рдПрдХ 404 рддреНрд░реБрдЯрд┐ рд▓реМрдЯрд╛рдПрдЧрд╛ред
Selenoid UI рдЖрдБрдХрдбрд╝реЗ рдФрд░ рд╕рддреНрд░
Selenoid UI
http: // localhost: 8080 / рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ
рдпрд╣рд╛рдВ рд╣рдо рдЖрдВрдХрдбрд╝реЛрдВ рдФрд░ рд╕рддреНрд░реЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд░реНрддрдорд╛рди рдХреЛрдЯрд╛ рдЙрдкрдпреЛрдЧ, рд▓рдВрдмрд┐рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ рд╕реНрд╡рдпрдВ рдХрддрд╛рд░ рджреЗрдЦреЗрдВред рд╕реЗрд▓реЗрдиреЙрдЗрдб рдпреВрдЖрдИ рдПрд╕рдПрд╕рдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдбреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкреЗрдЬ рдХреЛ рд░реАрдлреНрд░реЗрд╢ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдХрд┐рд╕реА рднреА рдЕрд╕реНрдерд╛рдпреА рд╡реНрдпрд╡рдзрд╛рди рдХреЗ рдмрд╛рдж, рдкреГрд╖реНрда рдХреА рд╕рд╛рдордЧреНрд░реА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рддрд╛рдЬрд╝рд╛ рд╣реЛ рдЬрд╛рдПрдЧреАред
рдпрджрд┐ рд╣рдо рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдПрдХ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдЪреИрдЯ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ, рддреЛ рд╣рдо рдПрдХ рд╕рд╛рде рдЙрдирдХреЗ рдмреАрдЪ рдХреА рдмрд╛рддрдЪреАрдд рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рд╕реЗрд▓реЗрдиреЙрдЗрдб рдпреВрдЖрдИ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ
Selenoid UI рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рднреА рд╣реИрдВ:

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

рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЪреБрдирддреЗ рд╕рдордп, рд╣рдо рдЗрд╕реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рд╕реАрдзреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ
vnc рдкреЛрд░реНрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдФрд░ рд╡рд╛рдВрдЫрд┐рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рд╕реНрдХреНрд░реАрди рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░рдирд╛ред
рд▓реЙрдЧ рдФрд░ рд╡реАрдПрдирд╕реА
рдпрджрд┐ рдЖрдк рдХреНрд╖рдорддрд╛ enabaleVnc = true рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдкреГрд╖реНрда рдкрд░ рдЙрдкрд▓рдмреНрдз рдЖрдБрдХрдбрд╝реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╡реАрдПрдирд╕реА рд╣рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рджреЗрдЦрдиреЗ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЬрдмрдХрд┐ рд╣рдорд╛рд░рд╛ рд▓реЙрдЧ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рд╕рднреА рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред
VNC рд╕рддреНрд░:

рдкреВрд░реНрдг рд╕реНрдХреНрд░реАрди VNC рдореЛрдб рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

рдЖрдк VNC рдХреЗ рдмрд┐рдирд╛ рднреА рдкреНрд░рддреНрдпреЗрдХ рд╕рддреНрд░ рдХреЗ рд▓рд┐рдП docker рдХрдВрдЯреЗрдирд░ рд▓реЙрдЧ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣реА рд╣реИ, рдпрджрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдиреЗ рд╕реНрд╡рдпрдВ рд╕реЗрд▓реЗрдиреЙрдЗрдб рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп - рдИрд╡реЗрдВрдЯ рдлреНрд▓реИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдХреЗрд╡рд▓ рд▓реЙрдЧ рджреЗрдЦреЗрдВрдЧреЗред

рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╡реАрдбрд┐рдпреЛ рджреЗрдЦрдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИред рдЖрдк
http: // localhost: 4444 / рд╡реАрдбрд┐рдпреЛ / рдЦреЛрд▓рдХрд░, рдпрд╛ рд╕реЗрд▓рдлрд╝реЛрдиреЙрдЗрдб UI рдореЗрдВ "рд╡реАрдбрд┐рдпреЛ" рдЯреИрдм рдкрд░ рдЬрд╛рдХрд░ рд╡реАрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдХ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрд▓реЗрдирд╛рдЗрдб рд╕реЗрд▓реЗрдиреЙрдЗрдб рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдЬреБрдбрд╝рдирд╛
рд╕реЗрд▓реЗрдиреЙрдЗрдб рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐
рдПрдирдХреНрд▓реЙрд╕ рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛:
Configuration.remote = "http://localhost:4444/wd/hub"; Configuration.browser = "chrome"; Configuration.browserSize = "1920x1080"; DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(capabilityName: "enableVNC", value: true); capabilities.setCapability(capabilityName: "enableVideo", value: true); Configuration.browserCapabilities = capabilities;
рд╣рдо
рдкреНрд░реЙрдкрд░реНрдЯреА рдмреЗрд╕реБрд░рд▓ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ , рдЬреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдП рдЧрдП рдереЗ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рд╣рдо рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди.рдмреНрд░реЛрд╕рд░ = "рдХреНрд░реЛрдо" ;
рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
@BeforeClass public static void setUp() {
Selenoid
- : Selenoid Tmpfs тАУ , . , , , .
- Selenoid : . Browser Capabilities .
- : Selenoid Google Chrome true Browser Capabilities :
ChromeOptions options = new ChromeOptions();
options.setCapability(тАЬenableVideoтАЭ,true);
Selenoid Docker
рд╕реЗрд▓реЗрдиреЙрдЗрдб рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдРрд╕реЗ рдорд╛рдорд▓реЗ рд╣реИрдВ рдЬрдм рдПрдХ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд▓реЙрдиреНрдЪ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рд╣реИ рдЬреЛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕реЗрд▓реЗрдиреЙрдЗрдб рдХреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░, рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдпрд╛ рдХреНрд░реЛрдо рдХреЛ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП "рд▓рд╛рдЗрдЯрд╡реЗрдЯ" рд╕реЗрд▓реЗрдирд┐рдпрдо рд╕рд░реНрд╡рд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реЗрд▓реЗрдиреЙрдЗрдб рдХреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПредрдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:1. рдирд╡реАрдирддрдо IEDriverServer рд╕рдВрдЧреНрд░рд╣ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЕрдирдЬрд╝рд┐рдк рдХрд░реЗрдВ (рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг C: \) рдореЗрдВ2. рдЕрдВрддрд┐рдо рдмрд╛рдЗрдирд░реА рд╕реЗрд▓реЗрдиреЙрдЗрдб рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ3. рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмрдирд╛рдПрдБред Json рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрджрд╛рд╣рд░рдгред json рдЯреБрдХрдбрд╝рд╛: { "internet explorer": { "default": "11", "versions": { "11": { "image": ["C:\\IEDriverServer.exe", "--log-level=DEBUG"] } } } }
4. RunSelenoid : / .selenoid_win_amd64.exe -conf ./browsers.json -disable-docker5. рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдВред http: // localhost: 4444 / wd / рд╣рдм рдирд┐рдореНрди рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рд╕рд╛рде :рдмреНрд░рд╛рдЙрдЬрд╝рд░рдирд╛рдо = рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░рд╕рдВрд╕реНрдХрд░рдг = 116. рдХреНрд░реЛрдо рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ Chromedriver рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░, рддрджрдиреБрд╕рд╛рд░, рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЛ рдмрджрд▓реЗрдВред Json7. рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕реЗрд▓реЗрдиреЙрдЗрдб рд░рдирд┐рдВрдЧ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд▓реЙрдЧ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдбреНрд░рд╛рдЗрд╡рд░ рд▓реЙрдЧрд┐рдВрдЧ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП -cenure-рдбреНрд░рд╛рдЗрд╡рд░-рд▓реЙрдЧ рдлреНрд▓реИрдЧ рдХреЗ рд╕рд╛рде рд╕реЗрд▓реЗрдиреЙрдЗрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореБрдЦреНрдп рд╕рддреНрд░ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╕рддреНрд░ рдХреЗ рд▓рд┐рдПредрд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдХрд╣рдирд╛
рдбреЛрдХрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕реЗрд▓реЗрдирд╛рдЗрдб + рд╕реЗрд▓реЗрдиреЙрдЗрдб рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╕рдорд╛рдзрд╛рди рд░рдирдЯрд╛рдЗрдо рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдХреЗ рд▓рдЪреАрд▓реЗрдкрди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреА рд╕реНрдерд┐рд░рддрд╛, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдордп рдХреА рдмрдЪрдд, рдФрд░ рдХрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдЖрдкрдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рдиреЗ рдФрд░ рдереЛрдбрд╝реЗ рд╕рдордп рдореЗрдВ рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВ, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЛ рд╡рд░реАрдпрддрд╛ рджреЗрдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЖрдкрдХреЛ рдкрд░реАрдХреНрд╖рдг рд╕реНрд╡рдЪрд╛рд▓рди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЬрд▓реНрджреА рдФрд░ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред