Size: a a a

testing_in_python

2021 November 24

BK

Boris Krutskih in testing_in_python
Как сейчас выглядит эта автоматизация.
Есть вот такая штука (развернута на проекте)
https://github.com/grpc-swagger/grpc-swagger#what-is-grpc-swagger
и я скриптом шлю запрос на один из эндпоинтов, и потом в response проверяю json на key > value, но, насколько правильный ли это подход
источник

OC

Oleg Chaplashkin in testing_in_python
"написать нужно быстро",  варианта три:
1) потерять время на изучение RPC и корректно использовать его в своей системе(долгосрочный результат);
2) использовать grpcurl, потерять на всякое взаимодействие(это легче, но вы будете каждый раз вызывать терминальную команду? Время, подклчюение subprocess) (краткосрочный результат, рефакторить надо будет систему тестов)
3) Идете к разработчикам, просите открыть RPC Endpoints на классический HTTP JSON API. (краткосрочный результат, рефакторить потом надо будет сервис)
источник

OC

Oleg Chaplashkin in testing_in_python
Тут еще нужно понять, что вы тестируете и какая цель.
Это e2e сценарий/кейс? Или проверяете интеграционно?

В случае e2e/ui - можно не лезть так глубоко, в случае интеграционного тестирования - придется лезть
источник

OC

Oleg Chaplashkin in testing_in_python
В идеале, идти к человеку, кто написал тестовый фреймворк, просить его корректно подключить gRPC и выкинуть название сервисов/гайд по запуску, а тесты и логику напишете вы.
источник

BK

Boris Krutskih in testing_in_python
Спасибо, за помощь... попробую вариант 2 перетекающий в 1й
источник

BK

Boris Krutskih in testing_in_python
Скорее интеграционно...
Я проверяю взаимодействие 2х сервисов между собой...
Т.е на 1м выполняется предусловие, грубо говоря создание какой-то записи
И потом проверяю что на 2м gRPC этот возвращает корректный результат
источник

OC

Oleg Chaplashkin in testing_in_python
Тогда тут первый вариант, компиляция и взаимодействие через gRPC

Клиент у вас - сервис А
Объект тестирования - сервис Б

Сервис А в своей работе берет протокол, компилирует, и использует имплементацию сервиса Б через RPC.
Следовательно, заменяя сервис А, вам необходимо проделать те же действия с протоколом и вызывать его именно на уровне RPC (не grpcurl)
источник

AD

Ann Doo in testing_in_python
Bloomrpc
источник

ЗВ

Завьялов Владислав... in testing_in_python
Кто-нибудь сталкивался с тем, что get_child_elements не видит локатор родителя? И возвращается все элемент, словно xpath выглядит не как parent_xpath+child_xpath а только child_xpath
источник

ЗВ

Завьялов Владислав... in testing_in_python
источник

V

Vyacheslav in testing_in_python
а так не проще?
driver = webdriver.Firefox()
driver.get("http://www.google.com")
search_form = driver.find_element(By.TAG_NAME, "form")
search_box = search_form.find_element(By.NAME, "q")
search_box.send_keys("webdriver")
источник

V

Vyacheslav in testing_in_python
с xpath тоже работает
источник

ЗВ

Завьялов Владислав... in testing_in_python
Нет так не проще)
Вопрос именно по селениум утилз, почему не видит пас родителя.
источник

A

Alexander in testing_in_python
А что за библа?
источник

A

Alexander in testing_in_python
Вообще по идее у дочернего элемента в локаторе не должно быть родительского локатора. Иначе как-то нелогично получается.
Т.е. убери в дочерних элементах  //footer и должно сработать
источник

ЗВ

Завьялов Владислав... in testing_in_python
Да это я уже пошел костылить. А так без него было, но почему-то не видело родительский локатор.
источник

A

Alexander in testing_in_python
Это какой-то собственный фреймворк? Непонятно просто даже, в контексте какой библы говорим
источник

V

Vyacheslav in testing_in_python
а в браузере то что вы хотите найти отрабатывает по тому пути что ищите?,руками всмысле
источник

ЗВ

Завьялов Владислав... in testing_in_python
Да
источник

V

Vasiliy in testing_in_python
Точку вначале дочерних локаторов нужно добавить
источник