Phantomjs - 为什么它不是多线程的

时间:2016-10-25 08:46:28

标签: javascript multithreading phantomjs

我试图在我的一个项目中使用Phantomjs。我读过有关Phantomjs的信息,它是单线程的,而不是多线程的。我想在多线程环境中使用它 令我困惑的唯一部分是:如何让PhantomJS在多线程环境中工作。如果有人可以让我知道我需要更改幻像js以便它可以在多线程环境中工作,那么它将会有很大的帮助。
这是我下载phantomjs文件夹的链接: http://phantomjs.org/download.html

1 个答案:

答案 0 :(得分:0)

browser engine PhantomJS usesQTWebkit,QT端口为Webkit,为not thread safe。因此,为了使PhantomJS线程安全,看起来您需要从它的底层Web浏览器引擎开始。

我的建议是使用Selenium。不要改变或与PhantomJS争论,在你的架构中升级并使用它来管理多个浏览器驱动程序(IPC有选项)。如果你需要一个环境来执行“更重的提升”,我会看Selenium-Grid 2.0

当然,YMMV,还有其他测试框架可能更适合(NUnit / HtmlUnit等),具体取决于您的实际需求或开发环境。