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

Публикации checo

71 публикаций создано checo (учитываются публикации только с 28 сентября 2023)



#172699 Как прокрутить страницу используя selenium?

Отправлено автор: checo 24 июня 2019 - 14:09 в Selenium - Functional Testing

Запускать scrollTo() в JS.




#172698 Selenium + Winium.Desktop.Driver получить данные формы

Отправлено автор: checo 24 июня 2019 - 14:08 в Автоматизированное тестирование

Да, здесь та проблема, что динамическому контенту в списке ID не задашь заранее.

 

Можно найти сам список по ID и перебором отыскать элемент с нужными свойствами.

 

Можно придумать хитрый поиск по XPath. Там хитрость в том, что имена нодов задавать часто бесполезно, и приходится использовать звёздочку, а условия поиска задавать в атрибутах. Пример есть тут: https://github.com/2...ts/FindTests.cs




#171348 RESTfull Api Автотесты. IDE java.

Отправлено автор: checo 18 марта 2019 - 12:12 в Автоматизированное тестирование

Когда передаете в body объект, он автоматически пытается преобразовать его в XML с помощью JAXB. JAXB требует определенных аннотаций.

 

Если хотите форматировать строку самостоятельно, так и пишите: dc.toString().getBytes()




#173684 Возможно ли подключиться к существующей сессии открытой в Opera

Отправлено автор: checo 10 сентября 2019 - 11:57 в Selenium - Functional Testing

Можно наоборот: открыть Селениумом, сделать паузу (например, вывести окошко с кнопкой "продолжить", или просто поставить брекпойнт), и в паузе сделать всё руками.

Еще проще, если использовать интерпретируемый язык (например, Python) и запускать сценарии в режиме REPL.




#174796 seleniumIDE. как перключаться между окнами

Отправлено автор: checo 05 декабря 2019 - 13:05 в Selenium - Functional Testing

У IDE одна страница документации по командам (https://selenium.dev...en/api/commands).

  1. Переходим на нее.
  2. Ищем слово "frame".
  3. PROFIT!



#172162 При вызове метода current_url подтягивается url до redirect

Отправлено автор: checo 15 мая 2019 - 15:43 в Selenium - Functional Testing

Добрый день!

Задача проверить, что кейс выполнен успешно и перешел по успешному url. Стек webrdriver+python

Есть страница, после заполнения и отправки данных, если все ок, то браузер переходит на success_url

Я сохраняю текущий url, нажимаю кнопку отправить и жду перехода на новую страницу. В проверке сравниваю страницы

Скрытый текст

 

Тест не проходит. Смотрю в отладчике и почему-то в current_url сохранена ссылка до редиректа. А в driver.current_url хранится нужный url. Почему так происходит? Что нужно сделать, чтобы страница взяла верный url. Может нужно изменить ожидание? 

Смотрим реализацию в гитхабе:

@property
def current_url(self):
    return self.execute(Command.GET_CURRENT_URL)['value']

https://github.com/S...te/webdriver.py

 

Т.е., в отладчике, когда смотрите driver.current_url, команда драйверу посылается заново, и видно обновленное значение.

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

Что делать? Ну, например, написать своё ожидание. Explicit is better и всё такое.




#172702 Selenium WebDriver - Не получается выбрать элемент в выпадающем меню

Отправлено автор: checo 24 июня 2019 - 16:37 в Selenium - Functional Testing

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

 

Если автоматическая прокрутка не работает, то придется делать прокрутку через вызов скрипта на странице. Не думаю, что все необходимые параметры для передачи в скрипт удобно готовить в роботе. Возможно, придется делать реализацию своих шагов на питоне.

 

Можно ещё сымитировать действия пользователя - навести мышку и прокрутить колёсиком. Но боюсь, таким образом позиционировать на правильный элемент еще сложнее.

 

Еще локаторы с div, конечно, малочитаемые. Сложно понять, тот ли элемент они находят. Если еще не видели, рекомендую посмотреть доклад.




#171405 Кастомизация параметризации в pytest

Отправлено автор: checo 26 марта 2019 - 11:07 в Selenium - Functional Testing

https://docs.pytest....rizing-fixtures




#171358 Внезапное зависание страницы

Отправлено автор: checo 19 марта 2019 - 15:18 в Свободное общение

Ну и прекрасно, автоматизация нашла критическую проблему с зависанием страницы. Непонятно, почему "сами вэб страницы в порядке", если не в порядке. Если страница зависает, то скорее всего, в исходном JS какое-то условие гонки не обработано.

 

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




#171875 Регулярные выражения в Selenium IDE

Отправлено автор: checo 18 апреля 2019 - 15:52 в Selenium - Functional Testing

Ну что же, подождем специалистов по Selenium IDE. Я предполагал, что раз Вы используете такую команду, то она существует, и отвечал только про регулярки. Сейчас немного почитал - да, текущая версия не поддерживает регулярки. Для этого есть какие-то альтернативные сборки.




#174593 Jmeter отправляет меньше запросов чем должен по настройкам Thread grou

Отправлено автор: checo 25 ноября 2019 - 17:59 в Начинающему тестировщику

Может быть, вот этот доклад чем-то поможет.




#172734 Как избежать повторяющихся проверок и шагов в тестировании

Отправлено автор: checo 26 июня 2019 - 09:27 в Тест-дизайн и ручное тестирование

Дайте угадаю, у вас много тестировщиков и единое на всех тестовое окружение?

Если проблема переиспользования данных не в этом, то тогда в чём? База данных очищается при деплое или что-то подобное?

 

Мы проблему с одним порталом на команду так, что каждый создает свои личные группы объектов (на тестируемом портале такое было), и никто в чужие не лезет. Соответственно, всегда можно переиспользовать свои исходные данные. Или можно как-то имена/номера резервировать.

 

Конечно, я готов представить, что функциональность системы не позволит это сделать (например, какое-то действие должно выполняться над всеми объектами, и не затронуть чужое невозможно). Но это уже надо как-то разруливать внутри команды.




#171870 Регулярные выражения в Selenium IDE

Отправлено автор: checo 18 апреля 2019 - 12:57 в Selenium - Functional Testing

Да, неправильно. "*" - повторение последнего символа/группы 0 и более раз. ".*" - повторение любого символа/группы 0 и более раз. Но в Вашем случае правильнее использовать "06:\d\d" или "06:[0-5]\d".

https://www.w3school...xp_zeromore.asp




#175267 Save screenshot on test failure in python with 'splinter'

Отправлено автор: checo 21 января 2020 - 12:07 в Selenium - Functional Testing

падения нет, но и скриншот нигде не появляется

Так это же логично, правда? Откуда он должен появиться без падения?




#174835 Заполнить поля рандомными данными

Отправлено автор: checo 09 декабря 2019 - 15:01 в JMeter - Тестирование производительности

Ух как забористо... Запрос, который нажимает кнопку.

Рекомендую сначала что-то почитать или послушать по теме "Тестирование API".




#174829 Заполнить поля рандомными данными

Отправлено автор: checo 09 декабря 2019 - 10:33 в JMeter - Тестирование производительности

Сначала надо отправить запрос(ы) на выборку этих данных.

Дальше, к примеру, в Regex Extractor'е есть плюшка, которая позволяет получить случайное значение из списка подходящих.




#173381 Selenium Grid + Appium + Python

Отправлено автор: checo 20 августа 2019 - 13:59 в Selenium - Functional Testing

Возможно, никто на форуме еще не пробовал так делать, или они не успели сюда заглянуть.

 

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

Если нужно напрямую подключаться к драйверу по имени, почему бы так и не делать без всякого грида?




#171808 Сколько спринтов можно запускать в одном проекте?

Отправлено автор: checo 15 апреля 2019 - 12:58 в JIRA issue tracker

А что это дает? В бэклоге лежат задачи для разных команд с разных проектов? Или несколько изолированных команд работают над одним бэклогом?




#175236 Save screenshot on test failure in python with 'splinter'

Отправлено автор: checo 20 января 2020 - 09:08 в Selenium - Functional Testing

 

Я пытаюсь сохранить скриншот при падении теста в python с 'splinter'

<...>

 

2) Так же не получается прикрутить функцию splinter_make_screenshot_on_failure из pytest-splinter  https://github.com/p...pytest-splinter

Есть кто шарит? :)

А как пытаетесь прикрутить, что не получается? Если такая функция есть, свои способы вообще можно выключить.
 




#175747 Где искать?! Помогите, пожалуйста!

Отправлено автор: checo 02 марта 2020 - 15:49 в Круглый стол о работе в тестировании ПО

В аудитории Хабра электронщики есть. Сходите на Тостер.




#173327 Тестирование локализации

Отправлено автор: checo 15 августа 2019 - 08:27 в Про тестирование обо всём подряд

Статья - прекрасный пример того, что проверять перевод с носителями языка не менее важно, чем разметку. Speichere? Accuell? Вы серьёзно? И это я еще языки плохо знаю - просто то, что в глаза бросилось. Что уж говорить о переводах на какие-нибудь азиатские языки со своими системами письма, в которых даже просто сверить слова с образцом уже непросто.




#173382 Selenium Grid + Appium + Python

Отправлено автор: checo 20 августа 2019 - 14:15 в Selenium - Functional Testing

А вообще, по стандарту расширения капабилити должны передаваться с префиксом.

Попробуйте, может быть, распознает в виде "appium:deviceName".




#172931 Как писать тест-кейсы для автотестов или как сделать так, чтобы они пи

Отправлено автор: checo 15 июля 2019 - 16:14 в Автоматизированное тестирование

  1. а. Вы не отказываетесь от тест-кейсов. В стандартном подходе автоматизация - это те же тест-кейсы, только в виде скрипта.
    б. С гуглотаблицами может быть проблема. Это не общепринятый формат, придется клепать свои адаптеры или договариваться с заказчиком, чтоб принял ваш формат.
  2. Наверное, вот именно. Даже на моем текущем сильно забюрократизированном проекте считается, что автоматические кейсы могут служить документацией сами для себя.
  3. Непонятно. Вы собрались делать 100% автоматизацию? Так обычно не делают, хотя зависит от специфики продукта.

Есть известные подходы, и это:

  • BDD (или keyword-driven, с использованием тех же инструментов)
  • Allure
  • Robot Framework

Из личного опыта: на одном проекте писали на Gherkin, и был самописный скрипт по импорту-экспорту этих скриптов между репозиторием и системой управления проектом. Не прижилось: в итоге решили, что можно всё оставить в репозитории и не синхронизировать.

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




#171573 ImplicitWait не ждет больше 60 сек

Отправлено автор: checo 05 апреля 2019 - 09:03 в Selenium - Functional Testing

Возможно, это и правда дефект в драйвере или в браузере.

 

Но это совершенно неважно. Неявные ожидания по минуте никто не использует. Что у вас за софт такой, где каждый, абсолютно каждый элемент нужно ждать по минуте? С таким софтом просто невозможно работать.

 

Если есть какие-то длительные загрузки элементов или страниц, надо знать, где они возникают, и делать явные ожидания. Неявные по определению должны быть небольшими, а в последнее время от их использования вообще отказываются.




#174576 Экзамен ISTQB в России

Отправлено автор: checo 23 ноября 2019 - 11:50 в Свободное общение

Привет!

Они присылают извещение за 5 дней. То есть, если экзамен в субботу, то письмо будет только в понедельник.

Если письма не будет, то надо писать по обратной связи, которая есть на сайте. Они обычно отвечают.

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