如何自动测试Chrome扩展程序中的内容脚本

How do i test content-scripts in chrome extensions automatically?

本文关键字:脚本 程序 自动测试 Chrome 扩展      更新时间:2023-09-26

我编写了一个Chrome扩展程序,它通过内容脚本解析各种站点信息。现在每隔一个月,我支持的网站之一就会更改其html布局,移动到另一个地址等。所以我必须更新我的扩展。

有 14 个受支持的网站(不断增长的),每个网站都有 5-7 个属性,手工做太多了。有没有办法在网站上下文中自动运行我的 js 函数并检查结果?

我用 iframe 尝试过,但由于同源策略,这不起作用。

我为此创建了测试扩展。它导航到预定义的页面列表,并检查每个页面上的预期修改(是否存在特定标记)。在您的情况下,它可能是带有解析结果的数据标签。或者,可以与测试扩展共享业务逻辑代码,只需向其添加其他验证代码

我最终在我的扩展中创建了一个测试页面。只有当您知道正确的路径时,才能访问它。

然后,此测试页使用 chrome.tabs.create 打开我的扩展支持的所有站点,然后插入带有 chrome.tabs.executeScript 的测试代码。 executeScript可以返回测试结果,然后我将其显示在测试页面上。

法典:

  • https://github.com/shylux/FocusManga/tree/v1.2.2/extension/testing.js(执行测试,呈现结果)
  • https://github.com/shylux/FocusManga/tree/v1.2.2/extension/testing.html(输出、模板)
  • https://github.com/shylux/FocusManga/tree/v1.2.2/extension/testing_hoster.js(数据、预期成果)