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

Эффективное использование TestNG и JUnit
онлайн, начало 20 апреля
Логи как инструмент тестировщика
онлайн, начало 23 апреля
Тестирование производительности (HP Load Runner)
онлайн, начало 20 апреля
Управление требованиями
онлайн, начало 20 апреля
Фотография

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
  • 550 сообщений


Отправлено 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
  • 550 сообщений


Отправлено 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: стартовый уровень
онлайн, начало 13 апреля
Программирование на Java для тестировщиков
онлайн, начало 4 мая
Автоматизация функционального тестирования
онлайн, начало 25 мая
Selenium WebDriver: полное руководство
онлайн, начало 11 мая



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

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

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