最大化远程IE浏览器

时间:2012-12-03 22:45:18

标签: c# selenium webdriver virtual-machine microsoft-test-manager

我已经在远程XP客户端上运行了一段时间的测试。我的测试是使用Selenium的WebDriver(版本2.20.0)和IE驱动程序(版本2.20.1.0)用C#编写的,这些测试是在微软实验室管理的XP客户端上远程运行的。

我的问题是,在创建IE浏览器时,我无法通过Selenium调用在客户端上最大化它。相反,我正在尝试使用以下内容:

_driver.Manage().Window.Size = new Size(System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Width, System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Height);

WorkingArea 一起,我也尝试了 Bounds ,但无济于事,因为两者都增加了窗口大小,但没有正确定位到中心。我认为这是因为VM没有监视器,因此无法知道实际的分辨率?我想在不指定大小的情况下调用将窗口“最大化”到全屏的内容。

1 个答案:

答案 0 :(得分:1)

由于您正在远程运行测试,因此需要在客户端重新调整窗口大小。我建议你通过JavaScript注入来实现。

最好的事情......它在客户端执行,所以不用担心。在JavaScript中我首先将窗口移动到(0,0)轴,然后我将窗口屏幕最大化为最大可用(宽度,高度)。

这是C#中的代码......

    IWebDriver driver = new InternetExplorerDriver();
    driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));
    driver.Navigate().GoToUrl("http://www.google.com");

    IJavaScriptExecutor JSDriver = (IJavaScriptExecutor)driver;

    JSDriver.ExecuteScript("window.moveTo(0, 0)");
    JSDriver.ExecuteScript("window.resizeTo(screen.availWidth, screen.availHeight);");

我希望这有助于......一切顺利