我在Selenium Webdriver中使用Pycharm和Pytest。
我用以下代码设置了一个Initiate driver.py:
om selenium import webdriver
from Library import ConfigReader
def start_browser():
global browser
if (ConfigReader.read_config_data('Details', 'Browser')) =="chrome":
browser = webdriver.Chrome('chromedriver')
elif (ConfigReader.read_config_data('Details', 'Browser')) =="firefox":
browser = webdriver.Firefox('geckodriver')
browser.get(ConfigReader.read_config_data('Details', 'Application_URL'))
browser.maximize_window()
return browser
def close_browser():
browser.close()
我跑步时出现以下错误:
def start_browser():
global browser
if (ConfigReader.read_config_data('Details', 'Browser')) =="chrome":
browser = webdriver.Chrome('chromedriver')
elif (ConfigReader.read_config_data('Details', 'Browser')) =="firefox":
browser = webdriver.Firefox('geckodriver')
> browser.get(ConfigReader.read_config_data('Details', 'Application_URL'))
E NameError: global name 'browser' is not defined
我将浏览器设置为全局浏览器,所以不确定为什么会出现此错误
答案 0 :(得分:0)
第一件事:始终尝试避免使用global
关键字。随着代码变得越来越长和越来越复杂,它会导致代码不稳定。
无论如何,您的代码说未定义全局变量,因为您没有在函数作用域之外定义名为global
的{{1}}变量。
删除browser
关键字。您不需要它,因为您将global
返回到函数本身。
这里是什么样子
browser