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

Rara

Регистрация: 14 мар 2007
Offline Активность: 02 ноя 2013 12:21
-----

#122632 Selenium + Thucydides + Java: драйвер не видит "скрытые" элеме

Написано Rara 10 октября 2013 - 13:08

Видимо в новой версии Selenium поменялся алгоритм определения видимости элемента.

Попробуйте делать клик с использованием JavaScript:

WebElement element = getDriver().findElement(By.xpath("//*[@id='bank']/li["+randomChose+"]/span"));
getDriver().executeScript("arguments[0].click();", element);

  • 1


#120064 Selemium + JUnit: Использование AssertionError в другом методе

Написано Rara 19 июля 2013 - 11:29

package wargaming;

import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TestRule;
import org.junit.rules.TestWatcher;
import org.junit.runner.Description;

import static org.junit.Assert.fail;

public class JustForTest {
    @Rule
    public TestRule watchman = new TestWatcher() {
        @Override
        protected void failed(Throwable e, Description description) {
            System.out.println(description.getMethodName() + ": " + e.getLocalizedMessage());
        }
    };

    @Test
    public void test1() {
        fail("Сообщение об ошибке");
    }
}

Перегружаемый метод failed() запускается при ошибках в методах аннотированных @Test перед выполнением метода с аннотацией @AfterTest. При этом он получает Description теста и информацию об ошибке. Её можно обработать здесь же или сохранить для обработки в @AfterTest.

Чтобы не прописывать Rule в каждом тесте заново, можно создать базовый класс с Rule и унаследовать от него все тестовые классы.
  • 1


#118913 Сохранить файл

Написано Rara 20 июня 2013 - 08:28

Мы используем второй способ, но у нас автоматизация только с использованием Firefox (хоть и на разных ОС).

Если везде одна операционка, то можно глянуть в сторону первого способа.
Третий красив своей кроссплатформенностью, кроссбраузерностью и надёжностью (ничего не сломается при выходе новой версии браузеров), но чутка "срезает углы" (не тестирует реальное сохранение файла с использованием функционала браузера).

Вот хорошая статья.
  • 1


#108663 Переиспользование сессий в WebDriver

Написано Rara 14 августа 2012 - 13:15

http://code.google.c.../detail?id=3927
  • 1


#105668 getElementsByTagName

Написано Rara 17 мая 2012 - 10:28


for (WebElement element : window.document.getElementsByTagName('select')) {

     String color = getComputedStyle(element).getPropertyValue('color');

     // ...

     // Тут делаем что-то с полученным значением

     // ...

}


  • 1


#102929 assertText непонятный error

Написано Rara 26 марта 2012 - 06:03

Можно сделать getText для данного элемента и сохранить полученный результат в какой-нибудь переменной. А потом посимвольно (например, визуально в отладчике) сравнить с тем, что написано в assertText.
  • 1


#102367 проверка состояния теста

Написано Rara 16 марта 2012 - 07:53

возник вопрос вот такого характера :
если возможность проверить, что например файерфокс закрыт. дело в том что есть два метода…изначально работает один и он закрывает браузер…но браузер закрывается не всегда, ибо ему иногда мешает всплывающий алерт..а второй метод как-раз и кликает по алерту…так вот, хочется проверить, закрылось ли окно браузера или нет после работы первого метода

Какая-то странная логика у вашего приложения. Вначале закрываем браузер, а потом кликаем по алерту. Может лучше эти два действия поменять местами? :)
public void closeBrowser() {
   try {
      Alert alert = driver.switchTo().alert();
      alert.accept();
   } catch (Exception e) {
      // Ничего не делаем. Просто алерта в этот раз не было.
   }
   driver.close();
}

  • 1


#101917 Ожидание ввода с клавиатуры Webdriver

Написано Rara 06 марта 2012 - 13:40

Могу предложить следующий алгоритм:

  • WebDriver заполняет все поля на странице кроме Captcha
  • После этого он начинает ожидание появления какого-либо элемента, который будет присутствовать на следующией странице, но которого нет на текущей
  • При появлении ожидаемого элемента, тест продолжается в обычном режиме
В итоге исполнение автоматического теста будет продолжено после загрузки следующей страницы.

Как вариант, можно заменить второй пункт на ожидание пропадания поля с captcha, но тогда нужно аккуратно обрабатывать момент перезагрузки страницы.

PS. К сожалению, как это будет на python'e я не подскажу, т.к. пишу на java.
  • 1