Как запускать тесты один за другим, используя Selenium и Python на одной вкладке?

0

Вопрос

Я довольно новичок в автоматизированном тестировании, так что не бейте меня слишком сильно.

Итак, у меня есть 2 отдельных файла с 2 разными тестами:

  1. Успешный вход в систему
  2. Создание запроса

Я могу успешно запустить случай входа в систему, но я не могу запустить второй, так как он требует входа в систему. Есть ли какой-нибудь способ запустить 1-й (пользователь входит в систему) и запустить следующий в том же окне браузера, не закрывая это окно, чтобы следующий тест был похож на продолжение предыдущего?

Итак, вот тест для входа в систему

from selenium import webdriver

from pages.base_element import BaseElement
from pages.login_page import LoginPage

# Test Setup
browser = webdriver.Chrome()
currentURL = None

# Successful Login
log_page = LoginPage(driver=browser)
log_page.go()   <-------------------------------------------Goes to the Login Page                    
log_page.user_name_field.input_text('[email protected]')

log_page.password_field.input_text('Pass123')
log_page.login_button.click()

А вот для создания запроса

from selenium import webdriver
 
from pages.base_element import BaseElement 
from pages.med_page import LoginPage 
from pages.med_page import MedPage
 
# Test 
Setup browser = webdriver.Chrome() 
currentURL = None
 
# Test
med_page = MedPage(driver=browser) 
med_page.go()   <----------------- Must redirect to the Request Page, but redirects to Login as it is a new browser session, so the user is not logged in
automation browser-automation oop python
2021-11-23 17:20:44
1

Лучший ответ

0

Да, ты можешь! В этом примере я назову ваш файл кода входа как "вход".:

from login import *
from pages.med_page import MedPage


###some request###

Когда вы ссылаетесь на сценарий входа в систему с помощью "из импорта входа в систему*", он запускает все, что есть в сценарии входа в систему. Надеюсь, это поможет!

2021-11-23 17:30:00

Да, спасибо тебе! Это сделало его намного лучше! Теперь тесты выполняются один за другим, но все еще в отдельных окнах, поэтому я все равно не могу создать запрос screencast.com/t/urna3WtJ6cim
Kiprian

@Kiprian Вам не нужно запускать другой драйвер в части ###какой-либо запрос### вашего кода. Вам нужно будет только один раз позвонить водителю, а затем сделать свой запрос. Если вам нужно переключиться на suburl на этой веб-странице, сделайте это, сказав "driver.get(subUrl)". Вам нужно будет только сделать "браузер = веб-драйвер.Chrome()" один раз.
Luke Hamilton

@Киприан, если мой ответ помог вам, пожалуйста, помогите мне, приняв мой ответ, спасибо!!
Luke Hamilton

Большое спасибо @Luke! Ты действительно помог мне!!!
Kiprian

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................