PhantomJS驱动程序是否支持命令行参数?我需要使用PhantomJS驱动程序运行Selenium测试并禁用Web安全。我努力了:
PhantomJSOptions options = new PhantomJSOptions(); options.AddAdditionalCapability("web-security",false); driver = new PhantomJSDriver(Environment.CurrentDirectory + @"\drivers", options);
但这似乎不起作用。PhantomJSDriver是否允许传递命令行参数?
您可以--web- security使用PhantomJSDriverService.WebSecurity属性指定PhantomJS的命令行选项,而不是将其传递为PhantomJSOptions。
--web- security
PhantomJSOptions
这是在Selenium 2.32.0中添加的,这是CHANGELOG的引文:
(代表GeoffMcElhanon)添加了将参数传递给PhantomJS的支持。PhantomJSDriverService现在具有PhantomJS支持的所有命令行开关的类型安全属性。这些可以直接在命令行上传递,也可以序列化为JSON文件,以便通过 –config命令行开关传递到PhantomJS。
以下是未经测试的代码,请在必要时参考文档(Selenium zip文件中的WebDriver.chm)。
var service = PhantomJSDriverService.CreateDefaultService(Environment.CurrentDirectory + @"\drivers"); service.WebSecurity = false; var driver = new PhantomJSDriver(service);
PhantomJSDriverService还有其他可以指定的预定义命令行参数,请查看文档。也有添加自己的参数的方法。
PhantomJSDriverService
AddArgument(): 将单个参数添加到要附加到PhantomJS.exe命令行的参数列表中。 AddArguments(IEnumerable): 添加要附加到PhantomJS.exe命令行的参数。 AddArguments(String []): 添加要附加到PhantomJS.exe命令行的参数。