Warm tip: This article is reproduced from serverfault.com, please click

c#-如何在TFS 2015中提高测试代理上的屏幕分辨率

(c# - How to increase the screen resolution on Test Agent in TFS 2015)

发布于 2020-12-05 06:03:08

我正在使用TFS 2015触发Selenium自动化测试套件。由于一些HTML元素重叠,很少有测试用例失败,这是由于TFS服务帐户打开的会话的屏幕分辨率较小(以编程方式,我在TFS中运行测试方法时截取了屏幕截图)。从Visual Studio或本地CMD或TFS服务器中的远程桌面会话运行时,所有测试用例都通过了。

我尝试使用波纹管技术提高屏幕分辨率,但是保存在TFS服务器中的屏幕截图仍然显示较小的屏幕尺寸。

  1. 增加窗口大小:

driver.Manage().Window.Size = new Size(x, y);

  1. Chrome功能-分辨率
DesiredCapabilities caps = new DesiredCapabilities();
caps.SetCapability("resolution", "1920x1080");
  1. Chrome功能-窗口大小
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.AddArgument("--window-size=1300,1000");
  1. 最大化窗口 driver.manage.window.maximize();

这些方法都不起作用,因为TFS服务帐户打开的会话屏幕分辨率较小

当我使用无头选项运行测试用例时,浏览器窗口将以“最大窗口大小”打开,但是测试失败,因为 selenium 无法识别元素(NoSuchElementException):

var chromeOptions = new ChromeOptions();
chromeOptions.AddArguments("headless");

(我正在自动化的项目是一个ReactJS项目)

我想知道一种通过TFS代理执行测试时增加屏幕尺寸的方法。谢谢你

Questioner
shalinds
Viewed
0
PDHide 2020-12-06 02:13:09
chromeOptions.addArgument("--headless");
chromeOptions.addArgument("--disable-gpu");
chromeOptions.addArgument("--window-size=1920,1080")

WebDriver driver  = new ChromeDriver(chromeOptions);

此后不要使用browser.maximize,它将把Windows的大小重置为系统默认值。

也尝试:

chromeOptions.addArguments("--headless","--disable-gpu","--window-size=1920,1080")

WebDriver driver  = new ChromeDriver(chromeOptions);

调试技巧

查看测试是否以相同的窗口大小但非无头模式通过

如果通过,那是因为执行速度更快,无头浏览器要比无头浏览器快,因此你需要为这些元素添加更多的显式等待