Selenium은 다른 브라우저에서 웹 기반 응용 프로그램을 자동화하지만 응용 프로그램에서 창 GUI 및 HTML이 아닌 팝업을 처리하도록 설계된 오픈 소스 도구입니다. 이러한 윈도우 기반 활동이 Selenium에서 처리되지 않으므로 AutoIT가 필요합니다.
AutoIt v3은 또한 프리웨어입니다. 셀레늄 웹 드라이버로는 불가능한 작업을 자동화하기 위해 마우스 움직임, 키 입력 및 창 제어 조작을 조합하여 사용합니다.
AutoIT를 사용하여 셀레늄 웹 드라이버에서 파일을 업로드하는 방법을 배우게됩니다. 여기에는 세 가지 도구가 필요합니다.
- Selenium Webdriver
- AutoIT 편집기 및 요소 식별자(lement identifier)
- 자동화 할 창(window)
이 튜토리얼에서는,
AutoIT를 다운로드하고 설치하는 방법
2 단계) : 'Autoit'및 'Autoit Editor'드롭 다운에 마우스를 올려 놓습니다.
3 단계) 'AutoIT'다운로드 옵션을 클릭하십시오.
4 단계) : 'Autoit 다운로드'버튼을 클릭하여 'Autoit'을 다운로드하십시오.
5 단계) : '다운로드'버튼을 클릭하여 '자동 편집기'를 다운로드하십시오.
6 단계) : 아래 그림과 같이 링크를 클릭하십시오.
다운로드 후 아래 그림과 같이 두 개의 설정 파일을 얻습니다. 첫 번째는 AutoIt 버전 3 설정이고 두 번째는 Scitautoit3 입니다.
6 단계) : AutoIT 설치시 - AutoIT 설정을 하나씩 클릭하십시오.
7 단계) : 성공적으로 설치 한 후 AutoIT Editor를 엽니 다.
'C : \ Program Files (x86) \ AutoIt3 \ SciTE'로 이동하십시오.
'SciTE.exe'파일을 클릭하면 아래 화면과 같이 AutoIT 편집기가 열립니다.
8 단계) : 요소 식별자를 엽니 다.
'C : \ Program Files (x86) \ AutoIt3'로 이동하십시오.
'Au3Info.exe'파일을 클릭하면 아래 그림과 같이 요소 식별자가 열립니다.
참고 : 이 요소 식별자를 사용하면 수동으로 닫아야합니다. 자동으로 닫히지 않습니다.
요소를 통해 요소 찾기 AutoIT 편집기에서 식별자 및 작성 스크립트.
여기서는 AutoIT 요소 식별자를 통해 파일 업 로더 창에서 요소를 찾는 방법을 보게됩니다 (요소 식별자는 셀렌 IDE와 같은 도구이며 식별자는 창 GUI 요소 또는 HTML 팝업이 아닌 요소를 찾아 제목 , 클래스 , 인스턴스 )와 3 가지 방법을 사용하여 AutoIT 편집기에서 스크립트를 작성하는 방법에 대해 설명합니다.
예 : guru99의 "Write to us"페이지를 사용하여 이력서 (Doc 파일)를 업로드합니다.
"Write to us"페이지에서 'Choose File'버튼을 클릭하면 AutoIT 스크립트를 호출해야합니다. 업로드 부분을 처리하는 아래 명령문에서 '파일 선택'을 클릭하면 컨트롤이 자동으로 자동 전송됩니다.
Runtime.getRuntime (). exec ( "E : \\ AutoIT \\ FileUpload.exe");
마지막으로, 셀렌 스크립트를 실행하면 form-> upload resume-> Submit form이 완료됩니다.
1 단계) : 이제 C : \ Program Files (x86) \ AutoIt3로 가서 'Au3Info.exe'파일을 클릭하면 아래 그림과 같이 요소 식별자 창이 열립니다.
2 단계) : 이제 Windows 활동 인 '파일 선택'을 클릭하여 파일 업 로더 창을 엽니 다.
3 단계) : 파일 업 로더 창의 " File Name(파일 이름)"상자 요소에서 파인더 도구를 드래그하여 화살표가있는 아래 화면에 표시된 기본 속성 정보를 찾으십시오.
아래와 같이 속성의 값 즉, title = 'Open' , class = 'Edit' 및 instance = '1' 을 얻을 수 있습니다. 이 값은 아래의 4 단계에서 설명한 AutoIT 스크립트 작성시 사용됩니다.
4 단계) : 이제 개방하는 AutoIt 스크립트 편집기, 고토 'C : \의 Program Files (x86) \ AutoIt3 \ SciTE'은 1 개에서 7 단계에서와 같이 'SciTE.exe'를 클릭 번째 항목을 참조하십시오.
업로드 할 파일을 선택하기위한 스크립트 작성을 시작하십시오.
요구 사항에 따라 스크립트에서 사용할 수있는 메소드가 많이 있지만 지금은 파일 업로드 스크립트를 작성하는 데 이러한 메소드가 필요하기 때문에 아래의 메소드에 초점을 맞출 것입니다.
- ControlFocus ( "title", "text", controlID) // 입력 포커스를 윈도우의 지정된 컨트롤에 설정합니다.
- ControlSetText ( "title", "text", controlID, "업로드해야하는 파일 경로") // 컨트롤의 텍스트를 설정합니다.
- ControlClick ( "title", "text", controlID) // 주어진 컨트롤에 마우스 클릭 명령을 보냅니다.
아래 화면과 같이 여러 가지 방법이 표시됩니다. AutoIT의 좋은 특징은 Eclipse와 다소 비슷하다는 점이다.
여기 AutoIT 편집기에서 "control focus" 방식을 선택했습니다. 위의 3 단계에서 요소가 이미 식별되었으므로 요소 식별자가 이미 열려 있고 최소화되었습니다. 최대화하여 열 수 있습니다.
이제 'ControlFocus'및 'ControlSetText'메소드의 요소 식별자에서 값을 가져옵니다. 이러한 메소드는 'File name'텍스트 상자와 같은 요소에서 작동하지만 'ControlClick'메소드는 다른 요소 즉 'Open' 단추.
ControlFocus 메서드의 매개 변수 값 :
이 메서드는 파일 업 로더 창의 '파일 이름'텍스트 상자에 포커스를 설정합니다.
- 첫 번째 매개 변수 제목 은 "열기"입니다.
- 우리는 두 번째 매개 변수를 무시하고 텍스트 는 필요하지 않습니다.
- 세 번째 매개 변수 controlID 는 class = 'Edit'와 Instance = '1'즉의 조합입니다. '편집 1.'
ControlFocus("Open","","Edit1") // This method sets input focus to 'File name' text box.
ControlSetText 메서드의 매개 변수 값 :
이 메소드는 '파일 이름'텍스트 상자에 업로드해야하는 파일의 경로를 정의하는 데 사용됩니다. 다른 방법으로이 메소드는 텍스트를 입력 요소로 설정하는 데 사용된다고 말할 수 있습니다.
- 첫 번째 매개 변수 title 은 "열기"입니다.
- 우리는 두 번째 매개 변수를 무시하고 text 는 필요하지 않습니다.
- 세 번째 매개 변수 controlID 는 class = 'Edit'와 Instance = '1'즉 "Edit1"의 조합입니다.
- 네 번째 매개 변수 인 new text는 업로드해야하는 파일의 경로를 전달합니다.
ControlSetText("Open","","Edit1","E:\Resume\resume.doc") // 이 메서드는 컨트롤의 파일 경로를 입력합니다.
위 단계를 수행 한 후에는 창 (편집기 및 요소 식별자)을 닫지 말고 열어 두십시오. 아래의 5 단계에서와 같이 '열기'버튼의 속성을 찾으려면 다시 파일 업 로더 창을 열어야합니다.
5 단계) : 이제 파일 업 로더 창의 "열기"버튼 요소에서 파인더 도구를 드래그하여 기본 속성 정보를 찾습니다.
이전 값 (즉, '파일 이름'텍스트 상자의 속성)은 '열기'버튼의 새 값으로 덮어 씁니다. AutoIT 요소 식별자 창에서 클래스 속성이 이전에 "편집"했던 "버튼"으로 변경되었음을 알 수 있습니다.
아래에 표시된 것처럼 title = 'Open' , class = 'Button' 및 instance = '1' 의 속성 값을 얻을 수 있습니다. 이 값은 아래에 설명 된대로 Autoit 스크립트 작성시 사용됩니다.
ControlClick 메서드의 매개 변수 값 :
이 방법은 파일 업 로더 창의 '열기'버튼을 클릭합니다.
- 첫 번째 매개 변수 title은 "Open"입니다.
- 우리는 두 번째 매개 변수를 무시합니다. text가 필요하지 않습니다.
- 세 번째 매개 변수 인 controlID 는 클래스와 인스턴스의 조합입니다 (예 : "Button1").
ControlClick ( "Open", "", "Button1") //이 메소드는 파일 업 로더의 '열기'버튼을 클릭합니다.
6 단계) : 아래 그림에서 AutoIT 스크립트가 완료되어 파일 업 로더를 처리 할 수 있습니다. 이제 요소 식별자를 닫고 스크립트를 지정된 위치 (E : \ AutoIT)에 "FileUpload"로 저장할 수 있습니다.
이제이 스크립트를 직접 실행할 수 없으므로이 스크립트를 컴파일해야합니다.
이 스크립트를 컴파일하기 위해서는 " compile script x64 "과 " compile script x86"의 두 가지 옵션 이 있습니다. Windows 32 비트 시스템이있는 경우 " compile script x86"을 사용 하고 Windows 64 비트 시스템의 경우 " compile script x64 . "
7 단계) : 컴파일 후 생성 된 'FileUpload exe' 파일은 아래 화면에서 볼 수 있습니다. 이제이 파일을 Selenium webdriver 스크립트에서 사용할 수 있습니다.
이제 우리는 Selenium 웹 드라이버에서이 AutoIT 스크립트를 사용할 것입니다. 출력을 확인하려면 아래를 확인하십시오.
Selenium Webdriver의 AutoIT 업로드 파일
Selenium 스크립트에서 폼의 요소를 찾아 필요에 따라 각 요소의 데이터를 채우고 AutoIT 스크립트에서 생성 된 AutoIT exe 파일을 실행하여 'resume.doc'파일을 업로드 한 다음 셀렌 스크립트로 양식을 제출하도록 허용합니다.
- Eclipse를 열고 코드 작성을 시작하십시오.
- 셀레늄이 파일 선택 버튼을 클릭하면 파일 업 로더 상자가 열립니다.
- 그런 다음 AutoIT 스크립트를 호출해야합니다. 즉, 컨트롤을 즉시 AutoIT로 전송하여 파일을 업로드 한 다음 아래에 표시된대로 셀렌으로 다시 보내도록 제어합니다.
1 단계) : eclipse에서 셀렌 스크립트를 개발하십시오.
- Runtime 클래스는 스크립트가 실행중인 환경과 인터페이스 할 수있게합니다.
- getRuntime () 이 프로세스와 관련된 현재 런타임을 가져옵니다.
- exec () 메소드는 AutoIT 스크립트 (FileUpload.exe)를 실행합니다.
Runtime.getRuntime (). exec ( "E : \\ AutoIT \\ FileUpload.exe");
위의 줄은 셀렌에서 AutoIT scrip를 호출 하고 파일을 업로드합니다.
2 단계) : Eclipse에서 Selenium 스크립트를 실행한다.
importjava.io.IOException;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class FileUpload {
public static void main(String[] args) throws IOException {
WebDriver driver=new FirefoxDriver();
driver.get("http://demo.guru99.com/test/autoit.html");
driver.findElement(By.id("postjob")).click();
driver.findElement(By.id("input_3")).sendKeys("Gaurav");
driver.findElement(By.id("id_4")).sendKeys("test.test@gmail.com");
driver.findElement(By.id("input_4")).click();
// 아래 라인은 AutoIT 스크립트를 실행합니다.
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");
driver.findElement(By.id("input_6")).sendKeys("AutoIT in Selenium");
driver.findElement(By.id("input_2")).click();
driver.close();
}
}
3 단계) : 출력을 확인하고 resume.doc 파일을 성공적으로 업로드했으며 감사 메시지가 표시됩니다.
결론:
- 요소 식별자 및 AutoIT 편집기를 다운로드하여 설치했습니다.
- 작업을 수행 할 사이트를 열었습니다.
- 요소 식별자는 파일 업 로더 창의 요소를 식별합니다.
- Element 식별자의 도움으로 편집기에서 AutoIT 스크립트를 준비했습니다.
- Autoit 스크립트는 selenium webdriver 스크립트에서 사용됩니다.
- 셀렌 스크립트를 실행했습니다.
- 출력 : 파일 업로드가 완료되었습니다.
'자동화테스트 > Selenium' 카테고리의 다른 글
Selenium에서 SSL 인증서 오류 처리 (1) | 2018.12.20 |
---|---|
Selenium WebDriver의 원하는 기능 (0) | 2018.12.19 |
Selenium Webdriver의 로봇 클래스 (0) | 2018.12.17 |
셀레니움 헤드리스 테스트를 위한 HTMLUnitDriver 및 PhantomJS (0) | 2018.12.16 |
Log4j with Selenium Tutorial (0) | 2018.12.15 |