Selenium2로 다운로드 처리를 해보도록 하겠습니다.
6986 단어 Selenium2
이번에는 셀레니움2를 이용한 다운로드 처리에 대해 설명한다.
1. 셀레니움2를 사용해 본다
웹 응용의 테스트 자동화를 목적으로 셀레니움2를 사용했기 때문에 몇 차례로 나누어 막힌 점을 정리할 수 있다고 생각합니다.
2. 사용된 Selenium
・Selenium IDE
・Selenium Webdriver(Java 3.50)
※ 도입 방법에 관해서는 많은 분들이 쉽게 정리해 주셨는데, 여기서 생략하겠습니다.
3. [주제] 셀레니움2에게 다운로드 처리
이번에는 지난번 예고한 대로 셀레니움2를 다운로드 처리하고 싶다.
※ 환경은 Firefox(54.0.1) 64위.
우선 일반적인 다운로드 처리 명령에 무슨 문제가 있는지 설명하는 것을 허락해 주십시오.(^ゞ
다운로드 버튼을 누르는 것부터 다운로드를 진행할 때까지 간단하게 다음과 같은 절차를 밟고 싶습니다.
다운로드 처리 전 단계
1. 다운로드 파일 링크 선택
2. 브라우저에 대화 상자 표시
3. 대화 상자에서 다운로드 위치 지정
4. 다운로드 허용
5. 순조롭게 시작하고 다운로드 종료
대충 설명하자면 이런 느낌!
그래서 이곳에 문제가 생겼다.
이거야.
대화 상자
Selenium 2에서는 현재 대화 상자에 세부 작업을 지정할 수 없습니다.
따라서 이 대화 상자의 발생을 방지해야 합니다...(/;)
(발생 시 이후의 처리는 전혀 조작할 수 없음)
Firefox 브라우저를 먼저 엽니다.
[옵션] - [일반] - [다운로드]
다운로드 주소를 지정했지만 그렇게 간단할 수는 없다
원래 웹 드라이버를 사용하기 때문에 프로그램에서 열 때와 보통 열 때의 설정이 다르다.
그럼 Java에서 웹 드라이버를 준비하는 김에 설정해 주세요!
그러게 말이야.
【참고】Selenium 2.웹 드라이브에서 파일 다운로드
위 URL을 참고하여 계속 쓰시면
다음 처리를 통해 해결되었습니다.
Download2017.java
package ~;
import java.io.IOException;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;
public class Download2017 {
private WebDriver driver;
@Before
public void setUp() throws Exception {
FirefoxProfile profile = new FirefoxProfile();
//1.ダウンロード場所を指定する0:デスクトップ 1:ダウンロードフォルダ 2:ダウンロードに指定された最後のフォルダ
profile.setPreference("browser.download.folderList", 0);
//2.ダウンロード先が指定してあればそれを使う
profile.setPreference("browser.download.useDownloadDir", true);
//3.zipファイルは有無を言わさずにダウンロードを行う
profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/zip");
//4.webdriverの設定(設定したprofileを読み込む)
System.setProperty("webdriver.gecko.driver", "./driver/geckodriver.exe");
driver = new FirefoxDriver(profile);
}
@After
public void tearDown() throws Exception {
driver.quit();
}
@Test
public void test() throws InterruptedException {
try {
driver.get("URL");
driver.findElement(By.id("ダウンロード")).click();
//ダウンロードリンクをクリック
}catch(IOException e){
System.out.println(e);
}
}
}
간단하게 정리를 해볼게요.1. 다운로드 위치를 지정합니다.
2. 다운로드 주소 고정
3. 대화 상자가 표시되지 않도록 설정
4. 설정된 소개 읽기
이런 순서.
장소를 정하는 방법이나 조금 더 좋은 방법이 있을 것 같아요.
그렇게 생각하지만 다운로드는 이 방법으로 먼저 해결하세요(^^)/
4. 요약
Firefox 버전 어때요, 드라이브 버전 어때요?
실수가 많았기 때문에 솔직히 고전한 셈이다.
지금은 다운로드할 수 있지만 Firefox 버전이 업그레이드되면 더 이상 대응할 수 없을 것 같다는 끔찍한 망상이 실현됐다.
다음에 IE로 연결을 해보고 싶어요.
잘 부탁드립니다.˘•ω•˘ )!!
Reference
이 문제에 관하여(Selenium2로 다운로드 처리를 해보도록 하겠습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tsuttie/items/c54151098960c6fda19a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)