有一个项目涉及将sftp文件传输到服务器。我尝试过使用ftp协议并选择winscp.exe - sftp作为我的程序来记录。记录了一些事件,但是在完成录制后没有任何内容生成。
如果ftp协议不是sftp文件传输的答案,那么有人可以给我一些关于如何在sftp文件传输上使用LR进行加载测试的见解或提示吗?
我正在使用Loadrunner 11。
提前致谢。
答案 0 :(得分:0)
LoadRunner FTP协议不支持 SFTP 。它仅支持 FTP 和 FTPS ( FTP over SSL )。您可以尝试使用PuTTY的“ psftp 工具或类似的控制台客户端以及 popen / 写入 / read ,无论协议如何,都可以在任何LoadRunner C脚本中使用。您可以使用 CVuser协议来编写此类脚本。
检查这个旧的,但仍然有用forum discussion以获取更多信息。
答案 1 :(得分:0)
并非所有内容都可以录制。有些必须编程。寻找一个以C,VB,JavaScript或Java运行的sftp的API解决方案,所有这些都可以在LoadRunner中实现
答案 2 :(得分:0)
您可以使用Java vuser协议执行sftp。您需要编写java代码来传输文件。以下代码段可能会有所帮助。
import lrapi.lr;
import com.jcraft.jsch.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
public class Actions
{
public int init() throws Throwable {
return 0;
}//end of init
public int action() throws Throwable {
JSch jsch = new JSch();
Session session = null;
try {
session = jsch.getSession("userId", "HOST",PORT);
session.setConfig("StrictHostKeyChecking", "no");
session.setPassword("Password");
session.connect();
Channel channel = session.openChannel("sftp");
channel.connect();
ChannelSftp sftpChannel = (ChannelSftp) channel;
sftpChannel.cd("Directory to upload files");
System.out.println("Connection Established");
File file = new File("Local folder to upload files");
sftpChannel.put(new FileInputStream(file),file.getName());
sftpChannel.exit();
session.disconnect();
}
catch (JSchException e)
{
e.printStackTrace();
}
return 0;
}
public int end() throws Throwable {
return 0;
}//end of end
}