使用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": {}
}
答
我在这样的方式解决了这个:
//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
“_webDriver =新OperaDriver (功能);”抛出一个错误。 OperaDriver不接受功能作为参数。 – Sudeepthi