我正在尝试在Visual Studio中运行所有测试,但是当我运行测试时,第一个将通过,但所有其他将失败

时间:2019-02-15 15:13:13

标签: c# selenium

''.join(compress(sent1, map(int, str(bin_seq))))
1.360 s                                                    
''.join([c for c, b in zip(sent1, str(bin_seq)) if b=='1']) 
0.766 s                            

TestBase.cs

As above when I run all tests the only that passes is the 1st one, 

I get the following stack trace.

Message: Initialization method QtpTest.ChromeTest7.Initiliize threw
exeption.OpenQa.selenium.WebdriverException:
OpenQa.selenium.WebDriverException: invalid session id

我认为在第一次测试后返回测试初始化​​会话ID是错误的还是丢失的。

1 个答案:

答案 0 :(得分:0)

尽管这里几乎没有什么要解决的,但过去在并行运行测试时遇到了这个问题。

我们在第一个测试将运行而其余的将失败的过程中也遇到了同样的问题。

这是由于共享存在访问问题(另一个程序正在使用文件)的chromedriver.exe。

我建议尝试解决此问题,因为我不确定您是否正在并行运行以及不确定如何创建驱动程序。

  1. 尝试,不仅要执行Browser.Close(),而且还要执行Browser.Quit(); Browser.Close()只是关闭浏览器窗口。浏览器退出,也退出任务(会话),并允许您实例化浏览器的新实例以进行后续测试,从而为您提供新的会话。

我认为正在发生的事情只是通过执行browser.Quit()将您的会话ID设置为第一个测试,当您进入下一个测试时,会生成一个新的会话ID,但它们不匹配,从而导致正在执行测试具有无效的会话ID。

类似于本文中概述的内容

https://developer.mozilla.org/en-US/docs/Web/WebDriver/Errors/InvalidSessionID'