2017-05-03 26 views
1

問題我以前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的工作。

謝謝。

回答

0

你可以嘗試這樣的

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

0

我在這樣的方式解決了這個:

//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

相關問題