在 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 進去

相關文章