cypress - Cypress.io 可以测试 chrome 扩展吗?
问题描述
我正在尝试使用 cypress.io 测试我的 chrome 扩展
我安装了https://github.com/ejoubaud/cypress-browser-extension-plugin
context('visit extension', () => {
beforeEach(() => {
cy.visit('chrome-extension://fmnignchafknmcleldmndpkfkdohnngn/dashboard.html')
})
it('does nothing', () => {
assert(true);
});
});
它不起作用。页面内容如下:
Sorry, we could not load: chrome-extension://fmnignchafknmcleldmndpkfkdohnngn/dashboard.html
解决方案
您不需要任何额外的插件来加载浏览器扩展,假设您正在运行 Cypress >v4,下面应该足以加载它。
// cypress/plugins/index.js
module.exports = (on, config) => {
on('before:browser:launch', (browser, launchOptions) => {
// supply the absolute path to an unpacked extension's folder
// NOTE: extensions cannot be loaded in headless Chrome
launchOptions.extensions.push('Users/jane/path/to/extension')
return launchOptions
})
}
在您的测试文件中,您可以访问任何“正常”网页,它应该适合您。例如:
// test.spec.js
describe('Navigation', () => {
it('cy.visit() - visit a remote url', () => {
cy.visit('https://en.wikipedia.org/wiki/Diabetes')
})
})
此外,赛普拉斯无法访问诸如“chrome-extension://”之类的东西(或任何不是“http”或“https”的东西)。这是他们的设计。
推荐阅读
- node.js - 如何在履行对话流中从 Twilio 获取电话号码
- android - 麦克风无法在与自定义 android 应用程序的对话流 Web 集成中工作
- python - 如何让我的 IDE 识别动态添加的功能?
- bash - 用 ffmpeg 分割视频会产生奇怪的输出
- python - Python:如何获取 Active Directory 组成员的电子邮件?
- javascript - 两个 Appium 选择器,其中只有一个接受文本
- java - Aptana Studio 3 不会启动。它只看到 java 1.6 而不是 1.8
- .net - 如何在vb dot net中显示excel文件的所有线程或实例。我想显示excel文件的所有线程和一个主进程
- python - 如何在加载模型并使用一个类进行训练时对类进行编码器转换
- angular - 排序图标不能包含在 mdbTableSort 中