首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DesiredCapabilities已过时

DesiredCapabilities已过时
EN

Stack Overflow用户
提问于 2017-12-18 15:07:03
回答 1查看 10K关注 0票数 3

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

代码语言:javascript
复制
 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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-18 15:22:28

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

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

代码语言:javascript
复制
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));
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47863579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档