【发布时间】:2022-06-22 23:04:49
【问题描述】:
我正在尝试将 cypress 测试集成到我的应用程序中,但为了执行 e2e 测试,我需要与 metamask 进行交互。我正在使用 cypress-metamask 插件 (https://www.npmjs.com/package/cypress-metamask),但无法让它工作。
运行测试返回以下错误:
cy.task('setupMetamask') 失败并出现以下错误:
对 http://localhost:9222/json/version 的请求失败,原因:连接 ECONNREFUSED 127.0.0.1:9222
这是测试:
describe('NFTicket', () => {
beforeEach(() => {
cy.setupMetamask();
cy.changeMetamaskNetwork('localhost')
cy.visit('/')
});
it('is expected to display a sussess message', () => {
cy.get('[data-cy=title]').should('contain.text', 'MetaMask Detected')
});
});
这就是我的 cypress/plugins/index.js 的配置方式:
module.exports = (on, config) => {
require('cypress-metamask/plugins')(on);
on('before:browser:launch', (browser = { isHeaded: true }, arguments_) => {
if (browser.name === 'chrome') {
arguments_.args.push('--remote-debugging-port=9222')
arguments_.args.push('--disable-background-timer-throttling');
arguments_.args.push('--disable-backgrounding-occluded-windows');
arguments_.args.push('--disable-renderer-backgrounding');
}
})
}
【问题讨论】:
-
这个只有chrome,你试过electron吗?
-
目前仅支持 chrome
标签: javascript testing cypress web3js metamask