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

Публикации elvis

85 публикаций создано elvis (учитываются публикации только с 05 июня 2023)



#149328 Что дает использование PageFactory?

Отправлено автор: elvis 12 марта 2016 - 12:37 в Selenium - Functional Testing

Можете написать PageFactory.initElements в конструкторе PageObject и тогда не надо будет его писать каждый раз. Во всяком случае будет доступна ленивая инициализация елементов PageObject.




#149869 Что дает использование PageFactory?

Отправлено автор: elvis 29 марта 2016 - 05:51 в Selenium - Functional Testing

 

Привет!

Я тоже считаю, что PageFactory не нужна. Более того, я думаю, что объявление элементов как полей класса пэдж-обжекта - неправильно. Это компроментирует одно из ключевых понятий ООП (ведь пэдж-обжект - это объект, верно?) - инкапсуляцию.

 

Смотрите, как можно сделать Page Object ещё гораздо проще. Без всяких фактори.

 

import static com.codeborne.selenide.*;

public class ReallySimplePageObject {
    public void find(String word){
        $("#lst-ib").sendKeys("Искать что-нибудь");
        $(By.name("btnK")).click();
    }   
}

@Test
public void canSearchWithGoogle() {
  ReallySimplePageObject searchPage = open("https://www.google.com.ua", ReallySimplePageObject.class);
  searchPage.find("Искать что-нибудь");
}

 

Ага, и копи-пейстить эти локаторы, если они используются в ReallySimplePageObject.class неоднократно? Ведь всякие случаи бывают. Изменится локатор, искать его тоже в методе будете? Безымянный и с трёхэтажным xpath. Тут я не совсем согласен. Лучше объявить эти локаторы By в начале класса. Бывают конечно и исключения.. но на то они и исключения.




#154291 Построение тестового фреймворка с нуля

Отправлено автор: elvis 15 сентября 2016 - 07:15 в Автоматизированное тестирование

возьмите любой веб-проект с гитхаба, установите локально и автоматизируйте до посинения




#154339 Построение тестового фреймворка с нуля

Отправлено автор: elvis 16 сентября 2016 - 06:50 в Автоматизированное тестирование

Molechka как сняла с языка.




#154273 Построение тестового фреймворка с нуля

Отправлено автор: elvis 14 сентября 2016 - 10:01 в Автоматизированное тестирование

 

Самый простой способ - это selenide

http://selenide.org/quick-start.html

 

Там есть ссылки на примеры на гитхабе

 

селенид хорош, но для меня сейчас больше актуален селениум.

 

а поподробнее - чем вам голый селениум актуальнее удобной обёртки вокруг него же?




#153372 Вызвать ошибку от testng (Selenium, Java)

Отправлено автор: elvis 08 августа 2016 - 12:57 в Автоматизированное тестирование

ребят, ну что вы как маленькие. Читаем документацию 
 

assertTrue(boolean condition, java.lang.String message)

можешь в ассерт вставить сообщение которое будет вываливаться при фейле. И в это сообщение можешь любую информацию о переменных вывести. Элементарные вещи спрашиваете.




#153380 Вызвать ошибку от testng (Selenium, Java)

Отправлено автор: elvis 08 августа 2016 - 14:26 в Автоматизированное тестирование

По поводу варианта elvis

по мне

 

ошибка expected [true] but found [false]

выглядит менее читаемо в отчете, чем

ошибка

не совсем понял о чём вы? Выглядеть оно будет не так.




#153421 Хочу многократно использовать сценарий в Cucumber, по аналогии с проце

Отправлено автор: elvis 11 августа 2016 - 07:01 в Автоматизированное тестирование

Немного не в тему, но такой функционал есть в gauge https://github.com/getgauge .  Там кроме сценариев и спецификаций (аналог feature) есть ещё понятие concept, который составляется из существующих шагов, хранится в отдельном файле и может быть указан как шаг в любом сценарии. Если есть желание попробовать что-то новое, то gauge неплохая альтернатива cucumber. http://getgauge.io/d...s/concepts.html




#151117 "Fuzzy" сравнение скриншотов

Отправлено автор: elvis 12 мая 2016 - 15:06 в Автоматизированное тестирование

Я пробовал, давным-давно, на десктоп-приложении.

Могу сказать, что это извращение, и реальной пользы от этого подхода достичь вряд ли возможно. 

 

То, что вы этим решили позаниматься - хорошо и похвально, но строить на этом все тестирование продукта - провальная затея.

А никто и не говорит про полное тестирование. Просто есть некоторые места где это бы пригодилось. И почему же всё таки извращение? Существует, насколько я знаю даже не один фреймворк поддерживающий такой вид проверок. Даже, если не ошибаюсь Yandex это использует (где-то об этом читал).




#151110 "Fuzzy" сравнение скриншотов

Отправлено автор: elvis 12 мая 2016 - 14:03 в Автоматизированное тестирование

Заморочился вникнуть в тему тестирования графики веб приложения при помощи референсных скриншотов. Кто пользовался таким методом тестирования, и что можете сказать?

 

Навскидку, первые проблемы с которыми я столкнулся - если шрифт чуть по другому рендерится в разных браузерах, то тесты упадут. Попробовал метод так называемого fuzzy сравнения изображений, который позволяет определить некоторый допуск, но с ним есть одна загвоздка - как выбрать такой порог допуска, чтобы и незначительные отклонения игнорировать и отлавливать ошибки, где скажем появилась запятая не там где надо, или кавычки пропали?




#152698 Как настроить последовательность выполнения автотеста.

Отправлено автор: elvis 14 июля 2016 - 07:10 в Автоматизированное тестирование

http://memorynotfoun...s-method-order/




#151074 Не находит элемент Selenium Webdriver

Отправлено автор: elvis 11 мая 2016 - 06:57 в Автоматизированное тестирование

"//a[@href='/welcome']" 

 

И не советую использовать полный путь xpath как вы это делаете. Добавится какой-нибудь элемент в промежутке и все локаторы слетят. Пользуйтесь атрибутами элементов для поиска.




#154725 Цветные логи для тестов - TestNG ломает форматирование

Отправлено автор: elvis 27 сентября 2016 - 12:32 в Автоматизированное тестирование

а приоритеты тестам в коде как назначаете?




#150240 Логирование параллельных тестов

Отправлено автор: elvis 11 апреля 2016 - 12:13 в Автоматизированное тестирование

Поделитесь опытом, коллеги. Кто как логирует прогресс тестов, и логируете ли вообще. В случае когда все тесты идут один за другим нет вопросов, а вот с параллельными тестами возникает каша в консоли. Интересует конечно прежде всего варианты для Java.




#150321 Логирование параллельных тестов

Отправлено автор: elvis 12 апреля 2016 - 17:28 в Автоматизированное тестирование

Жесть, но есть над чем поработать. В итоге конечно, будет всё в каше, но по названию тестового класса можно grep'ом отфильтровать что надо. Плюс наверное буду писать для каждого тест класса отдельный лог файл.




#149824 Чтение Cucumber feature file из TFS

Отправлено автор: elvis 26 марта 2016 - 12:06 в Автоматизированное тестирование

Я что-то не совсем понимаю. В чём проблема поженить Jenkins c TFS? Есть же соответствующие плагины




#150010 Запуск Cucumber тестов в параллели?

Отправлено автор: elvis 02 апреля 2016 - 09:50 в Selenium - Functional Testing

при чём тут селениум?




#150045 Запуск Cucumber тестов в параллели?

Отправлено автор: elvis 04 апреля 2016 - 13:48 в Selenium - Functional Testing

C огурцом особенно не связывался, поэтому не могу ничего посоветовать, но селениум тут точно ни при чём. За параллельный запуск он не отвечает. А гуглить пытались?

Вот какой-то пример сразу https://opencredo.co...ts-in-parallel/




#154793 Ошибка java.lang.AbstractMethodError при запуске теста

Отправлено автор: elvis 29 сентября 2016 - 07:06 в Автоматизированное тестирование

.




#150780 Как из командной строки запустить параметризированный JUnit-тест с пер

Отправлено автор: elvis 26 апреля 2016 - 17:17 в Автоматизированное тестирование

Ну первое, что на ум приходит - пусть твой тест, например читает переменные окружения через  System.getProperty("sendTo") а их можно очевидно устновить из командной строки.
 

  • -DsendTo=mail@mail.ru -DnumberOfDays=30

Но вообще, на мой взгляд запускать тесты из jar - извращение в чистом виде.




#150807 Как из командной строки запустить параметризированный JUnit-тест с пер

Отправлено автор: elvis 27 апреля 2016 - 14:47 в Автоматизированное тестирование

 

Но вообще, на мой взгляд запускать тесты из jar - извращение в чистом виде.

 

А как ещё это можно сделать, подскажите, пожалуйста.

Я знаю несколько способов:

1) Из среды разработки (например, Eclipse).

2) Выгрузить в другую прогу (например, в JMeter) и запускать из неё.

3) Через командную строку (тогда можно подключить Jenkins и настроить в нём задания).

 

Точно так же и локально с командной строки запускаете, если Jenkins не настроен. Тем же maven или gradle и передавайте им какие хотите параметры.




#151484 Кол-во запусков тестов в TestNG.

Отправлено автор: elvis 25 мая 2016 - 17:38 в Автоматизированное тестирование

Поставь брейк поинт в IDE на одном из таких тестов и посмотри куда оно ходит для повторного вызова.




#153808 Поиск элемента

Отправлено автор: elvis 23 августа 2016 - 20:47 в Автоматизированное тестирование

приведите больший кусок кода. элемент li там явно не один?




#152237 Проблемы с запуском автотестов на Bamboo

Отправлено автор: elvis 27 июня 2016 - 06:43 в Автоматизированное тестирование

что значит не запускает браузер? Вполне себе запускает, просто проблема в том, что у агента нет никакого физического монитора, и ему нужно указать виртуальный дисплей (не знаю как это делается на винде, на linux это xvfb). Или есть вариант запускать тесты с headless драйвером вроде phantomjs.




#152584 Selenium - Java, поиск до необходимого елемента

Отправлено автор: elvis 11 июля 2016 - 14:33 в Автоматизированное тестирование

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