Перейти к содержимому

Практикум по тест-дизайну 2.0
онлайн, начало 26 января
Программирование на Python для тестировщиков
онлайн, начало 26 января
Тестирование защищенности веб-приложений
онлайн, начало 26 января
Управление требованиями
онлайн, начало 26 января
Фотография

Selenium webdriver протоколирование


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 fania

fania

    Новый участник

  • Members
  • Pip
  • 7 сообщений

Отправлено 23 Ноябрь 2017 - 21:25

Здравствуйте! Подскажите пожалуйста из за чего может дублировать логи в протоколе? Не могу разобраться. Или логгер неправильно подключаю или с вейтами что то не то...

 

By.id: email
By.id: email found
By.id: email
By.id: email found
values changed successfully
By.id: passwd
By.id: passwd found
 
Подключаю в тесте EventFiringWebDriver  
public static void main(String[] args) throws InterruptedException {

            EventFiringWebDriver driver = new EventFiringWebDriver (new ChromeDriver());
            driver.register(new MyListener());
            Login login = new Login(driver);
            login.open();
            login.fillEmail();
            login.fillPassword();
            login.clickButton();
Ожидания подключаю здесь:
public class Login {

    private EventFiringWebDriver driver;

    private By email = By.id("email");
    private By password = By.id("passwd");
    private By button = By.name("submitLogin");
    private String emailInput = "value";
    private String passwordInput = "Xcg7299bnSmMuRLp9ITw";

    public Login (EventFiringWebDriver driver){
        this.driver = driver;
    }

    public  void open(){
        
        driver.get("url");  
    }

    public  void fillEmail(){
        WebDriverWait wait = new WebDriverWait(driver, 10);
        wait.until(ExpectedConditions.presenceOfElementLocated(email));
        driver.findElement(email).sendKeys(emailInput);
    }

    public  void fillPassword(){
        driver.findElement(password).sendKeys(passwordInput);
    }

    public  void clickButton(){
               driver.findElement(button).click();
    }
}
Когда использую вместо wait -  driver.manage().timeouts().implicitlyWait(10, SECONDS); все работает нормально. Подключаю wait дублирует все значение где он присутствует.
 
 

  • 0

#2 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 549 сообщений


Отправлено 27 Ноябрь 2017 - 07:14

А где вы увидели дублирование в протоколе?


  • 0

#3 fania

fania

    Новый участник

  • Members
  • Pip
  • 7 сообщений

Отправлено 27 Ноябрь 2017 - 07:23

А где вы увидели дублирование в протоколе?

By.id: email
By.id: email found
By.id: email
By.id: email found

  • 0

#4 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 549 сообщений


Отправлено 27 Ноябрь 2017 - 08:54

wait.until(ExpectedConditions.presenceOfElementLocated(email));
driver.findElement(email).sendKeys(emailInput);

Сначала вы ждёте presenceOfElementLocated(email) - это первый повтор

потом вы driver.findElement(email) - это второй повтор


  • 0

#5 fania

fania

    Новый участник

  • Members
  • Pip
  • 7 сообщений

Отправлено 27 Ноябрь 2017 - 09:58

wait.until(ExpectedConditions.presenceOfElementLocated(email));
driver.findElement(email).sendKeys(emailInput);

Сначала вы ждёте presenceOfElementLocated(email) - это первый повтор

потом вы driver.findElement(email) - это второй повтор

 

 

 

я думал wait не участвует в логировании. Просто по тем примерам что есть на видео, нигде не видел дублирования. Хотя используются те же команды. 

  • 0


Selenium 2.0: стартовый уровень
онлайн, начало 19 января
Программирование на Java для тестировщиков
онлайн, начало 2 февраля
Автоматизация функционального тестирования
онлайн, начало 9 февраля
Selenium WebDriver: полное руководство
онлайн, начало 2 февраля



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале