【问题标题】:(Chrome Extensions) How to test onUpdateAvailable(Chrome 扩展)如何测试 onUpdateAvailable
【发布时间】:2016-11-03 03:22:13
【问题描述】:

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

谢谢。

【问题讨论】:

  • 什么是“非技术/非开发人员”方式?
  • 不使用代码。就像,从用户的角度来看。
  • 如何在不使用代码的情况下触发 onUpdateAvailable 事件?我认为这更清楚。

标签: javascript google-chrome-extension event-handling


【解决方案1】:

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

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

让某人手动使用您的扩展程序,然后您应该在他们使用它时发布更新。此手动测试仅检查警报是否被触发。如果您看到警报或从“用户的角度”可见的内容,则测试通过。

手动/有机触发onUpdateAvailable 的唯一方式实际上是有一个可用的更新并发布该更新(注意扩展程序也必须发布)。

最后,您现在应该在开发者模式下从扩展页面手动请求更新(感谢@Xan 的提示)


请求更新检查的另一种方法是使用绑定到用户可以单击的按钮的函数。

按this answer 中的说明通过单击按钮请求更新检查:

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.");
      }
    });
}

Documentation for onUpdateAvailable

Documentation for requestUpdateCheck

【讨论】:

  • onclick 在 Chrome 扩展程序中?你不是forgetting something吗?
  • 感谢您指出这一点,正在努力修复。您认为我的回答还有其他问题吗?
  • 我要强调,唯一 有机地触发它的方法是发布扩展,然后发布更新。至于请求更新检查,这不需要代码 - 您可以在开发者模式下从扩展页面手动请求。
  • @xan 再次感谢您的反馈,我会继续努力的
  • 看起来“发布新版本”是没有办法的。谢谢大家。
猜你喜欢
  • 1970-01-01
  • 2011-02-21
  • 1970-01-01
  • 1970-01-01
  • 2017-12-31
  • 1970-01-01
  • 1970-01-01
  • 2013-05-08
  • 2017-11-20
相关资源
最近更新 更多