使用 Selenium C# 的私有模式下的 IE

IE in Private Mode using Selenium C#

我想以私有模式打开 IE 以 运行 测试用例集。浏览器打不开。它显示错误为

The HTTP request to the remote WebDriver server for URL {URL} timed out after 60 seconds

示例代码:

InternetExplorerOptions options = new InternetExplorerOptions()
{
    ForceCreateProcessApi = true,
    BrowserCommandLineArguments = "-private",
};
IWebDriver driver = new InternetExplorerDriver("C:\Reports", options);

driver.Navigate().GoToUrl("https://www.google.com");

另外,我在注册表编辑器中将 TabProcGrowth 更改为 0。

如何以隐私模式打开IE到运行测试用例?我想在我的代码中更新的任何内容。提前致谢。

我是这样启动它的:

  1. 在注册表编辑器中将 TabProcGrowth 设置为 0。
  2. 获取 Selenium.WebDriver.IEDriver64 块而不是普通的 32 并构建项目
  3. 从 bin\Debug\netcoreapp3.1 中获取 IEDriverServer64.exe(生成此文件的输出文件夹取决于您的 TargetFramework:.netcore 或 .netstandard)
  4. 将该文件重命名为 IEDriverServer.exe 并将其放在某个文件夹中
  5. 使用该文件夹的路径创建驱动程序实例。就我而言,我在项目中创建了一个文件夹并指向那里

Project: Solution Explorer View

using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.IE;
using System.IO;

namespace InternetExplorerPrivate
{
    public class Tests
    {
        public IWebDriver driver;

        [SetUp]
        public void Setup()
        {
            InternetExplorerOptions options = new InternetExplorerOptions();
            options.ForceCreateProcessApi = true;
            options.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
            options.BrowserCommandLineArguments = "-private";
            driver = new InternetExplorerDriver(Path.GetFullPath(@"..\..\..\IEDriver"), options); 
        }

        [Test]
        public void Test1()
        {
            driver.Navigate().GoToUrl("https://whosebug.com/");
        }
    }
}