Comment faire pour exécuter les tests un par un à l'aide de Sélénium et de Python dans un onglet?

0

La question

Je suis assez nouveau à l'automatisation de tests, afin de ne pas me battre trop fort.

Donc, j'ai 2 fichiers distincts avec 2 tests différents:

  1. Connexion réussie
  2. Création d'une demande

Je peux exécuter avec succès la Connexion de cas, mais je ne peux pas courir le second, car il exige d'être connecté. Est-il possible que je peux courir le 1-er un (Utilisateur se connecte) et d'exécuter la prochaine dans la même fenêtre du navigateur, sans fermer cette fenêtre, de sorte que le prochain test a été comme une continuation de la précédente?

Donc, voici un test de Connexion

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()

Et voici pour la création d'une demande

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

La meilleure réponse

0

Oui, vous pouvez! Pour cet exemple, je vais le nom de votre code de connexion de fichier comme "login":

from login import *
from pages.med_page import MedPage


###some request###

Lorsque vous faites référence au script d'ouverture de session à l'aide de "de connexion à l'importation *" il s'exécute tout ce qui est sur le script de connexion. Nous espérons que cette aide!

2021-11-23 17:30:00

Yep, merci! Il a fait beaucoup mieux! Maintenant, les tests sont exécutés un par un, mais toujours dans des fenêtres séparées, donc je ne peux pas créer une demande, de toute façon screencast.com/t/urna3WtJ6cim
Kiprian

@Kiprian Vous ne devriez pas avoir à lancer un autre pilote dans la ###une demande### partie de votre code. Vous devriez seulement besoin d'appeler le pilote une fois, puis faire votre demande. Si vous avez besoin pour passer à suburl à l'intérieur de cette page web, puis le faire en disant "pilote.get(subUrl)" Vous n'aurez qu'à faire "navigateur = webdriver.Chrome () une fois.
Luke Hamilton

@Kiprian Si ma réponse vous a aidé, alors veuillez m'aider en acceptant ma réponse, merci!!
Luke Hamilton

Merci @Luc tellement! Vous m'a vraiment aidé!!!
Kiprian

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................