6

我愛new emulation feature introduced in the new Chrome。事實上,我非常喜歡用它來測試多個分辨率/設備的移動網站。爲此,我需要對模擬功能進行某種控制。Chrome 32 - 通過JS或網頁驅動器控制仿真

有沒有什麼辦法可以控制希望設備被模擬?

很高興知道如何啓動OpenQA.Selenium.Chrome.ChromeDriver來模擬移動設備。

在此先感謝。

+1

有這樣的:https://code.google.com/p/chromedriver/issues/detail?id=399具體見評論#3。 – SiKing

+0

humm ...你知道如何檢查該項目的進度嗎? – vtortola

+0

@vtortola在源代碼中檢查「Samuel Rawlins」的提交嗎?或者問那個問題? – SiKing

回答

0

您可以嘗試向Chrome驅動程序添加選項。

ChromeOptions options = new ChromeOptions(); 
options.addArguments("--user-agent=Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3"); 

在上面的例子中,提供了「user-agent」開關。同樣請嘗試使用「窗口大小」命令行開關。

請讓我知道它是否有效。

鉻的所有命令行開關列表如下。

http://peter.sh/experiments/chromium-command-line-switches/

注:通過安裝下面給出的Chrome瀏覽器插件,你可以得到各種設備所需的用戶代理設置。

0

以下是我在C#中做到了:

IWebDriver driver; 
     string setDevice = "Apple iPhone 6"; 
     var mobileEmulation = new Dictionary<string, string> { { "deviceName", setDevice } }; 
     var chromeOptions = new ChromeOptions(); 
     chromeOptions.AddAdditionalCapability("mobileEmulation", mobileEmulation); 
     driver = new ChromeDriver(chromeOptions); 
     driver.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(90)); 
     driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(Convert.ToDouble(30))); 
     return driver;