在C#中获取Selenium RemoteWebDriver的会话ID [英] Get Session ID for a Selenium RemoteWebDriver in C#

查看:184
本文介绍了在C#中获取Selenium RemoteWebDriver的会话ID的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试获取在SauceLabs云上运行的测试的会话ID,但似乎无法访问它.

I'm trying to get a session id for a test being run on the SauceLabs cloud, but I can't seem to access it.

我尝试了以下方法:

//Returns null
var sessionId = (string)((RemoteWebDriver)driver).Capabilities.GetCapability("webdriver.remote.sessionid");

//Will not compile
sessionId = ((RemoteWebDriver)driver).SessionId; //This is protected. 

第二种方法特别令人困惑.这是一个受保护的属性,但是如果我只能从派生类访问此属性,那么对于我所需要的基本上它是没有用的.

The second approach is particularly confusing. It's a protected property, but if I can only access this from a derived class, then it's essentially useless for what I need.

感谢您的帮助.

为此,我必须创建一个从RemoteWebDriver派生的类,然后定义一个getter方法.例如:

In order for this to work, I had to create a class derived from RemoteWebDriver and then define a getter method. For example:

class  CustomeRemoteDriver : RemoteWebDriver
{

    public CustomeRemoteDriver(ICapabilities desiredCapabilities):base(desiredCapabilities)
    {
    }

    public CustomeRemoteDriver(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities):base(commandExecutor, desiredCapabilities)
    {
    }

    public CustomeRemoteDriver(Uri remoteAddress, ICapabilities desiredCapabilities):base(remoteAddress, desiredCapabilities)
    {
    }

    public CustomeRemoteDriver(Uri remoteAddress, ICapabilities desiredCapabilities, TimeSpan commandTimeout):base(remoteAddress, desiredCapabilities, commandTimeout)
    {
    }

    public string GetSessionId()
    {
        return base.SessionId.ToString();
    }
} 

推荐答案

您可以做什么的示例

class  CustomeRemoteDriver : RemoteWebDriver
{    
    public CustomRemoteDriver(Uri uri, DesiredCapabilities capabilities) 
    : base(uri, capabilities)
    { 
    } 

    public SessionId getExecutionID() 
   { 
      return ((CustomRemoteDriver)Driver.Browser.driver).SessionId; 
   } 
}

这篇关于在C#中获取Selenium RemoteWebDriver的会话ID的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆