问答

javascript – 如何对Firefox 57 WebExtensions进行单元测试?

 来源    2019-07-10    1  

较旧的Firefox“附加组件”API具有允许测试的内置单元测试层sdk / test.这似乎不再可用.

此外,使用“package / require”允许将代码分成“js code-only”包,这些包可以使用node.js进行测试.新的,高度结构化的JavaScript不会分享这个.

我的优先事项是(从最高到最低):

>算法,“业务逻辑”,例如解析输入数据 – 不需要API – 只需JavaScript
>内部逻辑 – 例如后台脚本与设置等交互
> UI交互 – 没有这个我可以活着,但测试会很好

那么人们如何测试他们的WebExtensions?

查看webextension-geckodriver以获取功能测试的实例.

如果您想测试与webextension API的交互,您可以直接进行(例如,为您的扩展设置一个测试页面并让geckodriver访问它),或者通过webextension-jsdom使用像sinon-webextension这样的假冒.

要单元测试算法,只需使用jest,mocha或您喜欢的任何节点单元测试框架导入函数,或将它们添加到您可以在浏览器中访问的测试页面.

一个完整的,旧的,有效的webext测试示例在这里:example-webextension.

使用另一个假的真实webextension中的测试示例:vim-vixen

javascript – 如何在Firefox(WebExtensions)中创建用于打开“browserAction”弹出窗口的全局热键?
问答似乎Chrome没有用于打开弹出窗口的API,但是有一个专门的系统可以使用热键执行它:命令中的_execute_browser_action键. Firefox不支持(1)命令中的_execute_b ...
1
javascript – 上下文菜单无法运行firefox附加WebExtensions
问答我正在尝试使用WebExtensions API向我的firefox附加组件添加上下文菜单.我需要后台脚本来监听菜单项上的单击并向内容脚本发送消息. 这就是我所拥有的: 的manifest.json ...
1
javascript – 如何强制Firefox(版本6)释放内存?
问答我正在制作一个类似幻灯片的网络应用程序,其中当前图像被绘制到画布上,您可以使用next / prev按钮翻阅图像.这些图像加载了someImage.src,出于性能原因,我在后台执行该操作,同时用户查 ...
javascript – innerHTML适用于Firefox,但不适用于Chrome
问答如果我们在Firefox 23中执行以下代码,则两个警告框都显示正确的值.当我在Chrome 28中执行相同操作时,第二个警报显示空白窗口. HTML <input type="hid ...
2
javascript – 在JsTestDriver中设置咖啡脚本单元测试
问答我正在尝试使用JsTestDriver为CoffeeScript / JavaScript实现一个非常基本的单元测试.我有两个文件: 1.)lib / Greeter.coffee greet = ( ...
javascript – 如何通过Jenkins运行Dojo DOH单元测试?
问答有没有人尝试过与Jenkins集成Dojo DOH单元测试? 我想做以下,但如果已经完成,不想重新创建它.所以,我在想: >从Jenkins的后期制作步骤开始DOH测试,并等待结果 >在无 ...
1
如何让这个javascript重定向在Firefox中工作?
问答我在这里得到了帮助来整理这段代码.它在Chrome,Safari和Internet Explorer中运行良好.但是在Firefox中,它会重定向到一个子URL(可能不是正确的词--) 我在页面上有脚 ...
1
javascript – 如何在firefox/firebug中检查文件是否被gzip压缩
问答我正在为我的js和css文件使用压缩库.但是,根据yslow,它生成的文件不是gzip压缩的,但它应该是.所以我想自己验证一下,但我不知道如何. 如何在firefox或firebug这样做?::您可以 ...
1
javascript – 使用QUnit对AJAX请求进行单元测试
问答我们正在尝试为JS重型Web应用程序实现QUnit JavaScript测试.我们正在努力寻找成功测试涉及jQuery AJAX请求的方法的方法.例如,我们有以下构造函数(显然这是一个非常简单的例子) ...
2
javascript – 为什么在firefox中键入textarea会导致屏幕滚动?
问答我正在遇到一个令人难以置信的问题,只有firefox中的同位素插件.我的每个同位素元素都有一个textarea,当我向下滚动到底部并键入其中一个textareas时,屏幕会跳到顶部.我在jsfiddl ...
1
javascript – 如何在Firefox中点击桌面通知时如何获取焦点?
问答我正在网站中实现桌面通知,当新邮件到达时,网站会显示通知.当用户点击通知时,我想要网站打开的浏览器标签来获取焦点.我可以使用以下代码在Chrome中工作: var n = new Notificati ...
2
javascript – jQuery scrolltop firefox不工作
问答这个脚本: function onscroll(){ document.getElementById("divs").style.top=""+$('body' ...
1
javascript – 如何在Firefox扩展中传递以下错误“服务器不支持RFC 5746”
问答我正在开发FireFox扩展 当我对安全服务器执行xhr时,尤其是POST数据 它给出状态500,并跟随消息: onsip.highrisehq.com : server does not suppo ...
javascript – 我在Firefox中遇到内存泄漏或内存使用率高吗?
问答我正在将一些相当大的数据集加载到firefox(500 k左右)并使用它们绘制表格. Firefox使用高达400兆的内存.如何知道Firefox是否泄漏内存,或仅仅因为它可以使用大量内存? 是否有另 ...
2
javascript – 如何提供模拟文件来更改单元测试的事件
问答我想在单元测试中遇到困难,我想通过通常在视图中选择一个文件来验证文件的处理. 在AngularJS应用程序的控制器部分,文件在输入的更改事件中被处理,如下所示: //bind the change e ...
1
javascript – childNodes在Firefox和Chrome中不起作用,但在IE中工作
问答我在第3个单元格中有一个gridview,有文本框控件,我在onchange上调用javascript函数. 有些人可以告诉我为什么这不适用于Firefox和Chrome但在IE中工作 grd.row ...
1
javascript – JQuery在Firefox中不起作用,但在Chrome中起作用
问答我在使用jQuery和Mozzila Firefox时遇到了麻烦. 一切都在Chrome中运行得很好,但不知何故Firefox没有看到jQuery. 这就是我调用jQuery的方式 <!-- F ...
1
javascript – 避免在Firefox中使用texImage2D进行CPU端转换
问答每当我在webgl Firefox中使用纹理(用于OSX的Firefox Developer Edition 50.0a2,要进行激励)时,在控制台中输出这些警告: Error: WebGL: tex ...
1
javascript – 在IE/Firefox中点击事件触发,但Chrome正在放弃事件分配
问答我正在调试我的Web应用程序并且遇到了障碍.我在Google Chrome中遇到了一种行为,而我的javascript无能使我无法解决问题. 我有一个带有的ASP页面控制.在面板中,我设置了一个简单的 ...
1