【问题标题】:How to run tests one by one using Selenium and Python in one tab?如何在一个选项卡中使用 Selenium 和 Python 逐一运行测试?
【发布时间】:2022-01-02 04:45:09
【问题描述】:

我对自动化测试还很陌生,所以不要太用力地打败我。

所以我有 2 个单独的文件和 2 个不同的测试:

  1. 登录成功
  2. 创建请求

我可以成功运行登录案例,但我无法运行第二个,因为它需要登录。有什么方法可以运行第一个(用户登录)并运行下一个一个在同一个浏览器窗口中没有关闭这个窗口,所以下一个测试就像上一个的延续?

所以,这里是一个登录测试

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('mail@gmail.com')

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

【问题讨论】:

    标签: python selenium oop automation browser-automation


    【解决方案1】:

    是的,你可以!在本例中,我将您的登录代码文件命名为“login”:

    from login import *
    from pages.med_page import MedPage
    
    
    ###some request###
    

    当您使用“from login import *”引用登录脚本时,它会运行登录脚本中的所有内容。希望这会有所帮助!

    【讨论】:

    • 好的,谢谢!它使它变得更好!现在测试一个一个运行,但仍然在单独的窗口中,所以我无论如何都无法创建请求screencast.com/t/urna3WtJ6cim
    • @Kiprian 您不必在代码的###some request### 部分中启动另一个驱动程序。你应该只需要打电话给司机一次然后提出你的要求。如果您需要在该网页中切换到子网址,请说“driver.get(subUrl)”您只需执行一次“browser = webdriver.Chrome()”即可。
    • @Kiprian 如果我的回答对你有帮助,请接受我的回答,谢谢!!
    • 非常感谢@Luke!你真的帮了我!!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    • 1970-01-01
    • 2018-01-03
    • 1970-01-01
    • 2021-03-28
    • 2020-04-13
    • 1970-01-01
    相关资源
    最近更新 更多