C# 多个IE web驱动程序:单击打开弹出窗口的链接/按钮时会话丢失

C# 多个IE web驱动程序:单击打开弹出窗口的链接/按钮时会话丢失,c#,selenium,selenium-webdriver,webdriver,internet-explorer-11,C#,Selenium,Selenium Webdriver,Webdriver,Internet Explorer 11,我一起运行多个2 IE web驱动程序。用于用户端和管理端测试 当InternetExplorer Web驱动程序单击打开模式弹出窗口的链接/按钮时,登录页面将在新窗口中打开 当ie webdriver弹出窗口时,我可以在URL行中看到浏览器应该加载的正确地址,但它立即更改为登录URL,需要输入用户名和密码 我也发现了同样的问题, 我在那里提出了解决方案,但我仍然没有解决问题,我得到了一个入口窗口,而不是预期的窗口。 我的IE版本是11。 我的Selenium.WebDriver是3.14

我一起运行多个2 IE web驱动程序。用于用户端和管理端测试 当InternetExplorer Web驱动程序单击打开模式弹出窗口的链接/按钮时,登录页面将在新窗口中打开

当ie webdriver弹出窗口时,我可以在URL行中看到浏览器应该加载的正确地址,但它立即更改为登录URL,需要输入用户名和密码

我也发现了同样的问题, 我在那里提出了解决方案,但我仍然没有解决问题,我得到了一个入口窗口,而不是预期的窗口。

我的IE版本是11。 我的Selenium.WebDriver是3.141.0.0 我的ie网络驱动程序是IEDriverServer_x64_3.141.5 我的Internet探索:

 private static InternetExplorerOptions ieOptions = new InternetExplorerOptions
        {
            EnsureCleanSession = true ,
            EnableNativeEvents = true ,
            RequireWindowFocus = true ,
            EnablePersistentHover = true ,
            ForceCreateProcessApi = true ,
            BrowserCommandLineArguments = "-framemerging -private"
        };
我添加了注册表项:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main\FrameMerging\(DWORD)00000000

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main\TabProcGrowth\(DWORD)00000000

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE\iexplorer.exe\(DWORD)00000000

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE\iexplorer.exe\(DWORD)00000000
编辑:

通过Deepak MSFT参考资料,我了解到问题是由多个IE web驱动程序实例引起的


我还试图通过在代码中添加confirmCleansion=trueoption来杀死IE驱动程序,并在运行测试之前从命令行手动运行以下语句

taskkill / F / IM iexplore.exe / T
taskkill / F / IM IEDriverServer.exe / T
但一旦我设置了两个IE网络驱动程序一起工作,它就没有任何帮助了

当我试着只在一个司机身上进行测试时——效果很好


如果能帮我解决这个问题,我将不胜感激

这个问题是由于IE本身的一个怪癖,以及驱动程序如何为浏览器创建弹出窗口

解决方法是确保在启动与驱动程序的会话时没有iexplore.exe进程运行

参考资料:

一,

2

我的解决方案:

将测试用例分为两个测试:

第一次测试-

在我的案例中,第一个站点使用IE web驱动程序-管理端,同时使用另一个不会导致问题的web驱动程序,如在我的案例中第二个站点使用Chrome web驱动程序-管理端

还有第二次测试-

对第一个站点使用上面的另一个web驱动程序,对第二个站点并行使用IE web驱动程序


因此,我在IE中介绍了这两个站点的测试。

这与其他站点不同。这个链接是我的另一个问题,但它指的是另一个问题。我将把它的标题改为更清晰。这正是我的代码的问题!但是,我忘了在问题主体中提到,我同时运行了2个驱动程序实例,用于用户端检查和管理端检查,因此我的问题可能尚未解决。当我试着只在一个司机身上进行测试时——效果很好!我还试图通过在代码中添加confirmCleansion=true选项来杀死IE驱动程序,并通过在comamnd line中运行kill语句来手动杀死IE驱动程序,但一旦我将两个驱动程序设置为一起工作,就没有任何帮助了。注:我用我在此处的注释重新编辑了这个问题。如果能帮我解决这个问题,我将不胜感激!如果可能,您可以尝试一个接一个地运行两个驱动程序,而不是同时运行两个驱动程序。完成工作后,您可以关闭第一个驱动程序,然后启动第二个驱动程序。这是我目前唯一的工作,我考虑过了。但这是一个我最不喜欢的解决方案,因为它将改变我的情况。但实际上这是目前唯一可能的事情。