我制作了一个Windows窗体应用程序来托管我的GUI来运行硒测试。如何在webdriver.quit()之后停止运行硒测试?
当用户按下“运行测试”按钮时,它将启动一个chromedriver实例并运行所选的硒测试。
但是,让我们假设在测试运行时,用户决定他们想要停止测试,或者完全不运行整个测试。
我在调用FixtureTearDown()的窗体上有一个按钮,以防发生这种情况。 FixtureTearDown很简单:
if (_driver != null) _driver.Quit();
但是,如果你不按这个“停止测试”按钮,驾驶者关闭,但硒测试持续执行脚本仿佛webdriver的仍然是开放的,然后抛出错误(因为它无法找到元素,因为驱动程序已关闭,嗯)并导致我的Windows窗体应用程序崩溃。
那么,有没有办法优雅地停止硒脚本的运行?在此先感谢您的帮助,并且我很抱歉如果这是一个愚蠢的问题,我仍然对硒和c#一般都不熟悉。
是的,我知道webdriver.quit不会停止测试的执行。这就是为什么我问这个问题!你说“调用测试运行器用于停止测试的机制”,但我没有任何机制。这就是我问的,我可以用什么机制来阻止脚本的运行? – kdeez
@kdeez正如我所说,这取决于你正在使用什么样的测试亚军。例如,我使用RSharper,有时使用NUnit Test runner来进行我的测试。可能是指您正在使用的测试运行器的api文档,并调用api来停止您创建的应用程序的执行 – Saifur