0

一段时间以来,我一直在远程 XP 客户端上运行测试。我的测试是使用 Selenium 的 WebDriver(版本 2.20.0)和 IE 驱动程序(版本 2.20.1.0)用 C# 编写的,这些测试在 Microsoft 实验室管理管理的 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 没有监视器,因此无法知道实际分辨率?我只想调用一些将窗口“最大化”到全屏而不指定大小的东西。

4

1 回答 1

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);");

我希望这会有所帮助......一切顺利

于 2012-12-04T11:46:21.053 回答