文件上传测试(文件上传测试用例)

      最后更新:2023-03-09 07:44

      如何用apache ab进行文件上传压力测试

      Apache附带的ab工具(本机使用的PHP环境是WAMP集成环境,ab工具位于D:wampbinapacheApache2.2.21bin)非常容易使用,ab可以直接在Web服务器本地发起测试请求,这至关重要,因为有些时候我们需要测试的仅仅是服务器的处理性能,并不想掺杂着网络传输时间的影响。ab进行一切测试的本质都是基于HTTP的,所以可以说ab对于Web服务器软件的黑盒性能测试,获得的一切数据和计算结果,都是可以通过HTTP来解释的。测试本机是否正确安装ab工具,在power shell想将当前目录定位到bin,输入  .ab –V 命令,如果安装正确,则会将其版本信息打印出来。 PS D:wampbinapacheApache2.2.21bin> .ab -V  This is ApacheBench, Version 2.3 <$Revision: 655654 $>Copyright 1996 Adam Twiss, Zeus Technology Ltd,http://www.zeustech  Licensed to The Apache Software Foundation, http://www.apache.org/  好了,一切就绪,下面提供一个压力测试的实例:输入命令 PSD:wampbinapacheApache2.2.21bin> .ab -n1000 -c10 http://localhost/index.php  This is ApacheBench, Version 2.3 <$Revision: 655654 $>Copyright 1996 Adam Twiss, Zeus Technology Ltd,http://www.zeustech.net/Licensed to The Apache Software Foundation,http://www.apache.org/    Benchmarking localhost (be patient)  Completed 100 requests  Completed 200 requests  Completed 300 requests  Completed 400 requests  Completed 500 requests  Completed 600 requests  Completed 700 requests  Completed 800 requests  Completed 900 requests  Completed 1000 requests  Finished 1000 requests      Server Software:        Apache/2.2.21  Server Hostname:        localhost  Server Port:            80    Document Path:          /index.php  Document Length:        211 bytes    Concurrency Level:      10  Time taken for tests:   0.496 seconds  Complete requests:      1000  Failed requests:        0  Write errors:           0  Non-2xx responses:      1000  Total transferred:      400000 bytes  HTML transferred:       211000 bytes  Requests per second:    2015.93 [#/sec] (mean)  Time per request:       4.960 [ms] (mean)  Time per request:       0.496 [ms] (mean, across all concurrent requests)  Transfer rate:          787.47 [Kbytes/sec] received    Connection Times (ms)  min  mean[+/-sd] median   max  Connect:        0    0   0.4      0       1  Processing:     2    5   1.1      4      12  Waiting:        2    4   1.1      4      12  Total:          2    5   1.1      5      12    Percentage of the requests served within a certain time (ms)  50%      5  66%      5  75%      5  80%      6  90%      6  95%      7  98%      8  99%      9  100%     12 (longest request)下面开始解析这条命令语句:启动ab,并出入三个参数(PS D:wampbinapacheApache2.2.21bin> .ab -n1000 -c10http://localhost/index.php)-n1000 表示请求总数为1000-c10 表示并发用户数为10http://localhost/index.php表示这写请求的目标URL测试结果也一目了然,测试出的吞吐率为:Requests per second: 2015.93 [#/sec] (mean)  初次之外还有其他一些信息。Server Software 表示被测试的Web服务器软件名称Server Hostname 表示请求的URL主机名Server Port 表示被测试的Web服务器软件的监听端口Document Path 表示请求的URL中的根绝对路径,通过该文件的后缀名,我们一般可以了解该请求的类型Document Length 表示HTTP响应数据的正文长度Concurrency Level 表示并发用户数,这是我们设置的参数之一Time taken for tests 表示所有这些请求被处理完成所花费的总时间Complete requests 表示总请求数量,这是我们设置的参数之一Failed requests 表示失败的请求数量,这里的失败是指请求在连接服务器、发送数据等环节发生异常,以及无响应后超时的情况。如果接收到的HTTP响应数据的头信息中含有2XX以外的状态码,则会在测试结果中显示另一个名为       “Non-2xx responses”的统计项,用于统计这部分请求数,这些请求并不算在失败的请求中。Total transferred 表示所有请求的响应数据长度总和,包括每个HTTP响应数据的头信息和正文数据的长度。注意这里不包括HTTP请求数据的长度,仅仅为web服务器流向用户PC的应用层数据总长度。HTML transferred 表示所有请求的响应数据中正文数据的总和,也就是减去了Total transferred中HTTP响应数据中的头信息的长度。Requests per second 吞吐率,计算公式:Complete requests / Time taken for testsTime per request 用户平均请求等待时间,计算公式:Time token for tests/(Complete requests/Concurrency Level)Time per requet(across all concurrent request) 服务器平均请求等待时间,计算公式:Time taken for tests/Complete requests,正好是吞吐率的倒数。也可以这么统计:Time per request/Concurrency LevelTransfer rate 表示这些请求在单位时间内从服务器获取的数据长度,计算公式:Total trnasferred/ Time taken for tests,这个统计很好的说明服务器的处理能力达到极限时,其出口宽带的需求量。Percentage of requests served within a certain time(ms) 这部分数据用于描述每个请求处理时间的分布情况,比如以上测试,80%的请求处理时间都不超过6ms,这个处理时间是指前面的Time per request,即对于单个用户而言,平均每个请求的处理时间。未完待续。。。
      如何用apache ab进行文件上传压力测试

      postman怎么测试上传文件

      如果只有文件上传一个条件,可以在post请求的body里面选择binary. 如果还有其他条件可以这样:选择form_data,将所有参数通过键值对的形式传递,其中文件一列,点击text后面的箭头,选择file.就可以了. 如果解决了你的问题,请采纳,谢谢.
      postman怎么测试上传文件

      怎么通过MockHttpServletRequest测试文件上传

      在单元格输入如下公式:=RANDBETWEEN("2015-10-01","2015-10-31")+RANDBETWEEN("11:29:59"*10^9,"14:29:59"*10^9)/10^9 然后再把单元格格式设置为自定义,自定义格式为:e-m-d hh:mm:ss即可。
      怎么通过MockHttpServletRequest测试文件上传

      求助] 关于 长时间 文件上传的性能测试

      两个思路1. 像版主说的参数化。2.写个自动化脚本,每次上传完后,把准备的文件名字改一下。3. 在脚本中参数改成 文件名+Guid(或者当前时间)
      求助] 关于 长时间 文件上传的性能测试

      如何实现自动化测试中的文件上传

      都是基于api的操作,与权限相关的api包括SetNamedSecurityInfo、GetNamedSecurityInfo、SetEntriesInAcl,可以自己查查资料
      在各式各样的网站中,上传文件是非常普遍的功能,但是当您试图用自动化的方式来实现文件上传时,往往会在处理浏览器的文件浏览窗口时出错,因为这个文件浏览窗口是自动化框架无法处理的。 您可能会考虑借助于第三方的工具,比如 AutoIt 来处理这个窗口,虽然短期之内您可以解决这个问题,但是从长远来看,您的自动化测试将会严重依赖于某个特定的环境(比如AutoIt就仅仅支持Windows)。Selenium的实现方案通过一些额外的配置,Selenium可以让浏览器在执行的时候直接获取文件的完整路径,而无需弹出文件浏览窗口,让用户来进行选择。下面就让我们来看一个用Ruby写的例子。首先让我们导入一些必要的库,比如(selenium-webdriver来驱动浏览器,rspec/expectations和RSpec::Matchers来做断言),接着是重点,实现自动化上传的代码来啦:run dofilename = 'some-file.txt'file = File.join(Dir.pwd, filename)@driver.get 'http://the-internet.herokuapp.com/upload'@driver.find_element(id: 'file-upload').send_keys file@driver.find_element(id: 'file-submit').clickuploaded_file = @driver.find_element(id: 'uploaded-files').textexpect(uploaded_file).to eql filenameend下面来讲解一下这段代码是如何工作的,首先我们假设文件就和测试脚本在一个目录,因此将文件名filename和当前路径拼起来,就得到了文件的完整路径file,接着打开浏览器,进入上传页面,直接将这个完整路径赋值给input[type=file]控件,提交表单即可。最后,我们从页面上获取文件名,和原始文件名进行比较,以确认上传是否成功。是不是超简单,更重要的是,这段代码是浏览器无关的,我们在Firefox、Chrome、Safari和IE8以上各个版本均测试通过!SWATHub的实现方案如果您连代码都不想写,那么SWATHub可以满足您的需求,首先我们来导入这个upload页面,如下图所示:接着在流程编辑器中,只需要将Upload操作拖入,并且把上传文件的完整路径设置为参数即可,是不是完全不费吹灰之力呢。 最后,我们可以再添加一个画面自动验证的系统操作,进行断言。
      如何实现自动化测试中的文件上传

      本文由 在线网速测试 整理编辑,转载请注明出处。

          热门文章

          文章分类