在 PO 模式中,driver 如何通過 basePage 在各個 testcase 中傳遞?

醋精測試媛發表於2020-10-15

如果是unittest+python+pageobject+appium,如何讓driver在各個testcase傳遞呢?
目前的想法是是使用可以在各個py檔案間中傳遞的全域性變數,但是總感覺不太好。basepage 是這樣的:

class BasePage(object):
"""作為父類,包含driver成員變數,用於標識WebDriver,以便在子類中定位頁面元素"""

# 初始化
def __init__(self, driver=None):
self.driver = driver

在一個新的檔案中設定了一個全域性變數:

def init():
global global_dict
global_dict = {}


def set_value(name, value):
global_dict[name] = value


def get_value(name):
try:
return global_dict[name]
except KeyError:
return None

在testcase中通過get_value取出來
在start app的testcase中set_value把webdriver set進去

相關文章