如何在Cypress测试中连接到SFTP服务器



我正在尝试使用ssh2-SFTP客户端连接到SFTP服务器我的Cypress测试中的NPM包。

这是我目前的测试

describe('example to-do app', () => {
it('displays two todo items by default', () => {
let Client = require('ssh2-sftp-client');
let sftp = new Client();

sftp.connect({
host: 'myHost',
port: 'myPort',
username: 'myUsername',
password: 'myPassword'
}).then(() => {
return sftp.list('/reports');
}).then(data => {
console.log(data, 'the data info');
}).catch(err => {
console.log(err, 'catch error');
});
})
})

目前,当我运行测试时,我得到了这个错误:

Cannot read properties of undefined (reading 'DEFLATE')
node_modules/ssh2/lib/protocol/zlib.js:7:1
5 |   createInflate,
6 |   constants: {
>  7 |     DEFLATE,
| ^
8 |     INFLATE,
9 |     Z_DEFAULT_CHUNK,
10 |     Z_DEFAULT_COMPRESSION,

有人能告诉我如何解决这个问题吗?

在测试中建立这样的连接将不起作用。这是因为柏树不与主机提供的Node.js进程通信。在柏树中,如果我们需要运行节点代码,我们需要使用他们所谓的cy.task。这是他们文档的链接-https://docs.cypress.io/api/commands/task#Examples

这就是为什么您需要在任务中的cypress/plugins/index.js文件中建立此连接,然后在测试中使用此任务。

这里有一个用ssh连接mysql的例子——我如何通过ssh隧道连接mysql和柏树?

相关内容

  • 没有找到相关文章

最新更新