Sto cercando di ottenere un ID di sessione per un test eseguito sul cloud SauceLabs, ma non riesco ad accedervi.Ottieni ID sessione per un Selecion RemoteWebDriver in C#
ho provato i seguenti approcci:
//Returns null
var sessionId = (string)((RemoteWebDriver)driver).Capabilities.GetCapability("webdriver.remote.sessionid");
//Will not compile
sessionId = ((RemoteWebDriver)driver).SessionId; //This is protected.
Il secondo approccio è particolarmente confusa. È una proprietà protetta, ma se posso accedere a questo da una classe derivata, è essenzialmente inutile per ciò di cui ho bisogno.
ogni aiuto è apprezzato.
Per far funzionare tutto questo, ho dovuto creare una classe derivata da RemoteWebDriver
e quindi definire un metodo getter. Per esempio:
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();
}
}
Sembra quasi come un problema di 'Casting' puoi pubblicare ciò che il errore reale è difficile vedere la piccola immagine che hai postato – MethodMan
qui c'è una guida online che potrebbe aiutarti .. puoi anche mostrare come viene definita questa classe Potrei essere in grado di fornirti un'idea ma devi guarda la classe e come è definita per il tuo RemoteWebDriver..ho w erediterai questo http://testingbot.com/support/getting-started/csharp.html – MethodMan
Quindi, dovrei semplicemente creare una classe derivata per trasmettere il mio RemoteWebDriver e quindi accedere all'ID di sessione con un metodo getter? – elucid8