Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Python, Splinter. Как открыть новое окно браузера (второе) и перейти в



Software-Testing.Ru - портал тестировщиков  

Новые темы форума тестировщиков


Python, Splinter. Как открыть новое окно браузера (второе) и перейти в
2020-01-18 20:04

Добрый день!
Используется Python, Splinter.

Делаем шаги в 1 окне, затем требуется перейти в другое окно, что бы там открыть почту и скопировать пин код,а затем вернуться в первое окно.

 

Как открыть новое окно браузера (второе) и перейти в него? (или хотя бы с помощью команд Selenium)

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



Save screenshot on test failure in python with 'splinter'
2020-01-18 20: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/pytest-dev/pytest-splinter

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



Как прикрутить WebdriverManager к Splinter?
2020-01-18 20:14
Я использую Splinter, но драйвер добавляется вручную или в корень проекта. Как насчёт использования webdriver_manager? Как соединить их?
Как ни пробовал, не получилось.

Исходный код такой (Splinter):



@pytest.fixture(scope="function")
def browser(request):
options = webdriver.ChromeOptions()
options.add_argument("--start-maximized")
executable_path = {'executable_path': "../chromedriver.exe"}
""" Using splinter (python tool): https://github.com/cobrateam/splinter"""
browser = Browser("chrome", headless=False, incognito=True, options=options, **executable_path)
# browser = Browser("chrome", headless=False, incognito=True)
yield browser
browser.quit()
github.com/cobrateam/splinter
github.com/SergeyPirogov/webdriver_manager 

 



Скопировать пин код из письма и вставить
2020-01-18 21:13

Добрый день!
Требуется скопировать пин код из письма и вставить (пытаюсь с помощью pyperclip)
Python + Splinter:

Пин код находится в:
<p class="pin-container_mailru_css_attribute_postfix" style="border-color: rgb(31, 31, 31) !important;">5964</p> == $0

pin = browser.find_by_css("p.pin-container_mailru_css_attribute_postfix", wait_time=5)
# Пытаюсь взять атрибут текст из элемента
pin_code = pin.text
# Пытаюсь скопировать его в буфер обмена
copied = str(pyperclip.copy(pin_code))
# Печатаю для визуальной проверки
print("email is: " + copied)

Result = email is: None

 



Распродажа бонус кодов на World of Tanks!
2020-01-19 09:08
12 500 золота - 150 рублей
180 дней премиум - 150 рублей
Покупать в telegram @sergobuywot
Берете два, а третий идет в подарок

Распродажа бонус кодов на World of Tanks!
2020-01-19 09:08
12 500 золота - 150 рублей
180 дней премиум - 150 рублей
Покупать в telegram @sergobuywot
Берете два, а третий идет в подарок

Как вы храните повторяющиеся кейсы?
2020-01-19 23:44

Всем привет, хочу посоветоваться как хранить повторяющиеся кейсы.

Простой пример, думаю, что многие с таким сталкивались. Есть поле ввода данных. Оно повторяется на разных страницах сайта и даже скопировано на другой аналогичный сайт. Допустим поле совершенно идентичное везде и ни для одной страницы нет какой-то специальной проверки. Проверяется везде, но речь не об этом. А о том как кейсы на это поле организовать в системе (у меня TestRail).

 

Способ, который используется сейчас - на каждую страницу сайта есть своя сабкатегория и в нее копируются эти кейсы. То есть все 10 (к примеру) кейсов скопированы много раз и разбросаны по всем сабсекциям сьюта. Только скриншоты могут быть разные, но они есть не везде.

Минус в том, что если однажды поле изменится, то придется переписать очень много кейсов.

 

Поступило предложение сделать отдельную сабкатегорию с этими кейсами, вынести наверх и ссылаться на нее. Поддерживать легко, копировать не надо, вроде красота. Мне эта идея не нравится тем, что при создании тест рана эти кейсы нельзя будет добавить дважды, только тест план с отдельными тест ранами. И они будут все равно вверху, а не в том месте, где их проверяешь по флоу. И тем, что эти кейсы, возможно, будут забывать проходить, потому что они не мозолят глаза.

Можно создавать пустые кейсы с ссылками на единую верхнюю папку, но открывать кейс и видеть в нем только ссылку тоже не кажется хорошей идеей.

 

Мне второй способ не кажется удобным, но я допускаю, что во мне говорит привычка копировать. А может есть и третий способ, до которого я не додумалась.

 

Как вы выходите с подобных ситуаций? Есть ли у вас какие-то элегантные способы организовывать секции и сабсекции?

Спасибо, что поделились!

 

 



© 2010 | Software-Testing.Ru


В избранное