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

maverick12345

Регистрация: 31 янв 2022
Offline Активность: 25 мар 2023 17:43
-----

Мои темы

PyTest Page Object Model создание массива

21 июля 2022 - 14:57

Создаю функцию массива

Хочу вывести массив из N-элементов в цикле по переменной WS_LIST

 

def do_ws_desc(self):
self.do_click(self.WS_DESC)
array = []
   for i in self.get_list(self.WS_LIST):
   array.append(i.get_attribute('innerText'))

print(array)

 

 

 

self.get_list(self.WS_LIST) наследует от basePage

 

как:

def get_list(self, by_locator):
self.wait.until(EC.presence_of_all_elements_located(by_locator)) 

И ожидает получить все элементы по его XPATH

 

сам локатор:

WS_LIST = (By.XPATH, "//td[@data-test='table_cell_ws1']/div/span") - это список с текстом

У меня на странице 7 элементов с данным XPATH

 

 

В ошибке получаю

TypeError: 'NoneType' object is not iterable 
Что элемент не взаимодействуемый
 
Прошу знатоков помочь

PyTest как добавить функции driver.execute_script в класс BasePage

10 июля 2022 - 11:13

Друзья, помогите пожалуйста
В тестовом фреймворке POM на PyTest
 
Как добавить в файл BasePage с классом 
 

class BasePage:



Функцию, чтобы драйвер мог выполнить JS-скрипт по типу таких, как клик:

VAR = driver.find_element(By....)

driver.execute_script("arguments[0].click(); VAR")



И фокус:

driver.execute_script("document.querySelector('SELECTOR').focus()")

 
Помимо основных, как do_click, do_send_keys, get_text, etc
 
Спасибо огромное заранее
У нас многие элементы работают на JS

 

Прикрепленный файл  Screenshot_1.png   114,43К   0 Количество загрузок:


Использование implicit waits и expected conditions в разных тестах

19 мая 2022 - 15:04

Добрый день всем

 

Прошу подсказать мне, как решить проблему использования driver.implicit waits и driver.ec

 

Например по стандарту для всех def я использую implicit waits(20), но для других мне нужно уменьшить время ожидания появления/отсутствия элемента на странице, путем уменьшения времени ожидания до 3..5 секунд

 

Вопрос: Как для одних тестов использовать стандартные ожидания, а для других ожидания меньшего тайминга

 

Спасибо 


Selenium Python проверка наличия многих элементов на странице + файл

31 января 2022 - 09:21

Добрый день

Пишу автоматизацию на Python + Selenium

 

В pytest проверяю тестами наличие/появление элементов на странице через тест-функцию def test_1_...

 

Столкнулся с проблемой, если использовать для каждой проверки try ... except NoSuchElementException:  ... ,то если одна из проверок не пройдет, то весь тест зафейлится, логически это правильно, но я не получаю информации по другим проверяемым объектам на странице, что найдены они на странице или нет.

 

Почитал, что есть библиотека pytest_check (https://pypi.org/project/pytest_check/) которая помогает справиться с моей задачей, но есть еще одно НО - мне нужно каждый Fail описать в отдельном файле, обычный лог, в формате .txt где бы я каждый не найденный объект помечал бы, как текст-ошибку

 

Работаю в связке с Jenkins + Allure Dashboard + Telegram Msg Bot

Но понадобилось еще сделать текстовые ошибки 

 

Стандартный формат с конфигурацией вывода (-rF --no-header --tb=line ) и дальнейшая запись в файл не подходит

 

 

Поэтому прошу у вас помощи

 

1) Как тестом проверить больше 1го элемента на странице

2) Если элемент не найден, то какой самый подходящий способ записать ошибку как текст-лог?

 

Буду признателен любым примерам