如何在python中创建单个的webdriver实例,以便我在代码的任何地方都可以访问它?

2024-04-26 11:49:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图为selenium创建一个框架,但还是坚持使用这个驱动程序初始化.PLz帮助

这是基准.py第一次执行的文件(这里我写了一个函数来启动浏览器)

    from selenium import webdriver
    import configparser
    from Utility import Read_Properties

global driver
    class Base:

        def Lunch_Browser(name):
            if name == 'chrome':
                driver = webdriver.Chrome(
                    executable_path='C:/Users/MANJKUM/PycharmProjects/Paintshop/Driver/chromedriver.exe')
                driver.implicitly_wait(50)
                driver.maximize_window()
                driver.get(Read_Properties.readproperty('LOGINDETAIL', 'URL'))
                return driver

            elif (name == 'ff'):
                driver = webdriver.firefox(
                    executable_path='C:/Users/MANJKUM/PycharmProjects/Paintshop/Driver/chromedriver.exe')
                driver.implicitly_wait(50)
                driver.maximize_window()
                `enter code here`driver.get(Read_Properties.readproperty('LOGINDETAIL', 'URL'))
                return driver
                else:
                print('No Browser')

在这里为所有的web元素编写了xpath&strong>代码 它类似于页面对象模型。 登录名.py

^{pr2}$

以下代码用于测试_登录名.py 这里我想为loginpage编写测试用例。在

import time

from selenium import webdriver
from Base import Base
from POM_Project.Pages.Login import login
from Utility import Read_Properties
from POM_Project.Pages import Login
from Utility import Read_Properties

driver = webdriver.chrome
#obj_Base=Base()
obj_login=login(driver)

def test_Login():
    Base.Base.Lunch_Browser('chrome')
    time.sleep(20)
    obj_login.username(driver)
    obj_login.password(driver)

test_Login()

Tags: namefrompyimportbrowserobjreadbase
1条回答
网友
1楼 · 发布于 2024-04-26 11:49:25

您可以使用pytest框架。使用fixture实现场景非常容易。在

您可以创建浏览器类,然后将驱动程序分配给self.\。 您可以将browser类用作基类,无论您需要web驱动程序实例。在

相关问题 更多 >