TOGOUTECH

phantomjs

全部标签

javascript - 单元测试 : Number. toLocaleString()

我本以为(10000).toLocaleString('de-DE')会返回"10.000"但我却得到了"10000".是否有不支持的原因?有没有更好的方法来格式化数字? 最佳答案 这是一个webkit问题,PhantomJS不想保持国际化......所以不幸的是我们在一段时间内一直坚持这个问题。https://github.com/ariya/phantomjs/issues/12581我最终做的是编写一个自定义匹配器来检查两者,因为我在Chrome和PhantomJS中运行。jasmine.addMatchers({isAnyO

javascript - 'require' 与 'import' es6 有何不同?

我遇到了一种我无法解释的行为。根据使用import或require,此测试成功(import)或失败(require)。如果失败,我有以下错误:PhantomJS2.1.1(Windows70.0.0)immutabilityanumberisimmutableFAILEDundefinedisnotaconstructor(evaluating'expect((0,_immutable.List)([1])).toEqualImmutable((0,_immutable.List)([1]))')代码如下:import{Map,List}from'immuta

javascript - 幻影 2 : Detecting click that did not trigger an event

我正在使用PhantomJS2点击页面元素。但是,我不知道点击这些元素是否会触发事件(例如页面加载)。我希望能够处理这两种情况:当点击一个元素触发页面加载时,我想等到新页面加载完毕。当点击没有触发事件时,我希望能够识别(无需等待很长时间的超时)。在PhantomJS1中,我可以简单地使用这样的闭包:functionclick(page,elem,callback){varloading=false;page.set('onLoadStarted',function(){loading=true;});page.set('onLoadFinished',f

javascript - 无法并行运行 Selenium PhantomJS 实例

我正在使用Selenium的node.jsAPI针对一系列网页运行PhantomJS实例。我用来在页面上执行操作的代码工作正常,但似乎一次只能运行一个Selenium/PhantomJS实例。这个函数从同一个模块被多次调用,并在客户端处理分页的网上商店中逐步浏览页面(这就是为什么我需要Selenium/PhantomJS环境-从每个页面提取数据)。再一次,代码本身运行良好,但不能并行执行。可能是什么原因造成的?module.exports=function(crawler,page,parsePage,done){"usestrict";var_=require(

javascript - headless (headless) JavaScript 测试 HTML5 音频/视频

我知道还有很多其他类似的问题,但是答案并没有提供解决这个问题的方法。我的网站上使用了一个使用HTML5网络音频的JavaScript文件,我想对其进行单元测试。我研究过将QUnit与PhantomJS结合使用,在你说什么之前我知道Phantom不支持它(http://phantomjs.org/supported-web-standards.html),但是我想知道是否有办法解决这个问题?在浏览器中使用QUnit测试它会像您预期的那样工作,但我不想每次都使用浏览器测试它,我希望它在服务器上自动进行。其中一个测试失败的示例:QUnit.test("isPlaying",f

javascript - QUnit 测试在 Travis CI 上失败(在带有 grunt.js 的 phantomjs 上运行)

我们在JavaScript上的开源项目enchant.js中引入了带有travisCI的CI系统。https://github.com/wise9/enchant.js我们喜欢qunit测试,我们使用grunt.js(npm)运行它们,但它在TravisCI上失败并出现如下错误:<WARN>PhantomJStimedout,possiblyduetoamissingQUnitstart()call.Use--forcetocontinue.</WARN>完整的错误信息在这里:https://travis-ci.org/wise9/enchant.js/buil

javascript - click() 的替代方法

我一直在通过page.evaluate()上的phantomJS引擎使用click(),它工作得很好。但有时它就是行不通,我不知道为什么。例如,我正在尝试单击按钮验证here我试过这个:page.evaluate(function(){document.getElementById('recaptcha-verify-button').click();});还有这个:rect=page.evaluate(function(){returndocument.getElementById('recaptcha-verify-button').getBound

javascript - 如何在 PhantomJS 或 CasperJS 中导入其他 javascript 模块

我正在尝试使用CasperJS构建功能测试。caseperjs由后端测试套件使用以下命令运行:PHANTOMJS_EXECUTABLE=../client/node_modules/phantomjs/bin/phantomjs../client/ext_modules/casperjs/bin/casperjstest../client/test/functional/init.coffee在init.coffee中,我想导入/包含紧挨着它的其他模块(文件)。怎么做?以下不起作用:require("user")我只想从其他文件中获取内容到init.coffee

javascript - 使用 clipRect() 后设置 PhantomJS 捕获整个屏幕

在设置了page.clipRect后跟page.render之后,如何禁用clipRect,以便后续页面呈现整个视口(viewport)?page.clipRect={top:0,left:0,height:10,width:10};page.render('screencap.png');//croppedimagepage.clipRect='';page.render('fullscreen.png');//stillcroppedimage! 最佳答案 简单地重置clipRec

javascript - 无法跨多个文件拆分 CasperJS 测试

这些文档并不是很有用-过于简短和模糊。据我了解docs,我们只需要在测试目录上运行casperjs命令并确保每个测试以Tester.done()结束。这是我的两个测试,//test1.jsvarcasper=require('casper').create();varurlPrefix="http://localhost/NavHawk2/";casper.start(urlPrefix,function(){this.test.assertSelectorHasText('title','Login','Titl