如果我使用web驱动程序,那么它工作得非常完美。
driver = new PhantomJSDriver(capabilities);
driver.executePhantomJS( "var page = this;");我怎么才能让它起作用?
driver = new RemoteWebDriver(capabilities);
driver.executePhantomJS( "var page = this;");更新
我的代码
capabilities = DesiredCapabilities.phantomjs();
driver = new RemoteWebDriver(capabilities);
driver.executePhantomJS( "var page = this; binary =0;mimetype=''; count = 0;id=0; bla = '{';"
+"page.onResourceReceived = function(request) {"
+ "if(id !== request.id){"
+"bla += '\"'+count+ '\":'+JSON.stringify(request, undefined, 4)+',';"
+"if(request.contentType.substring(0, 11) =='application'){"
+"console.log(request.contentType);"
+ "mimetype = request.contentType;"
+ "binary++;"
+ "}"
+"count++;"
+ "id = request.id;"
+ "}"
+"};");Java给出错误:方法executePhantomJS(String)未定义为RemoteWebDriver类型。
如果我使用executeScript,它将无法工作。
我需要运行100测试并行,我不能使用网络驱动程序。
发布于 2015-07-28 08:26:28
我猜你想在你的Se网格上运行PhantomJSDriver。这就是它对我的工作方式(C#工厂实现):
public IWebDriver CreateWebDriver(string identifier)
{
if (identifier.ToLower().Contains("ghostdriver"))
{
return new RemoteWebDriver(new Uri(ConfigurationManager.AppSettings["Selenium.grid.Url"]), DesiredCapabilities.PhantomJS());
}
}或者试试这个
Console.WriteLine("Creating GhostDriver (PhantomJS) driver.");
//Temporary commented for testing purposes
IWebDriver ghostDriver = new PhantomJSDriver("..\\..\\..\\MyFramework\\Drivers");
ghostDriver.Manage().Window.Maximize();
//ghostDriver.Manage().Window.Size = new Size(1920, 1080);
ghostDriver.Manage()
.Timeouts()
.SetPageLoadTimeout(new TimeSpan(0, 0, 0,
Convert.ToInt32(ConfigurationManager.AppSettings["Driver.page.load.time.sec"])));
return ghostDriver;如果您想知道为什么会有ConfigurationManager -我避免硬编码的值,所以从App.config文件中提取它们。
发布于 2016-10-25 09:31:00
如果您想使用PhantomJS运行RemoteWebDriver脚本(对于使用Selenium ),我使用了以下解决方案(不幸的是只有C# ):
https://stackoverflow.com/questions/31670125
复制相似问题