А вы уверены, что локатор правильный?
Лично я очень часто встречаю, что modal-content открывается в том же контексте, т.е. ничего не нужно свитчить, ни фрейм, ни окно.
Noksa еще не добавил друзей
Написано Noksa 26 ноября 2018 - 08:25
А вы уверены, что локатор правильный?
Лично я очень часто встречаю, что modal-content открывается в том же контексте, т.е. ничего не нужно свитчить, ни фрейм, ни окно.
Написано Noksa 23 октября 2018 - 07:23
Добрый день, коллеги.
Вдохновлённый когда-то ашотом от Яндекса я решил сделать нечто подобное для C#.
Для меня это жизненно необходимо - делать скриншот всей страницы, а не только видимой области.
В общем, пришло время это доработать и сделать как отдельный проект и предоставить сообществу для пользования.
Nuget пакет: https://www.nuget.or...hotsExtensions/
GitHub: https://github.com/N...hots.Extensions
Для использования достаточно вызвать новую перегрузку метода расширения:
driver.TakeScreenshot(IScreenshotStrategy strategy)
Данный метод возвращает byte[].
В качестве аргумента вы можете передать декорированный объект, в зависимости от того, как вы хотите обработать скриншот.
Подробнее смотрите в вики на гитхабе.
Написано Noksa 08 октября 2018 - 10:43
Может человек пишет софт, который автоматически генерит классы на основе xml файлов :)
И бомбанёт на всю страну как BolgenOS!
Написано Noksa 03 октября 2018 - 06:32
Какие-то вы вопросы странные задаёте.
Кому что надо - тот то и включает.
Нужны скрины? Добавяйте скрины.
Нужны логи консоли браузера? Добавляйте логи.
О чём вообще вопрос?
Каким опытом делиться?
Тема ради темы.
Написано Noksa 25 сентября 2018 - 10:42
Написано Noksa 19 сентября 2018 - 15:06
Ну я могу лишь предположить, что вы запускаете тесты не через Jenkins, но хотите, чтобы Jenkins их держал всегда доступными для просмотра, забирая откуда-то извне...
Это очень кривой, костыльный кейс, честно говоря.
Но можно в самой джобе в шагах копировать allure-results из D:\testProject\Project\target\ в C:\Users\bravo\.jenkins\workspace\testProject\
и собсна в post уже указать директорию просто allure-results, и всё будет.
Написано Noksa 04 сентября 2018 - 12:22
Написано Noksa 31 августа 2018 - 05:07
Элементы, которые есть не только на одной странице - выносятся в отдельный класс, а потом путём композиции он добавляется на те страницы, где присутствует.
Спасибо за ответ! Может еще найдется одна две ссылки хороших с материалом по композиции?
https://metanit.com/...atterns/1.2.php
Применительно к АТ - если вы используете ленивую инициализация через рефлексию (PageFactory.InitElements()), то достаточно просто поле/проперти обозначить в классе.
Приведу свой пример:
Есть страница:
[PageTitle("Новости")] public class NewsPage : BasePage { #region Elements [FindBy(Id = "dpp")] [ElementTitle("Пункт выдачи")] private ATextLabel _pvz; #region Blocks public NavigationBlock NavigationBlock { get; set; } #endregion #endregion public override bool IsLoaded => _pvz.Exists(); }
В ней пропертя NagivationBlock - и есть класс, в котором находятся элементы, которые представлены не только на этой странице.
Написано Noksa 30 августа 2018 - 09:41
Подскажите пожалуйста, где можно прочитать инфу по настройке докера для автотестов
Смотря что вы хотите.
Если хотите запускать автотесты через докер - нужен Selenoid. Если кластер большой - то ещё GGR.
А для запуска дженкинса, вам нужно сделать следующее:
1) Иметь виртуалку/физ. машину с докером (желательно сразу линуксовую)
2) В терминале написать команду docker run -p 8080:8080 jenkins/jenkins
Далее радоваться установленному дженкинсу и заходить на него через ип_машины:8080
Написано Noksa 30 августа 2018 - 09:34
Элементы, которые есть не только на одной странице - выносятся в отдельный класс, а потом путём композиции он добавляется на те страницы, где присутствует.
Написано Noksa 23 августа 2018 - 12:23
Что-то вы какую-то дичь спрашиваете, если честно...
Если вы в этом совсем не разбираетесь, зачем в это влезать?
Чтобы избегать дублирования - его не надо создавать (КЭП).
@Given("^user is on the (.*) page$") public void onPage(String pageName) throws Throwable {
Этого достаточно один раз, как общие шаги...
И да, вот это
throws Throwable {
просто ужас.
Написано Noksa 13 августа 2018 - 12:12
Наверное имелось в виду, что кукумбер в неумелых руках просто сам по себе замедлит разработку, ибо лишние слои, абстракции, че к чему и тд
Написано Noksa 13 августа 2018 - 09:39
Вот я тоже не могу понять.
Если это единственный человек в команде тестирования - и он не имеет опыта автоматизации - зачем он этим занимается?
Не, ну если начальство хочет научить сотрудника - это хорошо. Только тогда оно должно быть готово к тому, что он будет не то что замедлять процесс, а просто кидать якорь.
Написано Noksa 19 июля 2018 - 05:41
compose = driver.find_element(By.XPATH, "//span[@class = 'mail-ComposeButton-Text' and text() = 'Написать']") compose = driver.find_element(By.XPATH, "//span[@class = 'mail-ComposeButton-Text' and contains(text(), 'Написать')]")
Данные локаторы более подвержены поломке, нежели чем
compose = driver.find_element(By.CSS_SELECTOR, ".mail-ComposeButton-Text")
Просто хотя бы потому, что текст может поменяться, либо поменяться язык, и локаторы сломаются.
Так что привязываться к тексту стоит только в самом крайнем случае.
Написано Noksa 17 июля 2018 - 04:50
Зачем вообще использовать буфер обмена в тестах?
В чем смысл?
Вы хотите протестировать, что в ОС буфер обмена работает?
Community Forum Software by IP.Board Русификация от IBResource
Лицензия зарегистрирована на: Software-Testing.Ru