Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ConciseAPI {
- ...
- public static WebDriver getDriver(){
- return ConciseAPI.driver;
- }
- /*
- у нас уже есть способ получить вебдрайвер - вызвать getDriver()
- */
- ...
- public static void open(String url){
- getDriver().get(url);
- }
- /*
- и вот тут грамотно getDriver() использован
- */
- public static WebElement $(WebDriver driver, String cssSelector){
- public static WebElement $(WebDriver driver, By elementLocator){
- public static <V> V assertThat(WebDriver driver, ExpectedCondition<V> condition) {
- ...
- /*
- а для чего в других методах - параметр WebDriver driver?
- мы же уже спокойно можем вызвать getDriver() - в любом из методов
- и в этом же классе - тоже
- пробегись по всем методам
- не нужно нам дополнительного параметра для вебдрайвера)
- только сеттер и будет получать вебдрайвер
- а в остальных случаях - когда надо получить вебдрайвер - будет использоваться геттер
- */
- **********************************************
- public class MailsPage extends BasePage {
- public By mails = byCss("[role='main'] .zA");
- /*
- грамотно перешел на использование локаторов)
- */
- ************************************
- public MailsPage(WebDriver driver){
- super(driver);
- }
- public void send(String recipient, String subject){
- $(driver, byText("COMPOSE")).click();
- /*
- уже обсуждали с тобой выше
- да и в слеке тоже)
- нам не надо отсюда передавать driver
- т к метод $ - уже оперирует драйвером из ConciseAPI
- значит - нам тут не нужен driver из предка пейджа
- */
- *****************************
- public class BasePage {
- public WebDriver driver;
- public BasePage(WebDriver driver){
- this.driver = driver;
- PageFactory.initElements(driver, this);
- }
- }
- /*
- driver - уже не нужен
- да и PageFactory.initElements(driver, this) - нужно лишь в случае использования
- аннотированных FindBy переменных
- а мы от них избавились
- значит - предок пейджа - нам не нужен тоже
- подумай - что теперь нас сдерживает,
- чтобы вернуться к использованию пейджей-модулей?
- кода станет еще меньше)
- */
Advertisement
Add Comment
Please, Sign In to add comment