00216 20160226 셀레니움 WebDriver 시작하기 3 인터넷익스플로러 - AngryQA/blog GitHub Wiki

셀레니움 WebDriver 시작하기 3 - 인터넷익스플로러

AngryQA | 2016-02-26 금요일 오후 2:55 | 테스트 도구/Selenium / 웹 테스트 자동화 | 원본

작성자 : 빈스윤

1. IE는 다양한 버전이 있고 세팅해야할 것이 많았었다는게 기억이 났다.

2. 먼저 코드를 짜보자

|

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

|

        //IE드라이버 위치 지정

        System.setProperty("webdriver.ie.driver", "D:\tete\webdrive\IEDriverServer.exe"); 

        //IE 인터넷익스플로러

        WebDriver IEdriver = new InternetExplorerDriver();

        IEdriver.get("http://stackoverflow.com/");

        Thread.sleep(3000);

        link = IEdriver.findElement(By.linkText("Jobs"));

        link.click();

        Thread.sleep(5000);

        IEdriver.get("http://www.statiz.co.kr/");

        Thread.sleep(3000);

        playerInfo = IEdriver.findElement(By.xpath("/html/body/div[1]/div[2]/div/a[3]/div"));

        playerInfo.click();

        Thread.sleep(5000);

        playerSerchInput = IEdriver.findElement(By.xpath("/html/body/div[1]/div[6]/div[1]/div[1]/div[3]/form/input[3]"));

        playerSerchInput.click();

        playerSerchInput.sendKeys("박용택");

        playerSerchInput.submit();

        Thread.sleep(5000);

        IEdriver.quit();

Colored by Color Scripter

| cs |

3. 돌리면 당연히 IE가 뜨는경우도 있겠지만 스크립트한 동작은 작동하지 않는다.

그래서... 깃허브에 셀레니움HQ로 가봤더니..

Required Configuration

  • The IEDriverServer exectuable must be downloaded and placed in your PATH.
  • On IE 7 or higher on Windows Vista or Windows 7, you must set the Protected Mode settings for each zone to be the same value. The value can be on or off, as long as it is the same for every zone. To set the Protected Mode settings, choose "Internet Options..." from the Tools menu, and click on the Security tab. For each zone, there will be a check box at the bottom of the tab labeled "Enable Protected Mode".
  • Additionally, "Enhanced Protected Mode" must be disabled for IE 10 and higher. This option is found in the Advanced tab of the Internet Options dialog.
  • The browser zoom level must be set to 100% so that the native mouse events can be set to the correct coordinates.
  • For IE 11 only, you will need to set a registry entry on the target computer so that the driver can maintain a connection to the instance of Internet Explorer it creates. For 32-bit Windows installations, the key you must examine in the registry editor isHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE. For 64-bit Windows installations, the key isHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE. Please note that the FEATURE_BFCACHE subkey may or may not be present, and should be created if it is not present. Important: Inside this key, create a DWORD value named iexplore.exe with the value of 0.

이 위에 설정을 모두 맞춰 주어야 작동한다.

ㅁ IE 드라이브를 설치하고

ㅁ IE 7이상, 윈도우 비스타,7 이상에서는 보호모드를 모두 동일하게 체크하거나 하지않아야하고

ㅁ 고급 탭에서 향상된 보호모드도 꺼두어야한다.

ㅁ 그리고 IE 11 이상이라면 FEATURE_BFCACHE 키와 iexplore.exe라는 하위키를 추가해야한다. 

4. 그리고 나서 동작해 보면 잘 동작하는것을 확인 할 수 있다.

작성해 보니 파이어폭스, 크롬, IE 순으로 설정하기 어려운 것을 알수 있다.


그럼 동작 동영상을 첨부하고 셀레니움 시작하기 포스팅을 마치도록 하겠다.