如何自动测试Chrome扩展程序中的内容脚本
How do i test content-scripts in chrome extensions automatically?
我编写了一个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(数据、预期成果)
相关文章:
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 使用谷歌应用程序脚本从工作表中获取值并将其显示在文本框中
- ng应用程序使脚本无限运行
- 需要使用谷歌应用程序脚本列出谷歌域下的所有网站
- 从应用程序脚本检查谷歌网站访问权限
- 在谷歌应用程序脚本中转换为空格的制表符
- 如何通过谷歌应用程序脚本从谷歌文档中的位置确定命名范围
- 仅为一个窗体运行应用程序脚本
- 如何让Meteor应用程序使用python脚本写入数据库
- Google Chrome扩展程序可以检测所有脚本何时加载完成吗
- ASP.NET IIS应用程序中的客户端脚本缓存
- 谷歌应用程序脚本示例-如何更改单选按钮的列表框相关值
- 引导程序动画选项卡内容脚本
- Project和作为web应用程序发布的多个doGet()脚本文件——需要澄清
- 如何获取使用我们的脚本或web应用程序的网站名称
- 如何在java脚本中显示引导程序底部的pophover图像点击
- 使用谷歌应用程序脚本制作基于谷歌电子表格的带有列表框的网络应用程序
- 应用程序脚本中导入HTML的数据擦除;谷歌表格
- 一个Web应用程序上有两个Java脚本
- NetSuite:脚本程序集构建为仅在批准时提取库存