рд╣реИрд▓реЛредрдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░реАрдХреНрд╖рдг рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдпрд╣ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкрд░реАрдХреНрд╖рдг рд░реВрдкрд░реЗрдЦрд╛ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реЛрдЧрд╛редрд╣рдо рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ: Java, Selenide, Alure, TestNG, Mavenред
рдкрд░рд┐рдЪрдп
рдЧрд┐рдЯрд╣рдм рдкрд░рд┐рдпреЛрдЬрдирд╛ - рд╕реЗрд▓реЗрдирд╛рдЗрдбрдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ редрдЕрдХреНрд╕рд░ рдкрд░реАрдХреНрд╖рдг рд╕реНрд╡рдЪрд╛рд▓рди рдкрд░ рд▓реЗрдЦ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:driver.get (тАЬURLтАЭ)
driver.find_element_by_id(тАЬIDтАЭ).send_keys(тАЬusernameтАЭ)
driver.find_element_by_id (тАЬIDтАЭ).send_keys(тАЬpasswordтАЭ)
driver.find_element_by_id(тАЬsubmitтАЭ).click()
рдЙрдореНрдореАрджреЛрдВ, рдкреЗрдЬ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдЖрджрд┐ рдХреЗ рдХрдИ рд╕рдорд╛рди рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред рдирддреАрдЬрддрди, рдПрдХ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдкрд░реАрдХреНрд╖рдХ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд╕рд╣реА рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмреИрд╕рд╛рдЦреА рдХреЗ рд╕рд╛рде рдЕрддрд┐рд╡реГрджреНрдзрд┐ рд╣реИ, рдпрд╣реА рд╡рдЬрд╣ рд╣реИ рдХрд┐ рдирдП рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдирд╛ рдФрд░ рдкреБрд░рд╛рдиреЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд░рд╣рд╛ рд╣реИредрдХреБрдЫ рдЙрдкрдХрд░рдг рдРрд╕реЗ рднреА рд╣реИрдВ рдЬреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рд╣реИрдВ рдФрд░ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдЕрддрд┐рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИрдВредрдореИрдВ рдПрдХ рд╕рд░рд▓, рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рдЯреЗрд╕реНрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рджрд┐рдЦрд╛рдКрдВрдЧрд╛, рдЬреЛ рдХрд┐ рдирд┐рдпрдорд┐рдд рд╕реЗрд▓реЗрдирд┐рдпрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ рдФрд░ рдЬрд┐рд╕рдХрд╛ рдореИрдВрдиреЗ рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЖрдзрд╛рд░ рд╣реИ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рд╕рдм рдХреБрдЫ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ (рд╕рдорд╛рдирд╛рдВрддрд░рдХрд░рдг, рд░рд┐рдореЛрдЯрдбреНрд░рд╛рдЗрд╡рд░, рдХрдИ рдкрд░реАрдХреНрд╖рдг, рдЖрджрд┐)редрдЙрдкрдХрд░рдг
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕рдВрд░рдЪрдирд╛
рдЖрдЗрдП рдРрдк рдФрд░ рдкреЗрдЬ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВ редPageBuilder рд╡рд░реНрдЧ
рдЖрдорддреМрд░ рдкрд░, рдЙрджрд╛рд╣рд░рдг рдХрд╛рдлреА рд╕рд░рд▓ рдкреГрд╖реНрда рджреЗрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдПрдХ рдХрдХреНрд╖рд╛ рдореЗрдВ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░, рд╕рднреА рдХрд╛рд░реНрдпрд╢реАрд▓рддрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реБрдП рдХрд╛рдлреА рдмрдбрд╝реЗ рдкреГрд╖реНрда рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рдХрдХреНрд╖рд╛ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╡рд┐рднрд┐рдиреНрди рднреБрдЧрддрд╛рди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рдХрдИ рд░реВрдкреЛрдВ рдХреЗ рд╕рд╛рде рдкреБрдирд░реНрднрд░рдг рдкреГрд╖реНрда рд╣реЛ рд╕рдХрддрд╛ рд╣реИредрдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреГрд╖реНрда рдХреЛ рдХрдИ рд╡рд░реНрдЧреЛрдВ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рддрддреНрд╡реЛрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯреЛрдХрд░реА рдореЗрдВ рдПрдХ рдЙрддреНрдкрд╛рдж) рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдкреГрд╖реНрда рдХреЗ рдореБрдЦреНрдп рд╡рд░реНрдЧ рдореЗрдВ рдПрдХ рд╕рд╛рде рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИредрдЗрд╕рд▓рд┐рдП, PageBuilder рд╡рд░реНрдЧ рдореЗрдВ, рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рд╕рднреА рдкреГрд╖реНрда рдмрдирд╛рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ редpackage app;
import app.pages.LoginPage;
public class PageBuilder {
public static LoginPage buildLoginPage() {
return new LoginPage("/login");
}
public static BalancePage buildBalancePage() {
DepositForm depositForm = new DepositForm();
WithdrawalForm withdrawalForm = new WithdrawalForm();
return new BalancePage("/balance", depositForm, withdrawalForm);
}
}
рдХрдХреНрд╖рд╛ AppConfig
AppConfig
рд╡рд░реНрдЧ рдкрд░реАрдХреНрд╖рдг рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП - рд╕рд╛рдЗрдЯ рдХрд╛ рдкрддрд╛, рдкрд░реАрдХреНрд╖рдг рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдЖрджрд┐ред рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рдпрд╣ рдХреЗрд╡рд▓ рд╕рд╛рдЗрдЯ рдХрд╛ рдкрддрд╛ рд╣реИредpackage app;
public class AppConfig {
public static final String baseUrl = "https://google.com";
}
рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд░реНрдЧ
рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдпрд╣ рдореБрдЦреНрдп рд╡рд░реНрдЧ рд╣реИред рдРрдк рдХреНрд▓рд╛рд╕ рдХреЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ , рд╕рднреА рдкреЗрдЬ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВредpackage app;
import app.pages.LoginPage;
public class App {
public LoginPage loginPage;
public App() {
loginPage = PageBuilder.buildLoginPage();
}
}
рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рдкреГрд╖реНрда рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ рдРрдк рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдкреГрд╖реНрда рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВредрд╕рд╛рде рд╣реА рдРрдк рдХреНрд▓рд╛рд╕ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдЬреИрд╕реЗ - рдкрдВрдЬреАрдХрд░рдг, рдкрдВрдЬреАрдХрд░рдг рдФрд░ рдЖрджреЗрд╢ рдирд┐рд░реНрдорд╛рдг, рдЖрджрд┐редрдпрд╣реА рд╣реИ, рдмрдбрд╝реЗ рдСрдкрд░реЗрд╢рди рдЬрд┐рд╕рдореЗрдВ рдХрдИ рдкреЗрдЬ рдСрдмреНрдЬреЗрдХреНрдЯ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЬрд┐рдирдХреА рдЕрдХреНрд╕рд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИредрдкреЗрдЬ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ
рд╕реЗрд▓реЗрдВрдЗрдб рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдкреГрд╖реНрда рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдмреЗрд╕рдкреЗрдЬ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рд╕реЗ рд╕рднреА рдкреЗрдЬ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рддреЗ рд╣реИрдВ ред рд╕рдВрдмрдВрдзрд┐рдд рдкреГрд╖реНрда url рдкреГрд╖реНрда рдСрдмреНрдЬреЗрдХреНрдЯ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИредрд╕рднреА рдкреГрд╖реНрда рддрддреНрд╡реЛрдВ рдореЗрдВ рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкрд╣реБрдВрдЪ рд╕рдВрд╢реЛрдзрдХ рд╣реИ , рдЗрд╕рд▓рд┐рдП рдЖрдк рдЕрдирд┐рд╡рд╛рд░реНрдп рдФрд░ рдШреЛрд╖рд┐рдд рджреЛрдиреЛрдВ рд╢реИрд▓рд┐рдпреЛрдВ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рддрддреНрд╡реЛрдВ рд╕реЗ рдЖрдк рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдкрд╛рда рдпрд╛ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛редрд▓реЛрдХреЗрдЯрд░ рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рднреА рдкреГрд╖реНрда рддрд░реНрдХ рдкреГрд╖реНрда рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдПредрдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдпрджрд┐ рдХреБрдЫ рдЯреВрдЯ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рд╡рд┐рдзрд┐ рдХреЛ рдЕрдВрддрд┐рдо рд░реВрдк рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рд▓реЛрдХреЗрдЯрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореЗрдВ рдмрджрд▓рддрд╛ рд╣реИред
package app.pages;
import com.codeborne.selenide.SelenideElement;
import helpers.Driver;
import static com.codeborne.selenide.Selenide.*;
public class LoginPage extends BasePage {
public SelenideElement loginField = $("#login__username");
public SelenideElement passwordField = $("#login__password");
public SelenideElement signInButton = $("#login_enter");
public SelenideElement termsOfUseLabel = $("label[for=\"login_agree\"]");
public LoginPage(String pageUrl) {
super(pageUrl);
}
public void login(String email, String password) {
loginField.setValue(email);
passwordField.setValue(password);
termsOfUseLabel.click();
signInButton.click();
Driver.waitForUrlContains("account/accounts");
}
}
рдЖрд░рд╛рдо
рд╕рд╣рд╛рдпрдХреЛрдВ
рдореЙрдбреНрдпреВрд▓ : 2 рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИTestConfig - рдЗрд╕ рд╡рд░реНрдЧ рд╕реЗ рдЖрдк рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдпрд╣рд╛рдВ рднреА рджрд┐рдЦрд╛рдИ рдЧрдИ рд╣реИрдВредрдЯреЗрд╕реНрдЯ рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рдЪрд▓рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред mvn test -Dbrowser=chrome -Dheadless=1
рдЪрд░ рдХрд╛ рдорд╛рди рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЯреЗрд╕реНрдЯрдХреЙрдиреНрдлрд┐рдЧ рдХреНрд▓рд╛рд╕ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж , рдкрд░реАрдХреНрд╖рдг рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВредрдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдкрд░реНрдпрд╛рд╡рд░рдг (рджреЗрд╡, рдордВрдЪ, рдЙрддреНрдкрд╛рджрди) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдпреВрдЖрд░рдПрд▓ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред
package helpers;
public class TestConfig {
public static String browser = "chrome";
public static String headless = "1";
public static void initConfig() {
browser = System.getProperty("browser") == null ? "chrome" : System.getProperty("browser");
headless = System.getProperty("headless") == null ? "1" : System.getProperty("headless");
}
public static boolean isHeadless() {
return headless.contains("1");
}
}
рдЪрд╛рд▓рдХ
рд╡рд░реНрдЧ рдЙрдкрдпреЛрдЧреА рддрд░реАрдХреЛрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЗ рд╕рд╛рде рд╕реЗрд▓реЗрдирд┐рдпрдо рдФрд░ рд╕реЗрд▓реЗрдирд╛рдЗрдб рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдореЗрд░рд╛ рдЖрд╡рд░рдг рд╣реИредрд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рддрд░реАрдХреЗ:Driver.initDriver () - рдпрд╣рд╛рдБ рдбреНрд░рд╛рдЗрд╡рд░ / рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред public static void initDriver() {
TestConfig.initConfig();
Configuration.pageLoadStrategy = "eager";
Configuration.browserSize = "1920x1080";
Configuration.holdBrowserOpen = false;
Configuration.screenshots = false;
if(TestConfig.isHeadless()) {
Configuration.headless = true;
} else {
Configuration.headless = false;
}
switch (TestConfig.browser) {
case "chrome":
Configuration.browser = Browsers.CHROME;
break;
case "firefox":
Configuration.browser = Browsers.FIREFOX;
break;
default:
Configuration.browser = Browsers.CHROME;
break;
}
}
Driver.clearCookies()
Driver.close()
рдЯреЗрд╕реНрдЯ
рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдХрдХреНрд╖рд╛рдПрдВ A_BaseTest рд╡рд░реНрдЧ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рд╣реИрдВ , рдЬрд┐рд╕рдореЗрдВ рдРрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ , рд╕реЙрдлреНрдЯрдПрд╕реЗрдЯрд░ , рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЦреБрд▓рддрд╛ рд╣реИ рдФрд░ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рдж рдХреБрдХреАрдЬрд╝ рд╕рд╛рдл рд╣реЛ рдЬрд╛рддреА рд╣реИрдВредрдПрдХ A_BaseTestListener рднреА рд╣реИ рдЬрд╣рд╛рдБ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд▓реЙрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИредрдкрд░реАрдХреНрд╖рдг рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВред рдкрдврд╝рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди, рдмрдирд╛рдП рд░рдЦрдиреЗ рдореЗрдВ рдЖрд╕рд╛рдиредimport org.testng.annotations.Test;
public class ExampleTest extends A_BaseTest
{
@Test
public void loginViaEmail() {
app.loginPage.open();
app.loginPage.login("email@email.com", "passwords");
logger.info("Sample info message");
softAssert.assertEquals(2,2);
softAssert.assertAll();
}
}
рдЯреЗрд╕реНрдЯ рдХрдХреНрд╖рд╛рдПрдВ testng.xml рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИрдВ редрдкрд░реАрдХреНрд╖рдг-рдЖрдЙрдЯрдкреБрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд▓реЙрдЧ рдФрд░ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╣реЛрддреЗ рд╣реИрдВ - Driver.takeScreenshot () редрд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХреЗ рд▓рд┐рдП, рдПрд▓реНрдпреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред рдкрд░реАрдХреНрд╖рдг рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдХрдорд╛рдВрдб рдЪрд▓рд╛ рд╕рдХрддреЗ allure serve target/allure-results
рд╣реИрдВ рдФрд░ рд░рд┐рдкреЛрд░реНрдЯ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ редрдЧрд┐рдЯрд╣рдм рдкреНрд░реЛрдЬреЗрдХреНрдЯ - рд╕реЗрд▓реЗрдирд╛рдЗрдбрдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ