Запускать scrollTo() в JS.
- Форум тестировщиков
- → Публикации checo
71 публикаций создано checo (учитываются публикации только с 28 сентября 2023)
Отправлено автор: checo 24 июня 2019 - 14:09 в Selenium - Functional Testing
Запускать scrollTo() в JS.
Отправлено автор: checo 24 июня 2019 - 14:08 в Автоматизированное тестирование
Да, здесь та проблема, что динамическому контенту в списке ID не задашь заранее.
Можно найти сам список по ID и перебором отыскать элемент с нужными свойствами.
Можно придумать хитрый поиск по XPath. Там хитрость в том, что имена нодов задавать часто бесполезно, и приходится использовать звёздочку, а условия поиска задавать в атрибутах. Пример есть тут: https://github.com/2...ts/FindTests.cs
Отправлено автор: checo 18 марта 2019 - 12:12 в Автоматизированное тестирование
Когда передаете в body объект, он автоматически пытается преобразовать его в XML с помощью JAXB. JAXB требует определенных аннотаций.
Если хотите форматировать строку самостоятельно, так и пишите: dc.toString().getBytes()
Отправлено автор: checo 10 сентября 2019 - 11:57 в Selenium - Functional Testing
Можно наоборот: открыть Селениумом, сделать паузу (например, вывести окошко с кнопкой "продолжить", или просто поставить брекпойнт), и в паузе сделать всё руками.
Еще проще, если использовать интерпретируемый язык (например, Python) и запускать сценарии в режиме REPL.
Отправлено автор: checo 05 декабря 2019 - 13:05 в Selenium - Functional Testing
У IDE одна страница документации по командам (https://selenium.dev...en/api/commands).
Отправлено автор: checo 15 мая 2019 - 15:43 в Selenium - Functional Testing
Добрый день!
Задача проверить, что кейс выполнен успешно и перешел по успешному url. Стек webrdriver+python
Есть страница, после заполнения и отправки данных, если все ок, то браузер переходит на success_url
Я сохраняю текущий url, нажимаю кнопку отправить и жду перехода на новую страницу. В проверке сравниваю страницы
Скрытый текстdriver = self.app.driver
self.submit()
WebDriverWait(driver, 20).until(
EC.url_changes)
current_url = driver.current_url
assert (current_url.startswith("http://yandex.ru"))
Тест не проходит. Смотрю в отладчике и почему-то в 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 и всё такое.
Отправлено автор: checo 24 июня 2019 - 16:37 в Selenium - Functional Testing
Подвох в том, что IDE работает внутри браузера и может непосредственно общаться со страницей, а RF использует WebDriver, и для него некликабельный элемент - значит, некликабельный.
Если автоматическая прокрутка не работает, то придется делать прокрутку через вызов скрипта на странице. Не думаю, что все необходимые параметры для передачи в скрипт удобно готовить в роботе. Возможно, придется делать реализацию своих шагов на питоне.
Можно ещё сымитировать действия пользователя - навести мышку и прокрутить колёсиком. Но боюсь, таким образом позиционировать на правильный элемент еще сложнее.
Еще локаторы с div, конечно, малочитаемые. Сложно понять, тот ли элемент они находят. Если еще не видели, рекомендую посмотреть доклад.
Отправлено автор: checo 26 марта 2019 - 11:07 в Selenium - Functional Testing
Отправлено автор: checo 19 марта 2019 - 15:18 в Свободное общение
Ну и прекрасно, автоматизация нашла критическую проблему с зависанием страницы. Непонятно, почему "сами вэб страницы в порядке", если не в порядке. Если страница зависает, то скорее всего, в исходном JS какое-то условие гонки не обработано.
Конечно, если вручную это воспроизвести совсем невозможно даже при очень быстром вводе, то надо приближать скрипт к реальным условиям. Возможно, после заполнения полей должен отработать какой-то скрипт валидации. Лучше всего здесь посоветоваться с разработчиками и узнать, по каким признакам его дождаться. Если нет такой возможности, придется самостоятельно копать, общего рецепта тут нет.
Отправлено автор: checo 18 апреля 2019 - 15:52 в Selenium - Functional Testing
Ну что же, подождем специалистов по Selenium IDE. Я предполагал, что раз Вы используете такую команду, то она существует, и отвечал только про регулярки. Сейчас немного почитал - да, текущая версия не поддерживает регулярки. Для этого есть какие-то альтернативные сборки.
Отправлено автор: checo 25 ноября 2019 - 17:59 в Начинающему тестировщику
Может быть, вот этот доклад чем-то поможет.
Отправлено автор: checo 26 июня 2019 - 09:27 в Тест-дизайн и ручное тестирование
Дайте угадаю, у вас много тестировщиков и единое на всех тестовое окружение?
Если проблема переиспользования данных не в этом, то тогда в чём? База данных очищается при деплое или что-то подобное?
Мы проблему с одним порталом на команду так, что каждый создает свои личные группы объектов (на тестируемом портале такое было), и никто в чужие не лезет. Соответственно, всегда можно переиспользовать свои исходные данные. Или можно как-то имена/номера резервировать.
Конечно, я готов представить, что функциональность системы не позволит это сделать (например, какое-то действие должно выполняться над всеми объектами, и не затронуть чужое невозможно). Но это уже надо как-то разруливать внутри команды.
Отправлено автор: checo 18 апреля 2019 - 12:57 в Selenium - Functional Testing
Да, неправильно. "*" - повторение последнего символа/группы 0 и более раз. ".*" - повторение любого символа/группы 0 и более раз. Но в Вашем случае правильнее использовать "06:\d\d" или "06:[0-5]\d".
Отправлено автор: checo 21 января 2020 - 12:07 в Selenium - Functional Testing
падения нет, но и скриншот нигде не появляется
Так это же логично, правда? Откуда он должен появиться без падения?
Отправлено автор: checo 09 декабря 2019 - 15:01 в JMeter - Тестирование производительности
Ух как забористо... Запрос, который нажимает кнопку.
Рекомендую сначала что-то почитать или послушать по теме "Тестирование API".
Отправлено автор: checo 09 декабря 2019 - 10:33 в JMeter - Тестирование производительности
Сначала надо отправить запрос(ы) на выборку этих данных.
Дальше, к примеру, в Regex Extractor'е есть плюшка, которая позволяет получить случайное значение из списка подходящих.
Отправлено автор: checo 20 августа 2019 - 13:59 в Selenium - Functional Testing
Возможно, никто на форуме еще не пробовал так делать, или они не успели сюда заглянуть.
Но если просто рассуждать, то грид нужен именно для того, чтобы у вас были в распоряжении несколько устройств с одинаковыми возможностями, и хаб сам решит, какое из них выделить.
Если нужно напрямую подключаться к драйверу по имени, почему бы так и не делать без всякого грида?
Отправлено автор: checo 15 апреля 2019 - 12:58 в JIRA issue tracker
А что это дает? В бэклоге лежат задачи для разных команд с разных проектов? Или несколько изолированных команд работают над одним бэклогом?
Отправлено автор: checo 20 января 2020 - 09:08 в Selenium - Functional Testing
Я пытаюсь сохранить скриншот при падении теста в python с 'splinter'
<...>
2) Так же не получается прикрутить функцию splinter_make_screenshot_on_failure из pytest-splinter https://github.com/p...pytest-splinter
Есть кто шарит? :)
А как пытаетесь прикрутить, что не получается? Если такая функция есть, свои способы вообще можно выключить.
Отправлено автор: checo 02 марта 2020 - 15:49 в Круглый стол о работе в тестировании ПО
В аудитории Хабра электронщики есть. Сходите на Тостер.
Отправлено автор: checo 15 августа 2019 - 08:27 в Про тестирование обо всём подряд
Статья - прекрасный пример того, что проверять перевод с носителями языка не менее важно, чем разметку. Speichere? Accuell? Вы серьёзно? И это я еще языки плохо знаю - просто то, что в глаза бросилось. Что уж говорить о переводах на какие-нибудь азиатские языки со своими системами письма, в которых даже просто сверить слова с образцом уже непросто.
Отправлено автор: checo 20 августа 2019 - 14:15 в Selenium - Functional Testing
А вообще, по стандарту расширения капабилити должны передаваться с префиксом.
Попробуйте, может быть, распознает в виде "appium:deviceName".
Отправлено автор: checo 15 июля 2019 - 16:14 в Автоматизированное тестирование
Есть известные подходы, и это:
Из личного опыта: на одном проекте писали на Gherkin, и был самописный скрипт по импорту-экспорту этих скриптов между репозиторием и системой управления проектом. Не прижилось: в итоге решили, что можно всё оставить в репозитории и не синхронизировать.
Сейчас на другом проекте у нас свой велосипед, который сразу экспортирует результаты тестов в отчеты нужного вида.
Отправлено автор: checo 05 апреля 2019 - 09:03 в Selenium - Functional Testing
Возможно, это и правда дефект в драйвере или в браузере.
Но это совершенно неважно. Неявные ожидания по минуте никто не использует. Что у вас за софт такой, где каждый, абсолютно каждый элемент нужно ждать по минуте? С таким софтом просто невозможно работать.
Если есть какие-то длительные загрузки элементов или страниц, надо знать, где они возникают, и делать явные ожидания. Неявные по определению должны быть небольшими, а в последнее время от их использования вообще отказываются.
Отправлено автор: checo 23 ноября 2019 - 11:50 в Свободное общение
Привет!
Они присылают извещение за 5 дней. То есть, если экзамен в субботу, то письмо будет только в понедельник.
Если письма не будет, то надо писать по обратной связи, которая есть на сайте. Они обычно отвечают.
В моем случае еще достаточно расплывчато писали место прохождения - адрес офисного центра без указания, через какой вход заходить и куда идти внутри. Написал письмо - уточнили, и даже дали телефон для контакта.
Community Forum Software by IP.Board Русификация от IBResource
Лицензия зарегистрирована на: Software-Testing.Ru