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

我正在尝试为 selenium 创建一个框架,但坚持使用此驱动程序初始化。PLz 帮助


这是将第一次执行的 Base.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 元素的 ID 和 xpath 编写了代码。 它就像页面对象模型。 登录.py


from selenium import webdriver

from Utility import Read_Properties

from selenium.webdriver.common.by import By

from Base import Base

class login(object):


    def __init__(self, driver):

        self.driver = driver

        self.username = driver.find_element(By.ID,'username')

        self.password = driver.find_element(By.ID, 'password')

        self.login_tbtn = driver.find_element('login-loginbutton')

    def username(self):

        return self.username

    def password(self):

        self.password.clear()

        self.password.send_keys(Read_Properties.readproperty('LOGINDETAIL', 'PASSWORD'))

    def login_btn(self):

        return self.login_tbtn

下面的代码是 test_login.py 在这里我想为 loginpage编写测试用例。



qq_花开花谢_0
浏览 176回答 1
1回答

有只小跳蛙

您可以使用 pytest 框架。使用夹具实现您的场景非常容易。您可以创建浏览器类,然后在该类构造函数中将驱动程序分配给 self._。您可以在任何需要 Web 驱动程序实例的地方使用浏览器类作为基类。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python