今天花了一下午,使用Jmeter测试FTP server,终于在下班之前搞掂了。
今天的测试经验记录如下:
1 Jmeter测试FTP server时,很简单地分成两个功能一个是GET(DOWNLOAD),另一个是PUT(UPLOAD).
2 我在测试从FTP SERVER GET文件到本地时,没有出错。将同一个文件,多次GET到本地一个路径保存成一个文件名,每个FTP SAMPLER都是测试通过的,是因为本地文件可以成功覆盖。
3 在测试将本地同一个文件 PUT到FTP SERVER时,使用监听器“查看结果树”,大部分FTP 请求都会失败,报以下错误:
Response message: org.apache.commons.net.io.CopyStreamException: IOException caught while copying.
我的解决方法如下:
将REMOTE FILE框中的文件名使用RANDOW函数,若上传100次,则此框中可设为:Bu/2015/12/03/${__Random(0,100000,)}.zip,即RANDOM函数的取值域设为一个很宽的域,否则可能还能取成相同的值。
我第一开始是设为${__Random(0,100,)}.zip,上传100次。但是查看FTP SERVER上的相应路径下,只看到60多个文件,即上传成功了60多个。
最终才搞 清楚 FTP SERVER上所有上传的文件不允许重名。
但是还遗留一个问题,即我用JMETER上传文件到FTP SERVER,图片格式的文件大小会改变,一个548K的文件上传到FTP上之后是550K,而且此图片还无法查看。不懂啥原因。
好在使用我们的软件用前端上传并下载,查看文件是正常的,那就是JMETER的问题了,以后再研究。