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

Фотография

Save screenshot on test failure in python with 'splinter'


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 Gleb_Kazarkin

Gleb_Kazarkin

    Новый участник

  • Members
  • Pip
  • 18 сообщений

Отправлено 18 января 2020 - 17:09

Я пытаюсь сохранить скриншот при падении теста в python с 'splinter'

1) Код работает для Selenium:

@pytest.fixture(scope="function")
def browser(request):
options = Options()
options.add_argument("--headless")
options.add_argument("--start-maximized")
browser = webdriver.Chrome(options=options)
browser.implicitly_wait(5)
failed_before = request.session.testsfailed
yield browser
if request.session.testsfailed != failed_before:
test_name = request.node.name
take_screenshot(browser, test_name)
browser.quit()

def take_screenshot(browser, test_name):
screenshots_dir = "C:\\Users\Ark\\PycharmProjects\\Gop\\Reports"
screenshot_file_path = "{}/{}.png".format(screenshots_dir, test_name)
browser.save_screenshot(
screenshot_file_path)

Но не работает с Splinter (браузер не закрывается и не делает скриншот):

@pytest.fixture(scope="function")
def browser(request):
options = webdriver.ChromeOptions()
options.add_argument("--start-maximized")
browser = Browser("chrome", headless=False, incognito=True, options=options)
failed_before = request.session.testsfailed
yield browser
if request.session.testsfailed != failed_before:
test_name = request.node.name
take_screenshot(browser, test_name)
browser.quit()

def take_screenshot(browser, test_name):
screenshots_dir = "C:\\Users\Ark\\PycharmProjects\\Gop\\Reports"
screenshot_file_path = "{}/{}.png".format(screenshots_dir, test_name)
browser.save_screenshot(
screenshot_file_path)
print("\n!!! SCREENSHOT OF FAILURE '" + test_name + "' SAVED INTO: '" + screenshots_dir + "' WITH NAME '" + test_name + "'")

Подскажите как исправить?
 

2) Так же не получается прикрутить функцию splinter_make_screenshot_on_failure из pytest-splinter  https://github.com/p...pytest-splinter

Есть кто шарит? :)


  • 0

#2 checo

checo

    Опытный участник

  • Members
  • PipPipPipPip
  • 400 сообщений
  • Город:Н.Новгород

Отправлено 20 января 2020 - 09:08

 

Я пытаюсь сохранить скриншот при падении теста в python с 'splinter'

<...>

 

2) Так же не получается прикрутить функцию splinter_make_screenshot_on_failure из pytest-splinter  https://github.com/p...pytest-splinter

Есть кто шарит? :)

А как пытаетесь прикрутить, что не получается? Если такая функция есть, свои способы вообще можно выключить.
 


  • 0

#3 Gleb_Kazarkin

Gleb_Kazarkin

    Новый участник

  • Members
  • Pip
  • 18 сообщений

Отправлено 20 января 2020 - 20:27

https://github.com/p...-splinter<br> В документации такой метод есть (splinter_make_screenshot_on_failure), но запустить корректно мне не удалось (падения нет, но и скриншот нигде не появляется, даже в сочетании с методом splinter_screenshot_dir)

 

2) В идеале бы ещё "прикрутить" ожидания: splinter_selenium_implicit_wait
Но этот метод тоже не отработал.
То есть методы этой библиотеки запустить корректно мне не удаётся.

Может у вас получиться понять, как корректно его написать?


  • 0

#4 checo

checo

    Опытный участник

  • Members
  • PipPipPipPip
  • 400 сообщений
  • Город:Н.Новгород

Отправлено 21 января 2020 - 12:07

падения нет, но и скриншот нигде не появляется

Так это же логично, правда? Откуда он должен появиться без падения?


  • 0

#5 Gleb_Kazarkin

Gleb_Kazarkin

    Новый участник

  • Members
  • Pip
  • 18 сообщений

Отправлено 28 января 2020 - 17:59

Имелось ввиду падение метода (эксепшена)


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных