(Chrome扩展程序)如何测试onUpdateAvailable函数

4
有没有一种不用编写代码的方法手动触发 onUpdateAvailable 呢? 如何在不使用代码的情况下触发 onUpdateAvailable 事件呢? 因为我还需要以“非技术/非开发人员”的方式测试我的代码。 谢谢。

1
什么是“非技术人员/非开发人员”的方式? - Makyen
不使用代码,就像从用户的角度来看。 - CRIS
如何在不使用代码的情况下触发onUpdateAvailable事件?我认为这样更清晰明了。 - CRIS
1个回答

3

将此监听器添加到您的扩展中:

chrome.runtime.onUpdateAvailable.addListener(function(){
    alert("update available!");
})

让某人手动使用您的扩展,然后在他们使用时发布更新。这个手动测试只是检查警报是否被触发。如果您看到警报或从“用户角度”可见的其他内容,则测试通过。
手动/自然触发 onUpdateAvailable 的唯一方法是确实有可用的更新并发布该更新(请注意,扩展程序也必须已发布)。
最后,在开发者模式下,您现在应手动从扩展页面请求更新(感谢@Xan的提示)。
另一种请求更新检查的方式是将一个绑定到按钮上的函数与用户可以单击的按钮绑定。
按照此答案中所述,通过单击按钮请求更新检查:

HTML

<button>Test onUpdateAvailable</button>

JavaScript

document.addEventListener('DOMContentLoaded', function () {
  document.querySelector('button').addEventListener('click', onUpdateAvailable);
});

// request an update
function test_onUpdateAvailable() {
    chrome.runtime.requestUpdateCheck(function(status) {
      if (status == "update_available") {
        console.log("update pending... expecting alert!");
      } else if (status == "no_update... not expecting alert!") {
        console.log("no update found");
      } else if (status == "throttled") {
        console.log("Oops, I'm asking too frequently - I need to back off.");
      }
    });
}

关于onUpdateAvailable的文档

关于requestUpdateCheck的文档


在Chrome扩展中使用onclick?你难道忘记了什么吗? - Xan
谢谢指出,正在修复中。你还看到我的回答有其他问题吗? - Noam Hacker
我想强调的是,唯一有机触发它的方法是发布扩展,然后发布更新。至于请求更新检查,这不需要代码 - 您可以在开发者模式下从扩展页面手动请求一个。 - Xan
@xan 再次感谢您的反馈,我会加以改进。 - Noam Hacker
看起来没有绕过“发布新版本”的办法。谢谢大家。 - CRIS
嗨,我已经添加了这个事件,但它没有触发。我需要更新版本吗?你能帮我吗? - Lasantha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接