我需要一些使用loadrunner 11的SFTP文件传输帮助

时间:2016-04-01 02:53:13

标签: sftp loadrunner

有一个项目涉及将sftp文件传输到服务器。我尝试过使用ftp协议并选择winscp.exe - sftp作为我的程序来记录。记录了一些事件,但是在完成录制后没有任何内容生成。

如果ftp协议不是sftp文件传输的答案,那么有人可以给我一些关于如何在sftp文件传输上使用LR进行加载测试的见解或提示吗?

我正在使用Loadrunner 11。

提前致谢。

3 个答案:

答案 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

}