1

Selenium WebDriver를 어떻게 구성합니까? Java로 Selenium을 사용하여 테스트 케이스를 자동화했습니다. 이제 WebDriver를 사용하여 파일 업로드 및 다운로드를 자동화해야합니다. 나는 webdriver-common-0.9.7376.jar를 추가했다. Internet Explorer를 사용하고 싶습니다. 어떻게해야합니까?Selenium 2 (WebDriver) 구성, IE 사용 및 WebDriver 업로드 파일

난 그냥

private static WebDriver driver; 
driver.findElement(By.id(upload)).sendKeys("file to be upload"); 

이 정확 드라이버 변수를 선언하고 사용하고 있습니다?

+1

업로드 요소를 받고 파일 이름을 입력하는 원칙이 정확합니다. 당신이 그것을 시도하면 어떻게됩니까? – beny23

답변

1

Ques. 1 : WebDriver를 구성하는 방법?

Ans By의 2 가지 방법이 있습니다 : 1) "셀레늄 - 서버 - 독립 - 2.29.0.jar"을 추가하기 만

OR, "셀레늄 자바 2.29.0.jar"를 추가 2) "selenium-java-2.29.0 \ selenium-2.29.0 \ libs"폴더에있는 모든 병

"selenium-server-2.29.0.zip"및 "selenium-java-2.29.0 .zip "을 각각 http://code.google.com/p/selenium/downloads/detail?name=selenium-server-2.29.0.ziphttp://code.google.com/p/selenium/downloads/detail?name=selenium-java-2.29.0.zip에서 가져옵니다. 압축을 풀면 해당 jar 파일을 추가 할 수 있습니다.

Ques. 2 : IE를 인스턴스화하고 파일을 업로드하는 방법은 무엇입니까?

Ans By의 : 아래와 같은 자바 코드 :

File file = new File("C:\\Program Files\\Internet Explorer\\iexplore.exe"); 
System.setProperty("webdriver.ie.driver", file.getAbsolutePath()); 
WebDriver driver = new InternetExplorerDriver(); 
driver.findElement(By.id("upload")).sendKeys("file to be upload"); 

이 "파일 파일 = 새로운 파일 ("C : \ 프로그램 파일 \ Internet Explorer를 \의 IEXPLORE.exe ");" 다운로드 "IEDriverServer을"일을하고 아래로 그 라인을 대체하지 않습니다

File file = new File("E:\\Ripon\\IEDriverServer_Win32_2.29.1\\IEDriverServer.exe"); 

[참고 : 당신은 http://code.google.com/p/selenium/downloads/list에서 "IEDriverServer"를 다운로드 할 수 있습니다] 당신은 셀레늄 자바 2.25를 다운로드 한 후 모든 항아리를 추가 할 필요가

+0

저는 최신 Selenium에 대한 링크가 일반적이어야한다고 생각합니다. 최신 파일은 시간이 지남에 따라 변경 될 것이며이 대답은 여전히 ​​(구식 인) 파일을 가리킬 것입니다. 또한 두 셀레늄 - 서버 및 셀레늄 - 자바가 필요하지 않습니다. 첫 번째 또는 두 번째 중 하나가 필요합니다. Selenium-java는 로컬로 실행되는 WebDriver 또는 서버를 실행하는 사람에게 연결하는 Selenium RC 용입니다. Selenium-RC는 Selenium RC를 로컬 (또는 서버), Remote WebDriver 및 Selenium Grid에서 실행하는 것과 동일한 기능을합니다. "iexplore.exe"힌트는 절대로 작동해서는 안됩니다. –

+0

Slanec : TestNG를 프레임 워크로 사용하여 WebDriver에서 Java 코딩 용 Eclipse를 사용하고 있습니다. "selenium-server-standalone-2.29.0.jar"및 "selenium-java-2.29.0.jar"를 추가했습니다. 잘 돌아갑니다. "selenium-server-standalone-2.29.0.jar"오류가 line-driver = new InternetExplorerDriver()에서 발생했습니다. com.gb.test.selenium.itinerarybuilder.ItineraryBuilderCreation 실패 구성 : @BeforeClass 설정 java.lang.NoClassDefFoundError가 : com.gb.test.selenium.common.SeleniumTestCase에서 COM/구글/일반/기본/기능 \t. setUp (SeleniumTestCase.java:89) –

+0

구글 구아바의 일부인'com.google.common.base.Function' 클래스가 없습니다. Google 구아바는'selenium-server-standalone' 단지 안에 있지만 괜찮은 편이지만 괜찮습니다. 이런 방식으로 컴파일하려면'lib' 폴더 (zip 파일의 jar 파일 옆에 포함되어 있음)에'selenium-java'와 함께 번들 된 의존성을 추가해야합니다. 또는 Maven 또는 이와 유사한 종속성 관리자를 사용하십시오. –

0

브라우저 용 인스턴스화 드라이버를 사용하지 않으면 브라우저 창을 열어 업로드/다운로드 작업을 수행하지 않습니다. 당신이 IE를 사용하는 경우 당신은 아마 http://code.google.com/p/selenium/downloads/list의 최신 selenium-java을 필요로하는 대신 기존의 오래된 webdriver-common 패키지의

0

driver = new InternetExplorerDriver();를 작성했습니다.

혹시 또한 로컬 셀레늄 RC를 실행해야하는 경우, 또는 (아직 단지 selenium-java을, 다음이 무엇인지 모르는 경우) 원격 WebDriver는 셀레늄 그리드 하다며, 당신은 거기 selenium-server 패키지가 필요합니다.

InternetExplorerDriver을 실행하는 경우 위의 페이지에서 IEDriverServer이 필요합니다. 32 비트 또는 64 비트 버전을 사용할지 여부는 전적으로 귀하에게 달려 있습니다.


here in the documentation을 설정하는 예를 찾을 수 있습니다. 조금이라도 파헤 치면 해당 문서에서 더 많은 유용한 정보를 찾을 수 있습니다.

예를 들어, 인터넷 익스플로러를 들어, 당신은 할 수 있습니다 :

System.setProperty("webdriver.ie.driver", "C:\\path\\to\\IEDriverServer.exe"); 
WebDriver driver = new InternetExplorerDriver(); 

// your testing code 

driver.quit(); 

파일을 업로드 귀하의 방법은 올바른 것입니다.

현재 (Selenium v2.29.0)부터는 WebDriver를 통해 파일을 다운로드 할 수 없습니다. 정말로 그렇게하고 싶다면 find another way해야합니다.

+0

Selenium Server 2.29.0을 지금 사용할 수 있습니다. –

+0

@RiponAlWasim 그리고 여전히 파일을 다운로드 할 수 없습니다. –

+1

예, v2.26.0도 작동합니다. 최신 버전에 대한 내 정보였습니다. 다른 건 없어요. –

1

을 모든 버전. 먼저 모든 jar를 추가 한 다음 모든 lib 폴더 jar를 모두 추가하십시오.

  • 셀레늄 자바 2.25.0.jar
  • 셀레늄 자바-2.25.0-srcs.jar 다음 모든 LIB 항아리 (모든 lib 폴더 항아리를 추가하는 것을 잊지 마세요)
+0

예, 효과가있었습니다. 일부 자습서에서는 빌드 경로에 'selenium-java-2.xx.x'jar를 추가하라고 요청하지만 'lib'폴더의 jar도 필요합니다. 문제를 발견하기 위해 고심하고 있었고 마침내 문제를 발견했습니다. –

관련 문제