Teamcity PhantomJS没有从带有测试的html页面正确加载脚本

Teamcity PhantomJS没有从带有测试的html页面正确加载脚本,teamcity,phantomjs,Teamcity,Phantomjs,PhantomJS没有加载脚本,因为它尝试在以下路径加载脚本:file:///[src在html文件中指定]。在html文件中,脚本的路径是相对的,我不想让它们成为绝对的(我们在下面这个例子中所做的)。例如,在html页面中,我有,PhantomJS试图从中加载它file:///jquery-1.7.0.js 这是不存在的。如何让PhantomJS从正确的路径加载脚本?也有同样的问题,看起来像PhantomJS中的一个bug 找到了一种解决问题的方法: 在page.open函数中,您可以调用pa

PhantomJS没有加载脚本,因为它尝试在以下路径加载脚本:file:///[src在html文件中指定]。在html文件中,脚本的路径是相对的,我不想让它们成为绝对的(我们在下面这个例子中所做的)。例如,在html页面中,我有
,PhantomJS试图从中加载它file:///jquery-1.7.0.js 这是不存在的。如何让PhantomJS从正确的路径加载脚本?

也有同样的问题,看起来像PhantomJS中的一个bug

找到了一种解决问题的方法:


在page.open函数中,您可以调用page.injectJs(文件名)-并且文件名似乎与执行路径或page.libraryPath(默认为第一个js参数所在的位置)的相对路径一起工作。

也有同样的问题,看起来像是phantomjs中的错误

找到了一种解决问题的方法:


在page.open函数中,您可以调用page.injectJs(文件名)-并且文件名似乎与执行路径或page.libraryPath(默认为第一个js参数所在的位置)的相对路径一起工作。

好吧,我希望为单独的模块测试提供单独的html文件,并尽可能保持加载这些页面的js的通用性。我发现了类似的方法:捕获onResourceRequested,参数是request,它保留请求的url,然后调用injectJs函数,提供libraryPath+request.url的路径。但看起来还是有问题(我在使用相对url从文件加载html时尝试了resourceRequested,但从未调用过:-(我切换到jasmine,它不需要浏览器(作为个人说明,它有更好的语法)。这对我来说很合适,因为js实际上并不依赖于dom操作。。因此,只使用injectJs,它工作良好,并且很容易插入到TeamCity。phantomjs上有一些线程可以解决这些问题,值得关注:我希望有单独的html文件用于单独的模块测试,并保留j我发现了类似的方法:捕获onResourceRequested,参数是请求,它保留请求的url,然后我调用injectJs函数,提供libraryPath+request.url的路径。但是看起来仍然很粗糙(当使用相对url从文件加载html时,我尝试了resourceRequested,但从未调用:-(我切换到jasmine,它不需要浏览器(作为个人说明,它有更好的语法)。这对我来说很合适,因为js实际上并不依赖于dom操作。因此,只使用injectJs,它工作良好,并且很容易插入到TeamCity。phantomjs上有一些线程可以解决这些问题,值得关注:和