为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

qq_花开花谢_0 2021-11-02 16:43:55
我正在尝试为 selenium 创建一个框架,但坚持使用此驱动程序初始化。PLz 帮助这是将第一次执行的 Base.py 文件。(这里我写了函数来解决浏览器的问题)    from selenium import webdriver    import configparser    from Utility import Read_Propertiesglobal 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 编写了代码。 它就像页面对象模型。 登录.pyfrom selenium import webdriverfrom Utility import Read_Propertiesfrom selenium.webdriver.common.by import Byfrom Base import Baseclass 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编写测试用例。
查看完整描述

1 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

您可以使用 pytest 框架。使用夹具实现您的场景非常容易。

您可以创建浏览器类,然后在该类构造函数中将驱动程序分配给 self._。您可以在任何需要 Web 驱动程序实例的地方使用浏览器类作为基类。


查看完整回答
反对 回复 2021-11-02
  • 1 回答
  • 0 关注
  • 175 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号