代码之家  ›  专栏  ›  技术社区  ›  JumpIntoTheWater

DesiredCapabilities已过时

  •  3
  • JumpIntoTheWater  · 技术社区  · 7 年前

    为了以不同的用户身份运行驱动程序,我以前有以下代码。

     public static IWebDriver RunIEAsDifferentUser(string User,string Password)
        {
    
            var capabilitiesInternet = DesiredCapabilities.InternetExplorer();
            capabilitiesInternet.SetCapability("ignoreProtectedModeSettings", true);
            capabilitiesInternet.SetCapability("EnsureCleanSession ", true);
            RunAs("C:\\Exlporer/IEDriverServer.exe", User, Password);
            _webdriverIE = new RemoteWebDriver(new Uri("http://localhost:5555/"), capabilitiesInternet, TimeSpan.FromSeconds(300));
            return _webdriverIE;
    
        }
        public static void RunAs(string path, string username, string password)
        {
            ProcessStartInfo myProcess = new ProcessStartInfo(path);
            myProcess.UserName = username;
            myProcess.Password = MakeSecureString(password);
            myProcess.UseShellExecute = false;
            myProcess.LoadUserProfile = true;
            myProcess.Verb = "runas";
            myProcess.Domain = "DOM001";
            Process.Start(myProcess);
        }
    
        public static SecureString MakeSecureString(string text)
        {
            SecureString secure = new SecureString();
            foreach (char c in text)
            {
                secure.AppendChar(c);
            }
    
            return secure;
        }
    

    问题是我得到了警告: DesiredCapabilities is obsolete 我不知道我该怎么做才能让它继续工作。

    问题在于: _webdriverIE = new RemoteWebDriver(new Uri("http://localhost:5555/"), capabilitiesInternet, TimeSpan.FromSeconds(300)); 我试着把它改成 InternetExplorerOptions caps = new InternetExplorerOptions(); . 不幸的是 RemoteWebDriver 仅接受 Icapabilities 现在

    1 回复  |  直到 7 年前
        1
  •  7
  •   Guy    7 年前

    解决方案位于警告消息的末尾

    要与Java远程服务器或网格一起使用,请使用InternetExplorer类的ToCapabilites方法。

    InternetExplorerOptions options = new InternetExplorerOptions();
    options.AddAdditionalCapability("ignoreProtectedModeSettings", true);
    options.AddAdditionalCapability("EnsureCleanSession", true);
    _webdriverIE = new RemoteWebDriver(new Uri("http://localhost:5555/"), options.ToCapabilities(), TimeSpan.FromSeconds(300));
    
    推荐文章