我正在测试使用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.
如果没有初始评估,是否有任何方法可以修补变量?