51Testing软件测试论坛

标题: [你问我来答第21期]:认识Jmeter(已结束) [打印本页]

作者: lsekfe    时间: 2012-4-1 09:38
标题: [你问我来答第21期]:认识Jmeter(已结束)
本期客座专家
[attach]78261[/attach]
论坛ID:xzf2001
真实姓名:肖志斐
擅长技术领域:性能测试,擅长Loadrunner、Jmeter
现任公司:湖南Harris Corporation 凯歌信息(Harris子公司)
现任职位:软件测试工程师

工作经验:3年
项目经验:湖南乡村医疗合作平台、上海新华医院信息平台、上海卢湾区医疗信息平台
[attach]78262[/attach]
各位会员可以在4月10日前以回帖的方式向客座专家提问。
(请大家围绕本期客座专家的擅长领域进行提问、探讨)
客座专家将在4月11日—4月30日为大家集中解答。
机会难得,欢迎大家踊跃提问!

作者: lsekfe    时间: 2012-4-1 09:41
欢迎二十一期做客嘉宾!
作者: 楠族开心果    时间: 2012-4-1 09:42
围观~~
作者: lsekfe    时间: 2012-4-1 10:23
回复 4# xzf2001


    建议换个头像,这样能让大家分辨清楚!
作者: lsekfe    时间: 2012-4-1 10:55
回复 6# xzf2001


    哈哈,有创意!
作者: lsekfe    时间: 2012-4-1 10:57
可能有些会员不知道jmeter是什么?现在为大家说明下!
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能。  [1] 另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
  Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器,网络 或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。

作者: pzsandly    时间: 2012-4-1 11:46
专家好,我有问题想问:
我现在要做一个C/S结构的软件的性能测试,该软件的客户端程序是delphi写的,请问我如何开始做这个性能测试?
1,怎么样选择合适的工具,用LoadRunner吗?
2,用LR的话,如何选择协议?
作者: barryyang    时间: 2012-4-1 12:29
专家好,我有问题请教一下:
我现在要写个性能测试方案,性能要求:
日常操作用的显示响应时间(从敲执行键至完全显示画面、含相关数据)不大于2秒;
日常查询、统计和分析的响应时间不大于3秒。
系统峰值响应速度,并发处理用户≥200人。
1.怎么选择合适的工具还测试?
2、如果用LR的话,如何设置场景会比较合理呢?
作者: LiaoLei    时间: 2012-4-1 20:20
专家你好!我想向你请教个问题:
使用loadrunner7.8在进行参数化时,我需要远程连接SQL Server 2005,如图:
[attach]78277[/attach]
请问在Connection string 文本框中该怎么写?需要点击Create按钮进去设置数据源吗?需要SQL Server 2005的驱动文件吗?
作者: mew234    时间: 2012-4-2 10:45
前辈好。

我想请问一个问题:
使用 JMeter,

新增 FTP Request(FTP 请求) 做下载文件(123.txt)的行为。
我希望 模拟 作 5 次 这样的下载动作。
=>>>>>
所以我想问: 是否有办法让每次下载的文件名自动加1, 或是加上某些不同字符串符?
这样才能成功模拟每次下载文件(不同名称的文件名)。
这样的需求在 JMeter 里能实现吗?

若能实现,要怎么实做呢?



使用的 JMeter 版本: 2.6 r1237271
作者: mew234    时间: 2012-4-2 17:38
本帖最后由 mew234 于 2012-4-3 18:04 编辑
回复  mew234
在Local File这里的文件名加一个随机值的函数:
比如说你要下载123.txt
那么Local File: ...
xzf2001 发表于 2012-4-2 13:47


志斐 大哥,
非常谢谢您的回复~
我刚刚测试发现档名若设置 max=99, min=1.
则档名会变呈现随机数变化。但由于公司FTP 站台现在不通,
所以无法验证是否确实 Pass.
(明天我还会再去试! 谢谢您。))




FTP 仍然不通,但我去"View Results Tree"(检视结果树)查看利用函数生成的文件名,发现文件名确实依据我们设定的规则实现了。在此非常谢谢您。
已解決 ^^

作者: LiaoLei    时间: 2012-4-3 15:49
回复 15# xzf2001


    已经解决,非常感谢!
作者: mew234    时间: 2012-4-3 18:41
本帖最后由 mew234 于 2012-4-3 18:46 编辑

志斐 大哥,请教一下:

Q1. 如何认识JMeter / LoadRunner ? 从几个方面着手

Q2. 学习JMeter  / LoadRunner 对基础有没什么要求,掌握到什么程度算是一个成手了哪?

Q3. 学完JMeter  / LoadRunner  ,如何 创建 性能测试 或 如何开展性能测试工作?

       有甚么地方需要特别注意的吗?


        

    先谢谢您的耐心与时间,非常感谢。


作者: sincool    时间: 2012-4-5 09:13
你好:
想问以下几个关于JMETER的问题:
1、怎么更好的利用jmeter作action比例控制,我试过网上所说的用线程控制,但感觉灵活性不强。要么运行几次固定好,这样的控制感觉很死,貌似很失准
2、jmeter作压力测试时,内存耗费很大,通常跑半小时至1小时,jmeter就卡死或机器卡死,利用加多机负载,效果不是很明显,请问有什么好的办法没有?
3、jmeter关联取参或登陆作判断,怎么写一些IF、else代码来进行灵活判断,现在的断言不起作用,即使取不到参数或登陆失败还是会进行下一个action,这个问题有其它方法进行吗?

麻烦不吝赐教!
作者: SariyaLee    时间: 2012-4-5 14:02
这几天刚好在看jmeter。
请问从哪些组件来分析测试结果,如何分析。刚开始看,看生成的图形结果也不知道怎么看才是符合系统要求的。。
作者: jjy0107    时间: 2012-4-5 15:59
我编写的代码主要是从串口读取硬件设备数据,进行数据解析、数据融合、界面显示等处理,然后通过网口或串口转发给别的设备,这种代码如何进行测试?使用什么工具进行测试?我用的开发环境是VC6.0。
作者: liaoxj    时间: 2012-4-5 16:08
同行,都是医疗,支持一下。
作者: hyd_bpmf    时间: 2012-4-5 16:12
新一期, 顶一下
作者: 云层    时间: 2012-4-5 16:31
匪兄,先来捧场了
作者: webjj    时间: 2012-4-5 16:43
jmeter一般情况遇不到
作者: mew234    时间: 2012-4-6 10:02
回复 25# xzf2001

谢谢匪兄回复


作者: pinebud    时间: 2012-4-6 10:15
匪兄,问一下,LoadRunner里面的集合点的概念你知道在Jmeter里面怎么去实现么?
作者: pinebud    时间: 2012-4-6 10:17
回复 25# xzf2001


    Badboy录制的时候总挂掉,后来因为这个,我改用了fiddler,然后自己写了个工具,把fiddler录制下来的http request转成Jmeter脚本。 你们用Badboy的时候么有遇到类似问题么?
作者: mew234    时间: 2012-4-6 12:19
本帖最后由 mew234 于 2012-4-6 12:22 编辑

Hi 斐兄, 请问一下:

Q1.
请问Badboy 是否无法录下输入文字到textbox的动作” ?

(
我试着用这两者录制: “输入关键词做查询且 return 查询结果
录制完毕后执行播放,
发现在
Badboy能够正确 播放: “输入关键词做查询且 return 查询结果
但是看不到输入文字到textbox的动作
细节请见档案
: "Badboy_WikiRecord0406-paste.bb" “Badboy_WikiRecord0406-paste.jmx”)





Q2.
Badboy 录制并转档到JMeter 后,要怎样知道哪些 Http Request 可以删掉
?
(
我试着使用JMeter 录制web页面操作后,与BadBoy 录制后的结果作比较,查看差异在哪里。
测试方法是: 至美国 WIKI(  http://en.wikipedia.org   ) 输入关键词: crystal 做查询
但未来要做项目时,总不可能再这样两边都录作比对吧? 您说是吗? )

(我曾经到结果树(result tree) 里去检视每个Http Request 回传的结果,
但看到一堆变量反而不知从何下
手。顶多只能知道某些 request 是在接受 css , 或是放图片。所以看完以后我还是没方向。)

(细节档案请见
Jquestion – send2.rar    [attach]78326[/attach]                 )




Q3.使用Badboy录制web頁面行為後转档到JMeter 播放要怎樣判斷測試結果是否 Pass ?
目前只能在JMeter 播放完毕后,从 response 的测试结果去推论吗?
(会这样问是因为若使用 QTP录制后,播放时你可以很清楚知道现在测到哪些地方执行那些动作,
测试结果又是些甚么? )




先谢谢您的耐心与时间



作者: 开心小猪乖乖    时间: 2012-4-6 16:23
请问:用LR和Jmeter做web性能测试,分别如何获取Web服务器、数据库服务器CPU利用率和内存利用率?
作者: 楠族开心果    时间: 2012-4-6 17:05
回复 24# 云层


    唉,各种的羡慕嫉妒恨,云哥怎么就不来关注下我的呢?
作者: mew234    时间: 2012-4-6 17:51
本帖最后由 mew234 于 2012-4-6 17:55 编辑

[问题]
如何使用 Badboy录制确认讯息窗口的动作且成功下载文件?





[
模拟情境]
录制以下behavior:
http://code.google.com/p/jmeter-plugins/downloads/detail?name=JMeterPlugins-0.5.1.zip
点击超链接
JMeterPlugins-0.5.1.zip,按下位于确认讯息窗口的save按钮 去下载文件。


[attach]78334[/attach]





[
测试结果]
1.拨放完脚本后: 弹出式窗口出现,但档案并没有正确被下载。
2.录制的脚本请见DownFileRecord0406.bb
   
( 请参阅夹带档案: “BadJM.rar” )
[attach]78335[/attach]





[
已做过的尝试]
1.找到 下载文件的路径 [url=http://jmeter-plugins.googlecode.com/files/JMeterPlugins-0.5.1.zip2]http://jmeter-plugins.googlecode.com/files/JMeterPlugins-0.5.1.zip[/url]
2.试着在 Badboy 增加 step 2
直接录制开启 http://jmeter-plugins.googlecode.com/files/JMeterPlugins-0.5.1.zip      并点击 储存按钮下载文件。
  再次拨放后,依然
Fail (拨放完脚本后: 弹出式窗口出现,但档案并没有正确被下载。)




[在网络上找到的数据]
真正client的弹出式窗口是不能用badboy录制的,不过你可以调到APACHEaccesslog,然后手工将这部分添加到测试脚本中去。
=>>
但以本例而言,应该无法 调到APACHEaccesslog ?


作者: sincool    时间: 2012-4-6 18:09
[attach]78336[/attach]
试过给解答的第三条,选择出错时开始下一个循环,但是结果还是进入下一个action中。。

另外请问如果用逻辑控制器里面的if控制器,条件怎么写?是写java判断代码还是怎样。试过几个,未解。
作者: rujuan2008    时间: 2012-4-8 16:34
我不理解响应断言中的响应文本和响应代码,
运行后查看结果树的响应数据中显示的内容是不是响应文本?响应代码该如何获得?
作者: rujuan2008    时间: 2012-4-8 17:12
Response too large to be displayed. Size: 699032 > Max: 204800,这种情况说明啥问题?为啥使用页面手动发送请求,就可以正常响应,使用JMeter时就会出现这样的情况呢?
作者: mew234    时间: 2012-4-9 11:33
本帖最后由 mew234 于 2012-4-9 11:35 编辑
回复  mew234
实际上这个请求是实现了下载的,你通过看监控是可以看到有那么大的吞吐量的。
如果要实现保存文件的操作。
你可以 在这个http请求后面
jmeter-plugins.googlecode.com//files/JMeterPlugins-0.5.1.zip
添加一个**-save responses to a file

xzf2001 发表于 2012-4-7 23:26


===>>>>>>>>

斐兄谢谢您的回复。

不好意思,我不太明白您所谓的:

jmeter-plugins.googlecode.com//files/JMeterPlugins-0.5.1.zip
    添加一个**-save responses to a file


可否再说明详细一些?
(我试过在 http request页面新增 parameters,但仍然无法实现档案下载的需求)  先謝謝您了。
[attach]78361[/attach]



作者: mew234    时间: 2012-4-9 11:47
绿色与棕色的字是我的回复:


回复  mew234
1,这个应该是录制不到的,这个和服务器没交互。录制到的应该是你提交的查询请求,请求里面就会带有你在textbox里面输入的内容。
=>>了解

2、一般来说对于你不确定的都不要删除,当然一般来说jpg、css等删除都是不会影响脚本的执行的。
=>>了解,若是你的话,你会为了要让 request 方便管理与维护的状态下,自行删掉一些不会影响脚本执行与测试结果的东西?



3、这个就要添加断言了,类似于LR中的检查点。

=>>了解


xzf2001 发表于 2012-4-7 22:12

作者: mew234    时间: 2012-4-9 12:10
回复  mew234
这个步骤已经实现了下载请求了,服务器也是处理了的
你在这个截图的步骤后面添加一个监 听 ...
xzf2001 发表于 2012-4-9 11:39


斐哥,成了! 我终于让 Jmeter 执行下载案的动作啦(已解决)
非常感激您!
作者: mew234    时间: 2012-4-9 14:44
本帖最后由 mew234 于 2012-4-9 14:48 编辑


斐哥,不好意思又是我
(我问题暴多 )


[问题]
“Save Responses to a file” 页面中,字段: Variable Name => 是不是没有作用?
( 请问你的JMeter 也有这样的问题吗?我的JMeter版本是: 2.6 r1237317)

[attach]78363[/attach]

1.
如果 Filename Prefix 输入aa, Variable Name输入 bb,
下载后的文件名会是 aa1
(预期结果: 檔名应是 aabb1 )

2.如果 Filename Prefix 输入 空白, Variable Name输入 cc ,
下载后的文件名会是 1  
(预期结果: 檔名应是 cc1 )


3.如果 Filename Prefix 输入aa, Variable Name输入  空白 ,
下载后的文件名会是 aa1  
(预期结果: 檔名应是 aa1 )


作者: lsekfe    时间: 2012-4-9 14:45
回复 53# mew234


    看起来你要请我们这期嘉宾吃饭了!
作者: mew234    时间: 2012-4-9 14:49
回复  mew234
    看起来你要请我们这期嘉宾吃饭了!
lsekfe 发表于 2012-4-9 14:45


OK 阿~
若斐哥愿意的话…
作者: mew234    时间: 2012-4-9 16:09
Hi 斐哥
若依您这样说,以下是我的认知。若有错误,麻烦请指证:

Q1. 如果你要决定下载文件名称时,你会使用字段:” Filename Prefix” 去命名。
    而 “Variable Name” 则是属于 ”删除” or”开发JMeter 客制化软件时才会用到的
    字段?”
Q2. “不过进行的删除操作一般来说都是经过开发确认的。”==> 不好意思,麻烦请再说明详细一点,非常感谢。

Q3. 其实有时候你通过录制脚本都可以发现性能问题的。比如一个浏览名单的操作,本来只需要显示有限的信息,但是如果你录制发现连带出现很多别的操作,这本身就是一个性能问题。==> 不好意思,请问有例子吗? 麻烦请再说明详细一点,非常感谢。


再次感谢您的耐心与时间。


作者: mew234    时间: 2012-4-10 11:30
本帖最后由 mew234 于 2012-4-10 16:10 编辑
Q2、其实就是如果你不确认的时候,你可以找开发来一起看看你录制的脚本,就可以知道每一步具体是进行了什么操作了。
xzf2001 发表于 2012-4-9 22:49

=>>>
理解 & 感谢回复 ^^


Q3、例子就是本来前台只要显示人的名称,地址,结果录制发现后台其实查询了该人的所有信息,只是在前台没有显示而已。
xzf2001 发表于 2012-4-9 22:49

=>>>
理解 & 感谢回复 ^^
作者: uub29    时间: 2012-4-10 11:32
斐哥你好,我想问下怎么分析每秒通过的事物数和CPU内存使用情况呢怎么算是通过,谢谢
作者: mew234    时间: 2012-4-10 15:52
本帖最后由 mew234 于 2012-4-10 15:55 编辑

hi 斐哥好,我要提問:

Q1. 请问以下观念是否正确?
    =>>>>
    在Thread Group页面设定 ”Number of Threads”=5 ,
    与 在Synchronizing Timer 页面设定 ”Number of Simultaneous Users to Group by” = 5
    这两者意义不同。
(1.1) ”Number of Threads”=5 是指:模拟 5个 user 分次执行测试。
(1.2) “Number of Simultaneous Users to Group by” = 5 是指:模拟 5个 user 同时执行测试。

Q2. 若要如何确认 JMeter 是否真的同时模拟 5个 user执行测试, 而非5个 user 分次执行测试?
    是要去看 Aggregate Graph 里的 throughput 与 max 数值? 还是要看甚么?
    (我现在的做法是 去设定 ”Number of Threads”=5 以及 “Number of Simultaneous Users to Group by” = 5
     然后把两者的测试结果数值做比较,就是去比较throughput 与 max 数值。
     这样听起来似乎很蠢,但是我也不知道要怎么办了.)
作者: mew234    时间: 2012-4-10 16:06
[问题]
在HTTP 页面 使用 函数 _CSVRead 读取 *.DAT 的档案,并且增加 Response Assertion 取得验证结果(Assertion Results)。
( 在本案例中故意把 应该存在的 *.DAT 档案删除。也就是说 D:\test\test1.dat  与  D:\test\test2.dat 是不存在的档案  )
执行测试后,”验证结果”(Assertion Results) 没有报错,WHY ?
[attach]78386[/attach]

[attach]78387[/attach]

[attach]78388[/attach]



[模拟状况]
使用 yahoo 电子邮件的账号密码(共5组),登入信箱后注销; 第1组账号注销后,再使用第2组账号登入。直到5组账号全部登入过信箱。

[备注]
1.  “test1.txt” 内容是 账号名称,而 “test1.dat” 内容与 “test1.txt” 相同。
2.  “test2.txt” 内容是 密码,而 “test2.dat” 内容与 “test2.txt” 相同。
3.  请参阅夹带档案: LoginYahooMail0410.jmx
4. 我把所有档案打包成: “AAA.RAR”
[attach]78389[/attach]
5. 若把“test1.dat”与“test2.dat” 放到正确的路径下,测试结果为Pass
作者: mew234    时间: 2012-4-10 16:08
回复 57# mew234
Q1、这里Variable Name是一个参数名,存储的内容就是文件名称前缀+序列号1234这样的。可以见我附加的这个脚本。
xzf2001 发表于 2012-4-9 22:49

=>>>
1.看了您附上脚本与并执行数次且调整” 保存响应到文件”位置后,
我想我大概知道明白这里Variable Name的作用。

以下是我的理解,若错误麻烦请指正,非常感谢:
简单讲,可以把它视为一个变量容器,可以承接别人丢过来的变量值。
(
所以执行后在结果树可以看到这样的东西出现
GET http://www.baidu.com/?test=d:\test_201204101.html
GET http://www.baidu.com/?test=${aa}
)

2.下载文件的檔名则与Variable Nam无关。
  檔名是文件名称前缀 + 序列号1234
再次非常感谢您的回复。^^
作者: wangzhihui1210    时间: 2012-4-10 17:43
您好:  
      
    用jmeter做接口测试老是会找不到某类啥滴 . 但是其实我的类都是存在滴...是否比他更好的工具接口测试工具推荐....
作者: wangzhihui1210    时间: 2012-4-10 17:50
在做稳定性测试中...需要对系统进行基本的业务操作,,,,计划用jmeter录制脚本运行....在jmeter中如何让所有的线程组在每天的某段时间运行....
作者: wangzhihui1210    时间: 2012-4-10 17:52
也可以是整个线程组中的某一业务在每天的某段时间运行
作者: lsekfe    时间: 2012-4-11 15:05
匪兄果然回复的很及时啊!赞个!
作者: mew234    时间: 2012-4-11 15:28
本帖最后由 mew234 于 2012-4-11 15:30 编辑

回复 68# xzf2001


回复 62# mew234
1、第一个相当于LR中的Vuser,至于执行几次就和你的循环次数和执行时间有关。
Number of Simultaneous Users to Group by =5 就是指等待5个线程(vuser)后大家一起执 行后续的操作。
=>>>
瞭解



2、如果只是为了知道,可以通过监视器查看结果树,看定时器后面的那个事务的启动时间是否一致。
=>>
Hi 斐哥好,我试了好久也找了好多数据,还是觉得有地方不太明了,要再麻烦您看看,非常感谢:
我去比对结果树的 ”Sample Start”,却发现不论是否有enable组件Synchronizing Timer,执行后的结果都相同(意即”Sample Start” 时间都是相同)
請問到底是哪裡出了問題?

以下是执行结果画面截图:
< Disable Synchronizing Timer >
[attach]78401[/attach]
[attach]78402[/attach]

至於這次的測試檔案,請見 68.RAR
[attach]78403[/attach]







作者: lilang    时间: 2012-4-11 16:28
专家,LR11 ,我直接录入sql2000的存储过程,用的ODBC协议,进行负载试时,事务action_transaction 失败,且产生错误,提示:[ODBC 驱动程序管理器]函数序列错误。  查看对应脚本代码是 lr_db_option(Ctx2 ,OT_ODBC_OV_ODBC3,0,0)
作者: 开心小猪乖乖    时间: 2012-4-11 16:33
回复 41# xzf2001


    如果是UNIX系统呢?
作者: mew234    时间: 2012-4-11 16:59
本帖最后由 mew234 于 2012-4-11 17:42 编辑

回复 69# xzf2001

HI 斐哥好,我试了CSV Data Set Config的两种文件格式(*.txt, *.csv) 但测试结果都失败。
以下我会列出问题与相关细节,在此先再次感激您的耐心与时间与精神,非常感谢。

[问题]
1. 使用 *.TXT 作为储存账号密码的档案,并增加 ”Response Assertion”做验证,但测试结果是:”Fail”(无法读到所有username 与 响应消息)。Why ?
2. 使用 *.csv 作为储存账号密码的档案,并增加 ”Response Assertion”做验证,但测试结果是:”Fail”(无法读到所有username 与 响应消息)。且也试过把 *.csv 档案直接放在 \bin 文件夹底下,但还是得到同样的测试结果。Why ?
3. 因要验证JMeter 是否能正确读入我设定的username, 所以我增加 ”Response Assertion”做验证。而在这个测试脚本里,
   若JMeter能够成功读取我设定的username档案值(就算只读到空值也行?),则 “Assertion Results” 就会显示成功的讯息,是这样吗?
4.执行脚本后,为什么第一个结果树无法显示任何测试结果?但是第2个档案树能显示结果?

为了节省您的时间,我把执行结果与步骤还有相关细节做截图,搞成文件。
请参阅档案: 69.rar
(这包档案有本次的测试脚本与相关文件)
[attach]78412[/attach]


再次非常感谢您
作者: 大龙哥哥    时间: 2012-4-12 11:36
回复 6# xzf2001


    啊!真的是土匪大哥那、、、、
作者: 大龙哥哥    时间: 2012-4-12 11:38
回复 24# 云层


    还有我  O(∩_∩)O哈哈~
作者: yzl850    时间: 2012-4-12 11:40
我想问下LR9.0在录制脚本的过程中录制出来的WEB脚本是空的,是怎么回事啊,就解!
作者: 大龙哥哥    时间: 2012-4-12 11:41
土匪大哥,我支持你!
作者: mew234    时间: 2012-4-12 13:47
匪兄回复的很及时&精準啊!
作者: homedw    时间: 2012-4-12 14:50
有关于Jmeter的问题,楼主试过把测试结果数据存到数据库过没有?有没简单的法子把测试结果直接存入数据库?我知道有个simple data writer可以把返回的数据存成XML/CSV,但是如果你用命令行跑完测试用例以后,打开用simple data writer 存储好的 xml文件,会发现里面都是乱码。咋样还原成为可读数据?我想把这些数据存到数据库。不是用查看结果树/聚合表报告打开。
作者: 6道9    时间: 2012-4-13 10:26
回复 8# lsekfe


    把安装包等一应资料给放上嘛楼主!
作者: mew234    时间: 2012-4-13 10:45
回复 87# xzf2001


我看了一下你的脚本。
你的线程组中的Ramp-Up Period设置为1。你的设置就是在1S的时间内启动5个线程。
而你的脚本执行下来,也许就有了这个巧合了。



您说的对! ^^

若把 Ramp-Up Period(in seconds) 的值改成20, Number of Threads(users) 仍维持5

且修改 *.csv档案的编码为ANSI 的条件去执行后,

检视结果树: ”Sample Start” 时间  就出现差异。

=>>>>>>

[延伸问题]

只是若把 Ramp-Up Period(in seconds) 改成5, Number of Threads(users) 仍维持5

且修改 *.csv档案的编码为ANSI 的条件去执行后,

检视结果树: ”Sample Start” 时间  有差异没错,但时间还是有的会相同。

这原因跟原本的问题是相同的吗? 还是甚么原因造成? 我可以复制这问题3.

:

样本1: Sample Start: 2012-04-13 10:39:22 TST

样本2: Sample Start: 2012-04-13 10:39:23 TST

样本3: Sample Start: 2012-04-13 10:39:23 TST

样本4: Sample Start: 2012-04-13 10:39:25 TST

样本5: Sample Start: 2012-04-13 10:39:26 TST


作者: mew234    时间: 2012-4-13 10:54
回复 89#6道9



我不是楼主,我只是路過 XD
找资料刚好看到的,希望有回答到你的问题
给你参考,希望对你有帮助
Download Apache JMeter
http://jmeter.apache.org/download_jmeter.cgi
谢谢
作者: mew234    时间: 2012-4-13 11:31
本帖最后由 mew234 于 2012-4-13 11:36 编辑

回复 88# xzf2001
回复  mew234
1、你的CSV Data Set Config的写法有误,编码不应该使用unicode的,直接默认的ANSI即可。第 ...
xzf2001 发表于 2012-4-12 19:48



Hi 斐大哥,
针对CSV Data Set Config 的练习 -- 汇入 账号密码 我的测试结果一直都是失败!

(试了您的方法,现在可以成功读取到文件文字内容,但结果看起来似乎没有成功登录过半次!
等下我会再去try 如果只有写入一笔账号数据时会发生甚么事情? 还是针对这状况,您有任何其他好建议? )


(这些 email 账号密码,若是用人工输入登入都可以正常使用。)

(对了, 请问JMeter 能够在执行脚本后 “直接” print 读入的数据吗?
会这样问是因为我有加 Assertion Results , 但她还是没有印出username)

ps: 不过我有依据你的方法, 使用 *txt 或  *.csv 做成文本文件,里面放要查询的关键词,仿真  user 去 google 做查询,结果有成功!
再次谢谢斐大哥指导
作者: mew234    时间: 2012-4-13 11:33
回复 92# xzf2001
=>>>
了解&感谢回复
作者: 6道9    时间: 2012-4-13 11:38
回复 1# lsekfe


    楼主,jdk —7u2-windows-i586.exe 网上没有找到可下载资源,有么?传上来呗
作者: youlan416    时间: 2012-4-13 13:34
我刚学loadrunner,录好脚本后,打开controller,创建新的New Scenario,add script时提示failed to create online:无效指针,刚装好loadrunner时没有这问题,是不是路径出问题了啊,楼主以及各位路过的,请指教下
作者: ned747id88    时间: 2012-4-13 16:38
感觉LZ是架构师兼性能测试嘛~
作者: youlan416    时间: 2012-4-16 14:28
回复 99# xzf2001


    这样也报错,wakeup server:wlrun.exe — 应用程序错误
作者: mew234    时间: 2012-4-16 14:31
本帖最后由 mew234 于 2012-4-16 14:32 编辑

回复 98# xzf2001
你那个脚本应该有问题的,


我想您说对了
我现在试着用 badboy重新录制一个新的脚本,而且重新让它拨放。
发现他只有登入信箱却没有 Login Out!!! (试过再手动新增 CHILD STEP 去录制注销步骤,但回放时会发现根本无 Login Out !!!
=>>>>
我想问的是: 您在录制脚本时,也曾发生过类似的状况? (无法录制”注销” ? )
作者: mew234    时间: 2012-4-17 16:11
Hi 斐大哥好,

不好意思,请问一下:
Q1.以 LR 11 而言 ,是否能执行以下项目?
1.1.测试 ORACLE 的 stored procedure ?
1.2.承1,是否也可得知测试结果 是否符合条件: x 分钟内处理 xx 笔数据?
1.3.测 batch(EX: 5分钟批次执行, 执行序在5分钟内处理时间内完成)?


Q2.还是您知道要用那些组件去执行这样的测试?
     是要用"  Oracle NCA Protocol" ? or ??


Q3.目前我有先自己做功课先去估狗教程,找到以下信息:
  
   利用loadrunner测试ORACLE存储过程的性能
   http://www.51testing.com/?uid-11 ... og-itemtypeid-15079
   (但这内容还提到要用加上代码,只是我目前根本不需要做开发. 所以这教学对我没有帮助)


   如何在LoadRunner中监控Oracle数据库   
   http://www.51testing.com/html/29/n-144629.html
   (我也不知道这教学是否有用,也不知道自己的方向是否正确,目前没有环境可以测试)

   使用LoadRunner测试Oracle数据库的方法
   http://www.webspherechina.net/club/thread-47890-1-1.html
    (我也不知道这教学是否有用,也不知道自己的方向是否正确,目前没有环境可以测试)



在此先感谢您的回复。
作者: xiao5    时间: 2012-4-17 18:07
前辈好,
我想问一下,做游戏测试需要注意的地方,能不能系统的说一下
作者: 许丫头    时间: 2012-4-18 08:51
婓哥,你好,我想问下loadrunner中怎么正确的设置检查点呢,依据什么来设?
作者: 许丫头    时间: 2012-4-18 09:59
斐哥,帮我看下这段脚本,
vuser_init()
{

        int status;//定义变量用于判断登陆是否成功
        lr_start_transaction("login");
        web_add_cookie("userName=0361; DOMAIN=222.189.216.110");
        web_url("login.jsp",
                "URL=http://222.189.216.110:12001/wfms/login.jsp",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=",
                "Snapshot=t1.inf",
                "Mode=HTML",
                EXTRARES,
                "Url=framework-resources/images/login_bg.gif", ENDITEM,
                "Url=framework-resources/images/login.png", ENDITEM,
                "Url=framework-resources/images/login_button.gif", ENDITEM,
                LAST);

        web_add_cookie("s_pwd=e5332fe25060086ed2b14293e6fc65f1; DOMAIN=222.189.216.110");
web_add_cookie("logined=logined; DOMAIN=222.189.216.110");
        web_submit_form("login.jsp_2",
                "Snapshot=t2.inf",
                ITEMDATA,
                "Name=userName", "Value={loginname}", ENDITEM,
                "Name=s_Pwd", "Value={pwd}", ENDITEM,
                EXTRARES,
                "Url=framework-resources/images/title.gif", "Referer=http://222.189.216.110:12001/wfms/top.jsp", ENDITEM,
                "Url=framework-resources/images/tableftF.gif", "Referer=http://222.189.216.110:12001/wfms/top.jsp", ENDITEM,
                "Url=framework-resources/images/info_line.gif", "Referer=http://222.189.216.110:12001/wfms/info.jsp", ENDITEM,
                "Url=framework-resources/images/user_16.gif", "Referer=http://222.189.216.110:12001/wfms/info.jsp", ENDITEM,
                "Url=framework-resources/images/tabrightF.gif", "Referer=http://222.189.216.110:12001/wfms/top.jsp", ENDITEM,
                "Url=framework-resources/images/info_bg.gif", "Referer=http://222.189.216.110:12001/wfms/info.jsp", ENDITEM,
                "Url=framework/sys-resources/images/h_sep_bar_bg.gif", "Referer=http://222.189.216.110:12001/wfms/mid.htm", ENDITEM,
                "Url=framework-resources/images/max_16.gif", "Referer=http://222.189.216.110:12001/wfms/info.jsp", ENDITEM,
                "Url=framework-resources/images/info_time.gif", "Referer=http://222.189.216.110:12001/wfms/info.jsp", ENDITEM,
                "Url=framework-resources/images/main_table_dot.gif", "Referer=http://222.189.216.110:12001/wfms/main.jsp", ENDITEM,
                "Url=framework-resources/images/main_bar_ico_stay.gif", "Referer=http://222.189.216.110:12001/wfms/main.jsp", ENDITEM,
                "Url=framework-resources/My97DatePicker/skin/WdatePicker.css", "Referer=http://222.189.216.110:12001/wfms/main.jsp", ENDITEM,
                "Url=framework-resources/images/main_bg.gif", "Referer=http://222.189.216.110:12001/wfms/main.jsp", ENDITEM,
                "Url=framework-resources/images/main_bar_bg.gif", "Referer=http://222.189.216.110:12001/wfms/main.jsp", ENDITEM,
                "Url=framework-resources/images/ico_nav2.gif", "Referer=http://222.189.216.110:12001/wfms/main.jsp", ENDITEM,
                LAST);

                status=web_submit_form("login.jsp_2",
                        "Snapshot=t2.inf",
                        ITEMDATA,
                        "Name=userName", "Value={loginname}", ENDITEM,
                        "Name=s_Pwd", "Value={pwd}", ENDITEM,
                        EXTRARES,
                        "Url=framework-resources/images/title.gif", "Referer=http://222.189.216.110:12001/wfms/top.jsp", ENDITEM,
                        "Url=framework-resources/images/tableftF.gif", "Referer=http://222.189.216.110:12001/wfms/top.jsp", ENDITEM,
                        "Url=framework-resources/images/info_line.gif", "Referer=http://222.189.216.110:12001/wfms/info.jsp", ENDITEM,
                        "Url=framework-resources/images/user_16.gif", "Referer=http://222.189.216.110:12001/wfms/info.jsp", ENDITEM,
                        "Url=framework-resources/images/tabrightF.gif", "Referer=http://222.189.216.110:12001/wfms/top.jsp", ENDITEM,
                        "Url=framework-resources/images/info_bg.gif", "Referer=http://222.189.216.110:12001/wfms/info.jsp", ENDITEM,
                        "Url=framework/sys-resources/images/h_sep_bar_bg.gif", "Referer=http://222.189.216.110:12001/wfms/mid.htm", ENDITEM,
                        "Url=framework-resources/images/max_16.gif", "Referer=http://222.189.216.110:12001/wfms/info.jsp", ENDITEM,
                        "Url=framework-resources/images/info_time.gif", "Referer=http://222.189.216.110:12001/wfms/info.jsp", ENDITEM,
                        "Url=framework-resources/images/main_table_dot.gif", "Referer=http://222.189.216.110:12001/wfms/main.jsp", ENDITEM,
                        "Url=framework-resources/images/main_bar_ico_stay.gif", "Referer=http://222.189.216.110:12001/wfms/main.jsp", ENDITEM,
                        "Url=framework-resources/My97DatePicker/skin/WdatePicker.css", "Referer=http://222.189.216.110:12001/wfms/main.jsp", ENDITEM,
                        "Url=framework-resources/images/main_bg.gif", "Referer=http://222.189.216.110:12001/wfms/main.jsp", ENDITEM,
                        "Url=framework-resources/images/main_bar_bg.gif", "Referer=http://222.189.216.110:12001/wfms/main.jsp", ENDITEM,
                        "Url=framework-resources/images/ico_nav2.gif", "Referer=http://222.189.216.110:12001/wfms/main.jsp", ENDITEM,
                        LAST);
                        if(status==LR_FAIL)
                        {
                                lr_error_message("错误信息:%s","不能正常登陆!");
                                return -1;
                        }
        lr_end_transaction("login", LR_AUTO);
        return 0;
}

=================================================
运行后报这个错
vuser_init.c(49): Error -27979: Requested form not found          [MsgId: MERR-27979]
vuser_init.c(49): web_submit_form("login.jsp_2") highest severity level was "ERROR", 0 body bytes, 0 header bytes          [MsgId: MMSG-26388]
====================================================
没加这段代码  运行是正确的
status=web_submit_form("login.jsp_2",
                        "Snapshot=t2.inf",
                        ITEMDATA,
                        "Name=userName", "Value={loginname}", ENDITEM,
                        "Name=s_Pwd", "Value={pwd}", ENDITEM,
                        EXTRARES,
                        "Url=framework-resources/images/title.gif", "Referer=http://222.189.216.110:12001/wfms/top.jsp", ENDITEM,
                        "Url=framework-resources/images/tableftF.gif", "Referer=http://222.189.216.110:12001/wfms/top.jsp", ENDITEM,
                        "Url=framework-resources/images/info_line.gif", "Referer=http://222.189.216.110:12001/wfms/info.jsp", ENDITEM,
                        "Url=framework-resources/images/user_16.gif", "Referer=http://222.189.216.110:12001/wfms/info.jsp", ENDITEM,
                        "Url=framework-resources/images/tabrightF.gif", "Referer=http://222.189.216.110:12001/wfms/top.jsp", ENDITEM,
                        "Url=framework-resources/images/info_bg.gif", "Referer=http://222.189.216.110:12001/wfms/info.jsp", ENDITEM,
                        "Url=framework/sys-resources/images/h_sep_bar_bg.gif", "Referer=http://222.189.216.110:12001/wfms/mid.htm", ENDITEM,
                        "Url=framework-resources/images/max_16.gif", "Referer=http://222.189.216.110:12001/wfms/info.jsp", ENDITEM,
                        "Url=framework-resources/images/info_time.gif", "Referer=http://222.189.216.110:12001/wfms/info.jsp", ENDITEM,
                        "Url=framework-resources/images/main_table_dot.gif", "Referer=http://222.189.216.110:12001/wfms/main.jsp", ENDITEM,
                        "Url=framework-resources/images/main_bar_ico_stay.gif", "Referer=http://222.189.216.110:12001/wfms/main.jsp", ENDITEM,
                        "Url=framework-resources/My97DatePicker/skin/WdatePicker.css", "Referer=http://222.189.216.110:12001/wfms/main.jsp", ENDITEM,
                        "Url=framework-resources/images/main_bg.gif", "Referer=http://222.189.216.110:12001/wfms/main.jsp", ENDITEM,
                        "Url=framework-resources/images/main_bar_bg.gif", "Referer=http://222.189.216.110:12001/wfms/main.jsp", ENDITEM,
                        "Url=framework-resources/images/ico_nav2.gif", "Referer=http://222.189.216.110:12001/wfms/main.jsp", ENDITEM,
                        LAST);

                        if(status==LR_FAIL)
                        {
                                lr_error_message("错误信息:%s","不能正常登陆!");
                                return -1;
                        }
       

加了之后出现这个错,知道原因的话麻烦告知
作者: 许丫头    时间: 2012-4-18 11:23
回复 110# xzf2001
醍醐灌顶,确实之前不知道检查点的作用,谢谢斐哥了
作者: mew234    时间: 2012-4-18 14:16
回复 104# mew234

非常謝謝斐哥,那我再搞一下試試。
作者: wanghuiwan    时间: 2012-4-18 15:17
回复 109# 许丫头


    你这个脚本添加这个判断是否登录成功的意义是什么,其实正常如果登录不成功也是会有其他的方法 如添加检查点,正常录制脚本登录不成功 lr也会提示错误所以你这段添加没有意思

还有就是你的status= 是不是也写错了
作者: wanghuiwan    时间: 2012-4-18 15:19
回复 110# xzf2001


    土匪大侠工作才三年就转到性能测试了。我和你差不多 但是我性能测试还是没有达到玩转的地步。
有机会的多像你请教了我工作也不到3年。
作者: mew234    时间: 2012-4-18 17:59
本帖最后由 mew234 于 2012-4-18 18:00 编辑

回复 105# xzf2001

HI 斐哥,
我看完您提供的教学帖,还是想提问,再麻烦您解答了,非常感谢。

1.  我要连接的 DataBase 是在远程的,它是在公司机房的机器里。
=>>>>
那 "Program to record" 要填甚么?
(很多教学帖都是说要选你自己本机端安装的 orcale 的sqlplus.)
               
2 ."Program to record"  
    =>>>>> 您有填东西吗?

3.请问当初您学习这部分时,您是怎样找答案?
我是指:
=>>>>>>
去找怎样执行这样的操作教学?? 为什么您一看到我的问题就知道要找甚么组件 & 知道要如何去尝试????
(像我的话,我是试着去找 LR 自带的 HELP 查看, 寻找 "Program to record" , 但仍找不到我要的东西.
去 GOOGLE 寻找  "如何建立 Oracle(2-Tier)协议的脚本"  , 但也没有看到完整的图文教学.
我不知道自己哪里做错. 其实这东西我已经花了一整天 GOOGLE, 试过好多关键词排列组合,但仍找不到完全的内容。)

(现在对于这题目: "建立 Oracle(2-Tier)协议的脚本"  我知道的也只有您提供的教学帖外,
就是还要去安装 ORACLE CLINE , 然后 设定  OTA , 再来的话, 就是再搞其他的教学帖子说的:"建立 Oracle(2-Tier)协议的脚本, 选择,建立一个Oracle(2-Tier)协议的脚本
加入
static LRD_INIT_INFO InitInfo = {LRD_INIT_INFO_EYECAT};
static LRD_DEFAULT_DB_VERSION DBTypeVersion[] =
{
{LRD_DBTYPE_NONE, LRD_DBVERSION_NONE}
};
"  
這是要加到哪裡? 它貼了好多代碼...
[attach]78526[/attach]
作者: 许丫头    时间: 2012-4-19 09:16
回复 113# wanghuiwan

是没 什么意义,就是想验证一下这个函数web_submit_form()的返回值
web_submit_data()的返回值是0或者1,已经在查询的脚本中得到验证了
你说我的status= 错了 ,错在哪里呢?
作者: wanghuiwan    时间: 2012-4-19 13:52
回复 116# 许丫头


    这么说把 你说你这个操作其实是一个登录操作,那么你现在这个status 第一次登录都没有退出你第二次打开这个网页你觉得还需要登录么?
如果你想验证  的话你可以把上面的web_submit_from整段删掉应该也可以吧
作者: 许丫头    时间: 2012-4-19 14:55
回复 117# xzf2001
呵呵,斐哥,谢谢你的耐心,这个问题到此结束吧
之前问你的检查点,我自己实际操作了一下,详见
http://www.51testing.com/?uid-42 ... space-itemid-812027
我这样做的步骤是否正确,麻烦请告知哦。
作者: mew234    时间: 2012-4-19 16:29
Hi 斐哥,
真的非常非常感谢您的耐心&时间&精神。
我会再继续实作。( 刚刚 DB 那边一直报错说 TIME OUT…., 我正在解决这问题 XD & 我赶快去找  CREATE TABLE, SP, 的语法,不然不然根本没法子录脚本)
作者: kuang15    时间: 2012-4-19 18:35
LoadRunner11中文版,没有页面细分图~求解~!
作者: wanghuiwan    时间: 2012-4-20 10:11
我问个关于lr的问题吧   现在做接口测试用到 windows socket 协议 但是里面传输xml文件的时候这个编辑的代码总是出现问题,有什么方法能准确的编辑  这个soap代码么
作者: 许丫头    时间: 2012-4-20 11:01
这段时间正好重新温习loadrunner,抓紧时间把不明白的问清楚。
斐哥,我想问一下,loadrunner设置虚拟IP跟在场景里设置多个Vuser有什么区别,他们的目的是一样的吗?
作者: zwtmz    时间: 2012-4-20 11:43
LZ确实厉害,我做测试都有3年半了,但还停留在做手工测试,
作者: mew234    时间: 2012-4-20 15:35
回复 105# xzf2001

Hi 斐哥,
不好意思又是我,我要提问:
0.环境设定:
   目前我的机器已安装 oracle cline 11g, oracle sql developer , jdk , win7.
   远程机房的主机上也成功安装 oracle  XE database,
   且可以在我的机器上,使用oracle sql developer 成功联机到远程机器上的database.
   并查询 table, stored procedure


Q1. 为什么我点击 New script protocol script: "Oracle (2-Tier)",
   填完 "Start Recording" 讯息窗口数据(请见图 img01)后开始录制
   (就是到 oracle sql developer  里使用 gui 接口去执行 stored procedure ),
   录完以后按停止,结果 LR 说:"No events were detected"  (请见图img02).
    =>>> 我哪里做错了?? 它怎么会抓不到我的鼠标动作?
[attach]78571[/attach]

[attach]78572[/attach]



Q2. 依据您提供的教程
     http://bbs.51testing.com/viewthread.php?tid=50434&extra=&page=1
    我下载了他的Oracle_blank.rar 并修改它提示的地方,但还是失败.
     (请见图img03).
     =>>>> 大概我太笨,呜呜. 但是我真的一点头绪都没有.
                 它们说要增加代码, 到底是要写在各区段? 我现在根本都是乱塞乱试.
                  我真的不知道他们分成"vuser_init", "Action","vuser_end" 到底要干嘛?

      =>>>> 我估狗好多教程,它们都没指定到底要把那堆代码贴在哪个区段阿? ("vuser_init", "Action","vuser_end" )
[attach]78574[/attach] 此图为执行修改后的 Oracle_blank 之结果





Q3.
像下面这篇教程
http://www.guan8.net/Java/1056251.html   
他提到: //定义各种变量。录制生成的脚本中,这些变量的定义在vdf.h中
这是指要放到 脚本里的档案:"vdf.h" 里面吗? 还是要哪里??
[attach]78575[/attach]  
(这脚本是我直接点击"Create a Scenario"另存新檔所得。)
作者: mew234    时间: 2012-4-20 17:26
本帖最后由 mew234 于 2012-4-20 17:34 编辑
回复  mew234
回复 128# mew234
Q1、我没有用SQL dev测试过,我用的是PL\SQL,不是很清楚你的这个问题。
Q2、手写的一般都是丢在action里面了。init和end部分都是不参与迭代的。
Q3、是的。


謝謝斐哥回復 & 瞭解。
and 您真貼心 ,剛剛看到了您的補充 (  http://bbs.51testing.com/thread-518089-1-1.html  ) ,非常感謝。
(我正在看ing)


" P rogram arguments"
=>> 這個欄位你填? 是填要測試的位址? 還是跟我一樣空白沒寫?
作者: 许丫头    时间: 2012-4-21 09:10
斐哥:我的一个脚本(包括登录和查询),设置10Vuser运行
后,结果分析中出现这样的结果,比如有302,404,是不是不正常啊
HTTP Responses        Total             Per second
HTTP_200                    22,000        56.122
HTTP_302                      1,444                3.684
HTTP_404                3,602                 9.189
注:录制的脚本中有几个url是404的Warning -26627: HTTP Status-Code=404 (/wfms/style/globe.css) for "http://222.189.216.110:12001/wfms/style/globe.css"          [MsgId: MWAR-26627]
作者: 许丫头    时间: 2012-4-23 11:38
本帖最后由 许丫头 于 2012-4-23 11:49 编辑

回复 134# xzf2001


    呵呵,这个文档已经看过了,只是想问问您实际工作中遇到这样的问题,算不算是错误呢比如http_302 我可以在哪里看到这些链接的错误详细信息呢
作者: qinhaoying    时间: 2012-4-23 14:31
如何入手学习JMeter,这个我比较感兴趣。
作者: mew234    时间: 2012-4-23 14:32
本帖最后由 mew234 于 2012-4-23 14:59 编辑

Hi 斐哥,

再次非常感謝您的回答。

and 应该这么说: 我知道教程裡的那些文字在写甚么,但是要在LR 里实作,我根本不知道要如何使用 LR 去操作文件写的东西。
(这是我现在遇到的大问题) 好多教程类似这样的,我都会遇到同样的问题: 不知道如何使用 LR 去实作。
(教程都不是那种一步一步教你的东西. 他们似乎都是提个概念给你而已)
=>>>>
我现在做的就变成先去找基本教程看,先了解一下基本的东西,
然后再回头看看这些教程, 只是似乎作用不大,还是您有其他更好的建议?
因为现在还是一点方向都没有啊…(我是指 關於測試 Oracle stored procedure 這塊... )

像下面这些教程都是这样的状况:

http://www.51testing.com/?uid-15081-action-viewspace-itemid-10229

http://bbs.51testing.com/viewthread.php?tid=50434&extra=&page=1

http://bbs.mediinfo.com.cn/archiver/showtopic-3296.aspx
作者: niunjxtest    时间: 2012-4-23 14:33
。。
作者: mew234    时间: 2012-4-23 14:53
本帖最后由 mew234 于 2012-4-23 15:21 编辑

回复 136# qinhaoying



我不是楼主, 只是路过.
附上我之前刚学 JMeter 时看的文章给你参考,希望对你有帮助,谢谢。

JMeter中文使用手册
http://blog.csdn.net/songlipeng2003/article/details/1511752


User's Manual (英文版)
http://jmeter.apache.org/usermanual/index.html



Jmeter学习
=>>  包含簡介等等相關資料都有
http://www.cnblogs.com/hyzhou/category/332107.html


Apache JMeter Getting Started Tutorial
=>> 英文影音操作教学。
http://vimeo.com/3453772


Short Interview with Apache JMeter
=>>>> 推荐!!
=>>>> http://jmeter-expert.blogspot 比较多内容是讲一些基本概念,而非软件操作实务。可是我还是认为如果董那些概念,未来在操作 jmeter 时会比较有感觉。
http://jmeter-expert.blogspot.com/2010/03/short-interview-with-apache-jmeter.html


Testing performance of web page with Apache JMeter =>>> 推荐!!
http://jmeter-expert.blogspot.com/2010/03/testing-performance-of-web-page-with.html


使用JMeter创建FTP测试计划
http://www.cnblogs.com/fnng/archive/2011/07/01/2095654.html


【转】jmeter测试计划  
http://sixu44.blog.163.com/blog/static/198064292009810424439/


Using JMeter for a Simple Test
http://www.roseindia.net/jmeter/using-jmeter.shtml
作者: kaixinle    时间: 2012-4-23 15:32
LZ,您好,我学习JMeter有一段时间了,对JMeter的基本操作有一定基础,但分析这段遇到点问题:
1、像聚合报告、图形结果等页面上的字段都已清楚,但不懂如何根据程序产生的红红绿绿的线以及数据进行分析;
2、得出的这些数据如何进行对比得出系统的瓶颈(假设需求中只定义了最大并发用户数);
3、有木有实际的例子来介绍这个结果分析(有实际的运行结果或截图,有假设的需求,通过需求和结果来实际分析系统存在哪些问题);

作者: kaixinle    时间: 2012-4-23 22:27
斐哥,你好,谢谢你的回答,我又有几个问题:
1、对服务器资源使用情况进行监控这块,应该进行怎样的监控(目前我知道用windows自带的一个可以看到服务器资源的使用情况,但经过几S[可以人为设定覆盖时间]后会覆盖,是否还有其他的监控工具)?
2、并发用户数是不断递增的,在递增的过程中是否也要对服务器进行监控?这个应该是一定要进行监控的,但问题是怎样进行监控呢,通过肉眼观察到的或捕捉的信息会存在问题,在这块您是如何把握的??
谢谢斐哥
作者: 许丫头    时间: 2012-4-24 09:03
回复 144# xzf2001


    脚本都没有报错的,不过回时在Replay Log中确实发现warning即有些js css的URL是404。
按照您的意思即使在分析报告中有302 404,只要不报错也是可以的吗?
作者: kaixinle    时间: 2012-4-24 10:00
本帖最后由 kaixinle 于 2012-4-24 10:06 编辑

斐哥你好,谢谢您的回答,看到您的回答后,我明白要做什么了,对服务器资源监控这块,我还欠缺点东西,我现在正在学习,看到您的回复后我又一个问题,又麻烦您了。。。
下面几幅图片是我用JMeter测试项目后得出的几张图片,现对以下几张图片进行分析,(若存在问题请斐哥指出,谢谢斐哥)
第一张:疑惑点:80以前事务响应时间为什么变化那么大,相反在80以后事务响应时间变化平缓,100以后的事务响应时间是否为正常的变化,此表能说明什么问题?
第二张:用户数上升,服务器处理的请求数总体是上升的,20、100、300左右出现下降,这几段的下降能说明什么问题?这个表又能说明什么问题???
第三张:随着用户数的上升服务器接受流量不断上升,在80左右突然下降,此时能说明什么问题,这张图片与第一张图片联合后能说明什么问题?
第四张:随着用户数的增加,服务器处理的请求总数在不断上升,在400左右时,请求总数突然下将,此时是否可以说明,系统所能承受的最大用户数在400左右,400以后服务器会丢失部分请求;
综上:是否可以得出用户数在80左右呢,应该怎样分析出系统所承受的最大用户数呢?
谢谢斐哥的回答,


[attach]78663[/attach]
[attach]78664[/attach]
[attach]78665[/attach]
[attach]78666[/attach]
作者: mew234    时间: 2012-4-24 10:01
本帖最后由 mew234 于 2012-4-24 10:11 编辑

回复 143# xzf2001

HI 斐哥~
先谢谢你的回复..... ^^"

AND 我之前已经进展到 "做" 的阶段了.... XD
(不是只有"看"欧..., 我也清楚明白能再这样一直烦你, OH, 是请教你....
也只有到31 日了!  所以我只能抓紧时间赶快 TRY 赶快GOOGLE 找数据赶快问... )

不然等下我再去踹一踹昨天找到的新教程 & 云大的教程,
AND 把不知道不清楚有问题的地方通通抓图写清楚,弄上来提问,不然真是见鬼了,
为什么LR 老是抓不到我的鼠标?  一直报错.... = =?


PS:
我家领导之前就是指定要用LR 做stored procedure 的性能测试,
所以我也只能像发狂班地狂找相关教学并赶快实作阿,呜呜呜~
作者: 许丫头    时间: 2012-4-24 10:04
回复 148# xzf2001


    脚本中回放的warning每次都有的,分析报告中404 302每次也都有
不是性能问题 那是什么问题呢
作者: mew234    时间: 2012-4-24 10:07
回复 149# kaixinle

(我只是路过... )
友情提示: 你的图都变成文字了
[attach]78667[/attach]
作者: kaixinle    时间: 2012-4-24 11:09
回复 152# mew234
    嗯啊,我这是第一次用,有好多功能不会用,回复之后马上发现问题了,现在改过来了。。。嘿嘿
作者: mew234    时间: 2012-4-24 15:12
本帖最后由 mew234 于 2012-4-24 15:17 编辑

hi 斐哥哥,
我把问题放上来。
一个帖子放一种问题,方便您阅读。
先谢谢您的回复。  ^^
[目前问题]
Q1. 为什么LR 没有启动我的Oracle SQL developer (sqldeveloper.exe) ?

(
LR路径设定是正确的. 因为我手动点击sqldeveloper.exe , 可正确运行Oracle SQL developer .)



Q2. 参考教学http://www.docin.com/p-312497068.html ch2执行测试,
可是我发现就算我让
LR 开始recording,然后自己手动操作Oracle SQL developer
但还是”0 events ”, why ?
[attach]78673[/attach]
( 对照教学,教学里在启动recording 时,events 数量就破0. )


[环境]
LR11, WIN7, Oracle SQL developer 3.1 (3.1.07.42) , Oracle Client 11g

Oracle SQL developer 3.1 (3.1.07.42)
http://www.oracle.com/technetwork/cn/developer-tools/sql-developer/downloads/index.html


[
测试步骤]
1. 点击快捷方式: Virtual User Generator
[attach]78674[/attach]


2. 新增Single Protocol Script : "Oracle (2-Tier) ",把它另存新檔成:” db001-20120424a


3 点击” Start Recording”

[attach]78675[/attach]


4. 设定以下域值,设定完成后点击ok 开始录制。

[attach]78676[/attach]


5.以下是点击ok 后出现的录制按钮条。
[attach]78679[/attach]


6.点击stop
[attach]78677[/attach]





7. 以下是点击stop后出现的结果。
[attach]78678[/attach]






欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2