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

Аудит и оптимизация QA-процессов
онлайн, начало 24 декабря
Автоматизация функционального тестирования
онлайн, начало 27 ноября
Логи как инструмент тестировщика
онлайн, начало 30 ноября
Тестирование REST API
онлайн, начало 30 ноября

vladMat

Регистрация: 02 июл 2020
Offline Активность: 22 ноя 2020 08:43
-----

Мои сообщения

В теме: Selenium + python + Kendo

19 октября 2020 - 19:17

Ок, какие есть варианты:
1. Неправильный контекст browser, возможно браузер ищет не на нужной странице. Можно попробовать найти элемент body взять innerHTML и проверить поиском что элемент '#Category_listbox li' есть в body
2. Возможно на странице есть iframe, тогда вначале нужно провалиться в этот iframe

3. Возможно элемент появляется на странице динамически, проверяется добавлением задержки в 5-10 секунд перед кликом

4. Можно отдебажить через console.log, подсовывая разные элементы, это все через execute_script

5. То же что и в 4 пункте, но с помощью alert


В теме: Selenium и Appium в одном тесте

15 октября 2020 - 04:50

А вас не смущает что вы импортировали webdriver из appium а потом перезаписали этот webdriver, другим webdriver из selenium?

from appium import webdriver as appium_webdriver
from selenium import webdriver as selenium_webdriver

Если и так не заработает, то могу предложить отказаться от использования браузера, а сделать проверку кода с помощью запроса на сервер (библиотека requests), в response проверите финальный урл, если залогинен, то тест положителен


В теме: Извлечение лога из Firefox. Получаю ошибку HTTP method not allowed.

15 октября 2020 - 04:38

Могу предложить:
1. Воспользоваться сторонними интеграциями типа Sentry (exceprionы отправляет сервер)

2. Смотреть серверные логи


В теме: Selenium + python + Kendo

15 октября 2020 - 04:28

Так я выбрал элемент из списка (список с пунктами можно предварительно не открывать)

document.querySelectorAll('#categories_listbox li')[2].click()

[2] - третий элемент в списке

Другой способ:
Как говорил раньше, есть скрытый инпут, который и передает на сервер значение (номер) выбранной категории https://prnt.sc/uzl5as
 

Если знаете чем заполнять, то можно сразу инпут заполнить

document.querySelector('#categories').value = "3"

Если изначально неизвестно чем заполнять, то значение можно получить так:

document.querySelectorAll('#categories_listbox li')[2].dataset.offsetIndex

В теме: Selenium + python + Kendo

13 октября 2020 - 01:22

Честно говоря, на словах тяжело понять что вам надо.

1. в span нельзя задать какой-то элемент из списка. Возможно значение элемента передается в скрытый input или select

2. на практике была проблема с react приложением и execut_script - самое простое, добавить временную задержку, посложнение - Webdriver.wait


Яндекс.Метрика
Реклама на портале