본문 바로가기
자동화(Automation)

Selenium_Mobile Emulation

by Testengineer 2022. 2. 2.
반응형

모바일웹 페이지 자동화를 하기 위해, 모바일 에뮬레이션을 이용해서 모바일 화면으로 띄워주는 방법에 대해 포스팅을 하려고 합니다.

이전에 웹 자동화 Setting 포스팅 단계대로 셋팅을 한 뒤, 실행시키면 아래와 같은 웹 화면으로 자동화가 진행됩니다.

ㅓㄴㅊ

 

이때, 전체 화면이 아닌 모바일 에뮬레이션을 이용한 화면으로 보여주기 위해서는 setup단계에서 //mobile emulation 주석을 단 아래와 같은 코드를 추가시켜 주면 됩니다. 

package example;

import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

public class sample04 {
	public WebDriver driver;
	   
	@BeforeClass
	// 테스트 시작 전 셋팅에 관한 코드
	public void SetUp(){
		System.setProperty("webdriver.chrome.driver", "C:\\Users\\eprtm\\Downloads\\chromedriver_win32\\chromedriver.exe");
		//mobile emulation
		Map<String, String> mobileEmulation = new HashMap<>();
		mobileEmulation.put("deviceName", "Nexus 5");
		ChromeOptions chromeOptions = new ChromeOptions();
		chromeOptions.setExperimentalOption("mobileEmulation", mobileEmulation);
		driver = new ChromeDriver(chromeOptions);
		
		driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
		driver.get("https://m.naver.com");
	}
		   
	@Test
	// Test에 해당하는 문구
	public void sample_main() throws Exception{
		// 현재 url을 가져와서 저장
		String url = driver.getCurrentUrl();
		System.out.println("URL : "+url);
	}
		   
	@AfterClass
	// Test가 끝나고 수행
	public void tearDown() throws Exception{
		// 드라이버 종료
		driver.quit();
	}

}

그러면 아래와 같이 Nexus5와 같은 크기의 모바일 에뮬레이션 화면으로 자동화를 실행시킬 수 있습니다.

Nexus5 뿐만 아니라 크롬 개발자도구(F12)로 들어가면, 모바일 디바이스명을 확인할 수 있는데 해당 명칭을 변경하면 특정 디바이스로 에뮬레이션을 실행시킬 수 있습니다.

Map<String, String> mobileEmulation = new HashMap<>();
mobileEmulation.put("deviceName", "iPhone X");

 

 

여기까지 java언어를 사용한 모바일 에뮬레이션을 이용한 setup방법에 대해 포스팅했습니다.

 

이 외에 python이나 ruby언어로 사용하실 분들은 아래의 참고사이트를 이용하면, 셋팅 방법에 대해 나와있으니 참고 부탁드립니다:)

참고 사이트 : https://chromedriver.chromium.org/mobile-emulation

반응형

'자동화(Automation)' 카테고리의 다른 글

Selenium_Wait  (0) 2022.08.05
Selenium_Scroll in Java  (0) 2022.08.01
Selenium_isDisplayed(), isSelected(), isEnabled()  (0) 2021.01.23
웹 자동화 Setting 3_TestNG 시작하기  (0) 2020.11.04
웹 자동화 Setting 2_selenium setting  (0) 2020.10.28

댓글