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