我在测试一个有赌注的dapp。使用柏树与同步插件,这使Metamask互动容易。https://github.com/Synthetixio/synpress
现在dapp起作用了。当它转到confirmMetamaskSignatureRequest时,元问题就会保持打开状态。我尝试了cy.switchToMetamaskWindow();,cy.rejectMetamaskSignatureRequest()。这张图显示了测试正在空转,最终失败的地方。有什么想法吗?
it('test', () => {
// imports a custom address
cy.importMetamaskAccount(Cypress.env('PRIVATE_KEY'))
// open the staking tab
cy.visit('/staking', {
auth: {
username: Cypress.env('URL_USERNAME'),
password: Cypress.env('URL_PASSWORD')
},
});
// connect wallet to dapp
cy.contains('Connect Wallet').click();
cy.contains('MetaMask').click();
cy.switchToMetamaskWindow();
cy.acceptMetamaskAccess().should("be.true");
// check if address is recognised by dapp
cy.getMetamaskWalletAddress().then(address => {
cy.switchToCypressWindow();
cy.get('p').contains('WALLET:').should('exist');
console.log(address);
cy.get('p').contains(address).should('exist');
cy.get('p').contains('DISCONNECT').should('exist');
});
// input the amount to stake
cy.get('input[name="Token[enter image description here][1]Value"]').type('1');
// choose the time to stake
cy.contains('10 days').click();
// confirm staking
cy.contains('confirm Staking').click();
// should sign metamask tx but its only metamask window is open
cy.confirmMetamaskSignatureRequest().should("be.true");
});发布于 2022-09-16 15:40:22
解决了:而不是..。
cy.confirmMetamaskSignatureRequest().should("be.true");...you应该使用以下方法:
cy.confirmMetamaskTransaction().should("be.true");https://stackoverflow.com/questions/73667824
复制相似问题