使用Opera的最新版本,并在此基础上的司机

问题描述:

问题我以前issue,我降级歌剧到V40,因为昨天我在使用按钮点击问题,并切换到的iframe等。使用Opera的最新版本,并在此基础上的司机

所以我升级到歌剧v44并从here下载最新版本的Operadriver v2.27 for windows 64。

正在初始化驱动程序:

static string path = @"C:\Drivers"; 
public static IWebDriver _driverInstance = null; 
_driverInstance = new OperaDriver(path); 

Intially我得到了一个异常

Result Message: Initialization method HomePage_Tests.Init threw exception. System.InvalidOperationException: System.InvalidOperationException: unknown error: cannot find Opera binary 
(Driver info: OperaDriver=2.27 (f61056e560d197467fd6d27c7fbd7fea572fe8bd),platform=Windows NT 10.0.14393 x86_64). 
Result StackTrace: 
at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse) 
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters) 
at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities) 
at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities) 
at OpenQA.Selenium.Opera.OperaDriver..ctor(String operaDriverDirectory, OperaOptions options) 
at OpenQA.Selenium.Opera.OperaDriver..ctor(String operaDriverDirectory) 
at SmartDebitTestFramework.Drivers.Initialize(String browser) 

然后改变了代码为

DesiredCapabilities capabilities = DesiredCapabilities.Opera(); 
OperaOptions options = new OperaOptions(); 
options.BinaryLocation = path; 
capabilities.SetCapability(OperaOptions.Capability, options); 
_driverInstance = new OperaDriver(options); 

现在的例外是:

Result Message: Initialization method HomePage_Tests.Init threw exception. System.InvalidOperationException: System.InvalidOperationException: unknown error: Opera failed to start 
(Driver info: OperaDriver=2.27 (f61056e560d197467fd6d27c7fbd7fea572fe8bd),platform=Windows NT 10.0.14393 x86_64). 
Result StackTrace: 
at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse) 
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters) 
at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities) 
at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities) 
at OpenQA.Selenium.Opera.OperaDriver..ctor(OperaDriverService service, OperaOptions options, TimeSpan commandTimeout) 
at OpenQA.Selenium.Opera.OperaDriver..ctor(OperaOptions options) 
at SmartDebitTestFramework.Drivers.Initialize(String browser) 

你能帮助正确的设置使Opera的工作。

谢谢。

你可以尝试这样的

capabilities = new DesiredCapabilities(); 
capabilities.SetCapability(CapabilityType.BrowserName, "operablink"); 
capabilities.setCapability("opera.binary", "/path/to/your/opera"); 
capabilities.Platform = new Platform(PlatformType.Windows); 
_webDriver = new OperaDriver(capabilities); 

在您的节点:

{ 
    "capabilities": 
    [ 
    { 
     "browserName": "operablink", 
     "platform": "WINDOWS", 
     "maxInstances": 5, 
     "seleniumProtocol": "WebDriver" 
    } 
    ], 
    "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy", 
    "maxSession": 1, 
    "port": 5555, 
    "register": true, 
    "registerCycle": 5000, 
    "hub": "http://localhost:4444", 
    "nodeStatusCheckTimeout": 5000, 
    "nodePolling": 5000, 
    "role": "node", 
    "unregisterIfStillDownAfter": 60000, 
    "downPollingLimit": 2, 
    "debug": false, 
    "servlets" : [], 
    "withoutServlets": [], 
    "custom": {} 
} 
+0

“_webDriver =新OperaDriver (功能);”抛出一个错误。 OperaDriver不接受功能作为参数。 – Sudeepthi

我在这样的方式解决了这个:

//Opera settings OperaDriverService service = OperaDriverService.CreateDefaultService(@""); \\path to OD OperaOptions options = new OperaOptions(); options.BinaryLocation = @""; \\path to my Opera browser WebDriver = new OperaDriver(service, options);

+0

感谢您的回复。上述代码中的最后一行仍然出现“Opera无法启动”异常。 – Sudeepthi