我有一个Selenium套件,有150个测试用例。测试必须在Chrome浏览器中以隐身模式运行。
我能够以隐身模式启动浏览器。但问题是浏览器没有达到最大化(例如,对于10个测试用例以及浏览器以最大化模式启动的140个测试用例),尽管有一个代码可以最大化浏览器。
结果,一些测试失败(全部10测试)。
以下是我的代码
desiredCapabilities = DesiredCapabilities.Chrome();
var options = new ChromeOptions();
options.AddArgument(@"--incognito");
options.AddArgument("--start-maximized");
desiredCapabilities.SetCapability(ChromeOptions.Capability, options);
webDriver = new MyWebDriver(new Uri(gridHubURL), options.ToCapabilities(),TimeSpan.FromSeconds(ApplicationConfiguration.RemoteDriverTimeOutValue),testContext);
break;
有没有办法确保浏览器始终(100%)以最大化模式启动。
浏览器未最大化时,单击操作失败。
System.InvalidOperationException:未知错误:元素在点(886,466)处无法单击。其他元素将收到点击:
出于这个原因,我想以最大化模式运行。在最大化模式下,我没有收到此错误。请帮忙 。
谢谢
试试这段代码:
ChromeOptions options = new ChromeOptions();
options.AddArguments("--incognito");
IWebDriver driver = new ChromeDriver("C://",options);
这个对我有用
另一种方法是设置初始大小:
options.AddArgument("--window-size=1024,768");
您还可以设置一些极端值。然后窗口应具有屏幕大小,因为操作系统限制它(至少在Windows上):
options.AddArgument("--window-size=32000,32000");
可以做这样的事情:
desiredCapabilities = DesiredCapabilities.Chrome();
var options = new ChromeOptions();
options.AddArgument(@"--incognito");
options.AddArgument("--start-maximized");
desiredCapabilities.SetCapability(ChromeOptions.Capability, options);
webDriver = new MyWebDriver(new Uri(gridHubURL), options.ToCapabilities(),TimeSpan.FromSeconds(ApplicationConfiguration.RemoteDriverTimeOutValue),testContext);
webDriver.Manage().Window.Maximize();
break;
它需要在webDriver
打开之后,但它会为你最大化窗口。
试试这个,我已经测试过,应该没问题
var caps = DesiredCapabilities.Chrome();
var options = new ChromeOptions();
options.AddArgument(@"--incognito");
options.AddArgument(@"--start-maximized");
caps.SetCapability(ChromeOptions.Capability, options);
var webdriver = new ChromeDriver(options);
webdriver.Navigate().GoToUrl("http://yourURL.com");
webdriver.Manage().Window.Maximize();