2010-08-06 3 views

답변

47

당신은 할 수 있습니다 코드로 프로필을 만들고 필요한 추가 기능을 동적으로 추가하십시오. Firebug XPI를 firebug.xpi로 C : \ FF_Profile 폴더에 저장했다고 가정하십시오 (Firebug download page로 이동하여 "Add To Firefox"를 마우스 오른쪽 버튼으로 클릭하고 C : \ FF_Profile \ firebug.xpi로 저장하십시오). 코드에서

은 :

final String firebugPath = "C:\\FF_Profile\\firebug.xpi"; 
    FirefoxProfile profile = new FirefoxProfile();  
    profile.addExtension(new File(firebugPath)); 
    // Add more if needed 
    WebDriver driver = new FirefoxDriver(profile); 

이 그냥 이름으로 프로필을 참조 WebDriver FAQ

+1

당신의 exmple이 faq보다 다소 훌륭합니다, 감사합니다! – krosenvold

+0

내가 할 수 있다면 이것은 +100 최고입니다. 자체적으로 가치가있는 selenium2로 마이그레이션합니다. – krosenvold

+0

마이그레이션에 소요되는 시간을 절약 할 수있는 Selenium2가 많이 있습니다. 개인적으로 나는 페이지 객체 패턴이 매우 편리하다는 것을 발견했고 동적/AJAX 웹 애플리케이션의 테스트를 훨씬 쉽게 만들었다. 그래서 나는 정말로 WebDriver와 사랑에 빠져있다 :) –

10

webdriver가 실행되는 브라우저 인스턴스에 방화범이 설치되어 있다는 뜻입니까? 이 경우, 드라이버를 인스턴스화 할 때 확장자를 전달할 수 있지만, eaisest 방법은 설치 불을 지르고와 파이어 폭스의 프로필을 작성하고 드라이버를 인스턴스화하기 전에 다음 코드를 사용하는 것입니다

System.setProperty("webdriver.firefox.profile", "NAME_OF_FIREFOX_PROFILE_WITH_FIREBUG");

+0

파이어 폭스를 업그레이드 할 때 이것이 다소 불편을 겪었습니다. 확장 기능을 정말 전달하고 싶습니다 .... – krosenvold

1

에 설명되어 있습니다. Ruby의 예 :

@driver = Selenium::WebDriver.for :firefox, :profile => "default" 

그런 다음 Firefox를 정상적으로로드하고 원하는 확장자를 추가하십시오. 이제 셀레늄 테스트가 실행됩니다.

1

분명히 firefox-profile 옵션이 소비되는 방식이 Selenium WebDriver에서 변경되었습니다.

이전 명령 행 (셀레늄 RC는) :

java -jar selenium-2.28.0.jar -firefoxProfileTemplate ~/.mozilla/firefox/3knu5vz0.selenium 

WebDriver에 대한 업데이트 :

java -jar selenium-2.28.0.jar -Dwebdriver.firefox.profile=selenium 
-2

방화범이 끌려가, 가정하면 (이 디렉토리가 아닌 프로필 이름을 원한다 참고) 설치. 귀하의 목표는 방화범을 실행하는 것입니다. Firebug는 F12 키를 눌러 실행/실행할 수 있습니다. 그래서 파이어 버그는 자바와 셀레늄 WebDriver의 다음 명령을 실행할 수 있습니다 : \ 사용자 이름 \의 AppData \ 로밍 \ 모질라 \ 파이어 폭스 \ 프로필 \의 sgmqi7hy \ 사용자 :

Actions action = new Actions(driver); 
action.sendKeys(Keys.F12).build().perform(); 
0

이 C처럼 뭔가에 파이어 폭스 위치를 수정합니다. 셀레늄/webdriver에서 Firefox를 시작하십시오. 모든 필수 설정을하십시오. 닫기를 클릭하고 Firefox 웹 브라우저를 다시 시작하십시오. 그게 바로 문제를 해결합니다!

0

~/.mozialla/firefox /에 profiles.ini가 있습니다. 거기에는 default라는 이름의 프로파일이 있는데, 다음과 같이 지정한 다음, 정기적으로 (모든 플러그인을 사용하여) 열어 본 것처럼 firefox가 테스트에서 열렸습니다.

java -jar selenium.jar -Dwebdriver.firefox.profile=default 
0

위의 옵션 중 어느 것도 작동하지 않는 경우. 그럼 해봐.

  • 1) 열기 터미널 및 명령 아래 유형 (우선 기존의 파이어 폭스 세션 종료)

파이어 폭스 -p이 새로운 파이어 폭스를 만들 수있는 옵션을 엽니 다

  • 2)

    윤곽.
  • 3) "SELENIUM"이라고 말하면서 프로필을 만듭니다.
  • 4) 파이어 폭스가 즉시 열리면 방화 켓이나 원하는 다른 플러그인 확장자 인 을 설치하십시오. 한 번 창을 닫았습니다.
  • 5) 이제이 새 프로필을 셀렌을 통해로드하고 Java 문을 사용하십시오.

    ProfilesIni profile = new ProfilesIni();

    FirefoxProfile ffprofile = profile.getProfile ("SELENIUM");

    WebDriver 드라이버 = 새로운 FirefoxDriver (ffprofile);

  • 6) 완료. 즐겨.

0

은 내가 불을 지르고 브라우저에 추가되고 내가 webdriver를 사용하여 런타임에 파이어 폭스에 불을 지르고를 추가 할 때이 활성화 기본적으로 사용되지 않고 있음을 발견했다. 따라서이 기능을 사용하려면 프로필에 아래 줄을 추가해야 할 수도 있습니다.

profile.setEnableNativeEvents(true); 
관련 문제