我遇到了在python文件中声明的全局变量的问题。 我在文件中没有类声明。 我只是在类中声明了一些没有类型的变量。 并修改函数中的变量。
当我通过导入它们在另一个类中调用这些变量时, 而不是修改后的值,它只返回None类型。
以下是代码
from selenium import webdriver
from Pages.PageMethods.Google_Methods import Methods
browser = None
s = None
def before_feature(context, feature):
print("before feature")
def before_scenario(context, scenario):
print('before scenario', scenario.name)
context.driver = webdriver.Firefox()
#context.driver.maximize_window()
browser = context.driver
global s
s = Methods(browser)
s.samplemethod()
def after_scenario(context, scenario):
print("after scenario", scenario.name)
context.driver.quit()
def after_feature(context, feature):
print("after feature")
- >这里我在另一个类中调用那个'变量',它只返回None类型而不是该分配类的对象
请有人帮忙
这是我调用该变量的代码
from features.environment import *
use_step_matcher("re")
fileConfig('logging.ini')
log = logging.getLogger('sLogger')
@given("i am on google page '(.*)'")
def navigate(context, url1):
context.url = url1
log.info("this is log statement")
context.driver.get(url1)
context.driver.implicitly_wait(10)
@then("I enter value into search box as '(.*)'")
def step_impl(context, text):
print("selector:=>", Google.search_box)
context.driver.find_element(*Google.search_box).send_keys(text)
print("url in second step is:=>", context.url)
time.sleep(1)
s.printtitle()
我收到了这个错误:
AttributeError:'NoneType'对象没有属性'printtitle'
答案 0 :(得分:0)
您需要使用全局运算符
示例:
global_var = list()
def somefunc():
global global_var
global_var.append(1)
somefunc()
print global_var
出: [1]