Size: a a a

QA — Автоматизация

2020 April 09

EB

Evgenii B in QA — Автоматизация
Отслюнявил Saucelabs 20+ параллельных сборок и грузи UI тесты , а 20 ручных тестировщиков уволь
источник

AZ

Andrey Zuykov in QA — Автоматизация
Это если совсем просто говорить. На деле все сложнее
источник

AZ

Andrey Zuykov in QA — Автоматизация
Кстати вот если версионность проверять, очень хороши пареллельные запуски. Заодно и будет сравнение наглядное и оперативное.
источник

AZ

Andrey Zuykov in QA — Автоматизация
В общем есть целый перечень критериев целесообразности автоматизации тестирования функционала. Тут описывать все долго сейчас)
источник

P👨

Pavel 👨‍🚀 in QA — Автоматизация
Roman
не проще руками это все тестировать?
ога, это из разряда
зачем нанимать тестировщика, когда интерфейс может протестировать фронтендер? (:
источник

P👨

Pavel 👨‍🚀 in QA — Автоматизация
автоматизация — дорого-богато. Все уже написано, рассказано много раз. Ищите, анализируйте. Гугл, благо, еще работает
источник

I

IceCream time 🍧🍧🍧 in QA — Автоматизация
Привет. Подскажите, есть ли у рекапчи  v3 специальные ключи(как у v2) чтобы всегда pass она отдавала?
источник

OK

Oleksandr Khotemskyi in QA — Автоматизация
Roman
не проще руками это все тестировать?
В чем вопрос вообще? Если вам проще и быстрей руками - проверяйте руками.
источник

MG

Marina Griffen in QA — Автоматизация
ого напали)
источник

OK

Oleksandr Khotemskyi in QA — Автоматизация
Коллеги кто встречал ошибку после скролла при попытке кликнуть -
javascript error: Failed to execute 'elementsFromPoint' on 'Document': The provided double value is non-finite.
источник

VK

Vova Kovardakov in QA — Автоматизация
привет ребят) буду благодарен любой помощи)
(selenium, Firefox, multiprocessing.pool)
первый вопрос, вот у меня есть код, который запускает webdriver.Firefox(), потом он взаимодействует со страницей, но иногда он делает не то что я прописал, то есть, есть click() по элементу, 10 раз(прогонов) он по нему кликнул, на 11ый раз нет, причем я проверяю есть ли элемент на странице с помощью WebDriverWait и он находится, просто не срабатывает click() и ошибку не выдает, проверяю так, как ниже
try:
   element = WebDriverWait(driver, 60).until(
       EC.presence_of_element_located((By.*****, "*****"))
   )
не знаете из-за чего это может быть?

И второй вопрос)
кто-нибудь делал многопоточную обработку какого-нибудь кода взаимодействия со страницей с помощью multiprocessing.pool, то есть запускаем несколько webdriver.Firefox() и с их помощью клацаем и вписываем различные данные на странице, моя проблема в том, что если без потоков, то функция работает нормально, а если потоки есть то начинается непонятно что) все ведет себя по разному)

И третий вопрос))
как обратиться к элементу с помощью xpath если есть один div со словами "введите дату" а уже в нем указать путь дальше div[1]/div[1]/label/input к примеру
сейчас я просто копирую xpath из браузера, получается длинный путь по дереву, но бывает в начале меняется структура страницы и было например
/html/body/div[3]/.......
а стало
/html/body/div[4]/.......
пока обрабатываю с помощью ветвления try-except-else, но вот если обратиться к диву по имени, ведь он находится в структуре страницы уже дальше изменений и найти его то эти изменения не будут мешать, и решение станет универсальным, а то мало ли там на div[5] потом поменяется))

вопросов конечно много, но по любому из них буду рад каким то советам и подсказкам, и бооольшущее спасибо всем кто поможет)
источник

АИ

Александр Илюшкин in QA — Автоматизация
Roman
если у нас в день по 5-20 коммитов, можно "устать" все это писать. проще в ручную проверить лол
Потому что есть фронтенд логика, она отдельная и ограничена только фронтенд слоем без интеграции с бэкендом, это одни тесты, они быстрые должны быть и их можно все гонять на каждый коммит, дальше идут интеграционные тесты, проверка, что интеграция с компонентами бэка работает, дальше идут тесты на бизнес логику, они либо работают на уровне апи, либо это гуи тесты, но запускаются отдельно, ибо очень медленные. Предполагаю, что вам надо писать тесты на бэкенд апи отдельно. В принципе общеизвестно, что это выход из положения, так как гуи тесты довольно хрупкие
источник

MS

Mikhail Samoylov in QA — Автоматизация
Vova Kovardakov
привет ребят) буду благодарен любой помощи)
(selenium, Firefox, multiprocessing.pool)
первый вопрос, вот у меня есть код, который запускает webdriver.Firefox(), потом он взаимодействует со страницей, но иногда он делает не то что я прописал, то есть, есть click() по элементу, 10 раз(прогонов) он по нему кликнул, на 11ый раз нет, причем я проверяю есть ли элемент на странице с помощью WebDriverWait и он находится, просто не срабатывает click() и ошибку не выдает, проверяю так, как ниже
try:
   element = WebDriverWait(driver, 60).until(
       EC.presence_of_element_located((By.*****, "*****"))
   )
не знаете из-за чего это может быть?

И второй вопрос)
кто-нибудь делал многопоточную обработку какого-нибудь кода взаимодействия со страницей с помощью multiprocessing.pool, то есть запускаем несколько webdriver.Firefox() и с их помощью клацаем и вписываем различные данные на странице, моя проблема в том, что если без потоков, то функция работает нормально, а если потоки есть то начинается непонятно что) все ведет себя по разному)

И третий вопрос))
как обратиться к элементу с помощью xpath если есть один div со словами "введите дату" а уже в нем указать путь дальше div[1]/div[1]/label/input к примеру
сейчас я просто копирую xpath из браузера, получается длинный путь по дереву, но бывает в начале меняется структура страницы и было например
/html/body/div[3]/.......
а стало
/html/body/div[4]/.......
пока обрабатываю с помощью ветвления try-except-else, но вот если обратиться к диву по имени, ведь он находится в структуре страницы уже дальше изменений и найти его то эти изменения не будут мешать, и решение станет универсальным, а то мало ли там на div[5] потом поменяется))

вопросов конечно много, но по любому из них буду рад каким то советам и подсказкам, и бооольшущее спасибо всем кто поможет)
click не выдает ошибку потому что он возвращает self.  Проверяйте в тесте что элемент правда был нажат исходя из изменений которые должны были случится на странице
источник

VK

Vova Kovardakov in QA — Автоматизация
то есть возможно такое что я нашел элемент сделал к нему .click() и он не сработал, правильно же? и если там окошко выплывает, то смотреть появилось ли оно
источник

A

Astin in QA — Автоматизация
с каких пор автоматизация дает на выходе 100% прохождение инстанса?
источник

B

Bola in QA — Автоматизация
? Это вопрос в ответ на чей-то коммент?
источник

A

Astin in QA — Автоматизация
это вопрос на комментарий выше
источник

ŚW

Świętomierz Wisniewski in QA — Автоматизация
Vova Kovardakov
привет ребят) буду благодарен любой помощи)
(selenium, Firefox, multiprocessing.pool)
первый вопрос, вот у меня есть код, который запускает webdriver.Firefox(), потом он взаимодействует со страницей, но иногда он делает не то что я прописал, то есть, есть click() по элементу, 10 раз(прогонов) он по нему кликнул, на 11ый раз нет, причем я проверяю есть ли элемент на странице с помощью WebDriverWait и он находится, просто не срабатывает click() и ошибку не выдает, проверяю так, как ниже
try:
   element = WebDriverWait(driver, 60).until(
       EC.presence_of_element_located((By.*****, "*****"))
   )
не знаете из-за чего это может быть?

И второй вопрос)
кто-нибудь делал многопоточную обработку какого-нибудь кода взаимодействия со страницей с помощью multiprocessing.pool, то есть запускаем несколько webdriver.Firefox() и с их помощью клацаем и вписываем различные данные на странице, моя проблема в том, что если без потоков, то функция работает нормально, а если потоки есть то начинается непонятно что) все ведет себя по разному)

И третий вопрос))
как обратиться к элементу с помощью xpath если есть один div со словами "введите дату" а уже в нем указать путь дальше div[1]/div[1]/label/input к примеру
сейчас я просто копирую xpath из браузера, получается длинный путь по дереву, но бывает в начале меняется структура страницы и было например
/html/body/div[3]/.......
а стало
/html/body/div[4]/.......
пока обрабатываю с помощью ветвления try-except-else, но вот если обратиться к диву по имени, ведь он находится в структуре страницы уже дальше изменений и найти его то эти изменения не будут мешать, и решение станет универсальным, а то мало ли там на div[5] потом поменяется))

вопросов конечно много, но по любому из них буду рад каким то советам и подсказкам, и бооольшущее спасибо всем кто поможет)
Ответ на первый вопрос: может быть проблема не в вашем коде, а в ответе сервера? Или быть может вы неправильно прописали ожидания?
источник

ŚW

Świętomierz Wisniewski in QA — Автоматизация
Vova Kovardakov
привет ребят) буду благодарен любой помощи)
(selenium, Firefox, multiprocessing.pool)
первый вопрос, вот у меня есть код, который запускает webdriver.Firefox(), потом он взаимодействует со страницей, но иногда он делает не то что я прописал, то есть, есть click() по элементу, 10 раз(прогонов) он по нему кликнул, на 11ый раз нет, причем я проверяю есть ли элемент на странице с помощью WebDriverWait и он находится, просто не срабатывает click() и ошибку не выдает, проверяю так, как ниже
try:
   element = WebDriverWait(driver, 60).until(
       EC.presence_of_element_located((By.*****, "*****"))
   )
не знаете из-за чего это может быть?

И второй вопрос)
кто-нибудь делал многопоточную обработку какого-нибудь кода взаимодействия со страницей с помощью multiprocessing.pool, то есть запускаем несколько webdriver.Firefox() и с их помощью клацаем и вписываем различные данные на странице, моя проблема в том, что если без потоков, то функция работает нормально, а если потоки есть то начинается непонятно что) все ведет себя по разному)

И третий вопрос))
как обратиться к элементу с помощью xpath если есть один div со словами "введите дату" а уже в нем указать путь дальше div[1]/div[1]/label/input к примеру
сейчас я просто копирую xpath из браузера, получается длинный путь по дереву, но бывает в начале меняется структура страницы и было например
/html/body/div[3]/.......
а стало
/html/body/div[4]/.......
пока обрабатываю с помощью ветвления try-except-else, но вот если обратиться к диву по имени, ведь он находится в структуре страницы уже дальше изменений и найти его то эти изменения не будут мешать, и решение станет универсальным, а то мало ли там на div[5] потом поменяется))

вопросов конечно много, но по любому из них буду рад каким то советам и подсказкам, и бооольшущее спасибо всем кто поможет)
Второй вопрос зачем вам мультипоточность? Какую цель вы преследуете?
источник

VK

Vova Kovardakov in QA — Автоматизация
слишком долго буду парсить, если не сделать потоки
источник