J'essaie de tester mon extension chrome en utilisant cypress.io.
Je peux charger avec succès mon extension en ajoutant ceci à plugins/index.js
:
module.exports = (on, config) => {
on('before:browser:launch', (browser = {}, args) => {
if (browser.name === 'chrome') {
args.push('--load-extension=../bananatabs/build')
return args
}
})
}
Je peux ouvrir l'index.html de mon extension sur le navigateur cypress en naviguant à l'adresse suivante chrome-extension://ewoifjflksdjfioewjfoiwe/index.html
Mais quand j'essaie de le "visiter" dans un test, comme ceci :
context('visit bananatabs', () => {
beforeEach(() => {
cy.visit('chrome-extension://inbalflcnihklpnmnnbdcinlfgnmplfl/index.html')
})
it('does nothing', () => {
assert(true);
});
});
ça ne marche pas. la page se lit :
Désolé, nous n'avons pas pu charger : chrome-extension://inbalflcnihklpnmnnbdcinlfgnmplfl/index.html
Dans la documentation tous les exemples utilisent les protocoles http ou https, et non l'extension chrome.
UPDATE
Je peux voir que la page de test est http://localhost:54493/__/#/tests/integration/visit.spec.js
et il contient une iframe avec la page que je teste, qui utilise chrome-extension://
protocole. Je ne suis pas sûr que ça puisse marcher.
Cela peut-il être fait ?