Selenium網站自動化測試: 讓瀏覽器模擬成手機瀏覽手機版網站

Selenium網站自動化測試: 讓瀏覽器模擬成手機瀏覽手機版網站

這篇文章主要討論如何將瀏覽器模擬成手機,讓網頁回傳手機頁面的版面。

許多的網站都會提供幾種不同的版面。一個是電腦瀏覽版,另外一種就是手機或是平板瀏覽版面。

我們可以準備手機與平板進行測試。

但是,我們其實也可以直接對瀏覽器做設定就可以達到同樣的測試較果。

如何做這樣的設定,自動化測試程式如何實作就是這篇文章要討論的範圍。

 

User Agent

網站如何識別該連線過來的瀏覽器是手機還是電腦? 主要靠的就是 user Agent

user Agent 是Http header 中的一個參數值,

只要適當的修改這個值傳送到網站

網站就會根據對應的瀏覽器顯示不同的頁面

User Agent 的值有哪些呢? 可以參考下列這個網站:

http://www.useragentstring.com/pages/useragentstring.php

舉例來說下列字串就代表  iPhone/Safari

“Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7”

既然修改 UserAgent 就可以達到模擬手機瀏覽器,那麼程式要如何實作呢?

很簡單,我們只要透過 Selenium所提供的 Browser profile ,即可

profile.setPreference(“User Agent Strings Here”);

Java User Agent 程式實作

[pastacode lang=”java” message=”” highlight=”” provider=”manual”]


import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;

public class userAgentFirefox {
	
	public static void main(String... args){
		FirefoxProfile profile = new FirefoxProfile();
		//profile.setPreference("browser.shell.checkDefaultBrowser", true);
		profile.setPreference("general.useragent.override", "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7");
		
		FirefoxDriver driver = new FirefoxDriver(profile);
		driver.get("http://www.google.com");
		
	}

}

[/pastacode]

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *