2017-11-15 13 views
1

C#에서 수정 된 FireFox 브라우저에 문제가있다. 브라우저가 열리고 나는 오류 얻을 때 는 :나는 셀렌의 C#에 Java의 솔루션을 다시 쓸 수 없다.

TypeError: Given browserName [object String] "firefox", but my name is [object String] "anotherbrowser"

내 생각을가 진 코드입니다, 그것은 "파이어 폭스"대신 때문에 브라우저의 이름이 "anotherbrowser"의입니다.

FirefoxOptions options = new FirefoxOptions(); 
options.setBinary("Path to browser binary"); 
options.setCapability("browserName", "anotherbrowser"); 
options.setCapability("marionette", false); 
driver = new FirefoxDriver(options); 

나는 그것을 테스트하고 잘 작동 :

그래서 나는 자바에 대한 해결책을 발견. 하지만 C#을에 필요, 그래서 그것을 다시 시도 :

DesiredCapabilities cap = DesiredCapabilities.Firefox(); 
cap.SetCapability("browserName", "anotherbrowser"); 
cap.SetCapability("firefox_binary", @"Path to browser binary"); 
IWebDriver driver = new FirefoxDriver(cap); //here's error 

을하지만 오류를 가지고 :

There is already an option for the browserName capability. Please use the instead.

는, C#을 자바 솔루션을 재 작성 도와주세요. C#에서는 Java와 같이 동일한 메소드가 없으므로 문제가 발생합니다. "options.setCapability (" "," ");"


p.s. 수정 한 Firefox와 동일한 이점이 없으므로 원본 Firefox 브라우저를 사용할 수 없습니다.

+0

'cap.BrowserName = "무엇이든지";' – Gusman

+0

https://seleniumhq.github.io/selenium/docs/api/dotnet/html/T_OpenQA_Selenium_Remote_DesiredCapabilities .htm –

+0

@Gusman 기능의 BrowserName 속성에는 getter 만 있습니다. 'public string BrowserName {get; }' –

답변

0

, 나는 해결책을 발견

FirefoxOptions options = new FirefoxOptions(); 
options.UseLegacyImplementation = true; 
options.BrowserExecutableLocation = @"Path to Browser"; 
options.AddAdditionalCapability("browser", "anotherbrowser"); 
IWebDriver driver = new FirefoxDriver(options); 
1

Java와 같은 옵션 클래스를 사용해 보셨습니까? 에 따르면

FirefoxOptions options = new FirefoxOptions(); 
options.BrowserExecutableLocation = @"C:\Path\to\firefox"; 

IWebDriver driver = new FirefoxDriver(options) 

:

는 C#에서이 같은 것을 사용할 수있는 문서의 말씀을 바탕으로 https://github.com/SeleniumHQ/selenium/wiki/DesiredCapabilities

The name of the browser being used; should be one of {android, chrome, firefox, htmlunit, internet explorer, iPhone, iPad, opera, safari}

, 당신이 설정할 필요가 없습니다 가정 것 " browserName "기능을 사용하여 사용자 정의 바이너리를 사용할 수 있습니다. 관심

+0

지금 시도한 결과 오류가 발생했습니다. ** _ TypeError : browserName [object string] "firefox"로 지정되었지만 내 이름은 [object string] "anotherbrowser"_ **입니다. 제 생각에'options.SetPreference ("browserName", "anotherbrowser");는 잘못 쓰여지거나 그냥 작동하지 않습니다. – ILya

+0

@ILya 바이너리를 다음과 같이 설정해보십시오 :'options.BrowserExecutableLocation = @ "C : \ Path \ to \ firefox";' –

+0

@ILya 또한, 다음에 따라 : https://github.com/SeleniumHQ/selenium/ wiki/DesiredCapabilities browserName은 DesiredCapabilities에 유효한 옵션입니다. 그것은 특정 이름만을 지원합니다. –