测试-在评估变量之前修补变量

时间:2019-10-06 00:39:50

标签: python python-3.x selenium selenium-webdriver pytest

我正在测试使用Selenium的脚本。代码如下:

class ScoreCalculator:
    # This is complicated setup for my script, with auth etc. I takes about 20 sec.
    browser = browser_instance

    def get_first_loan_id(self):
        self.browser.get('I already patched this one')
        ...
        # I would like to test this method.

由于我正在修补Selenium的响应(网站上的内容会动态更改,因此我在本地保存了快照),因此,我不需要经过复杂的浏览器初始化部分,并且每次运行此测试都浪费20秒。

我正在尝试修补变量:

@mock.patch(
    'app.browser_instance.browser_instance',
    webdriver.Chrome(executable_path=r'/home/pitu/Desktop/chromedriver'),
)

此过程的问题是在修补了browser_instance变量之前先对其进行评估。它是这样的:

# First.
browser_instance = webdriver   # Here evaluate browser_instance variable - takes 20sec
# Second.
browser_instance = light_webdriver   # Replace with lightweight version - takes <1sec.

如果没有初始评估,是否有任何方法可以修补变量?

0 个答案:

没有答案