Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÐÔÄܲâÊÔ¹¤¾ßGrinder
 
×÷Õß Linsa.Liu£¬»ðÁú¹ûÈí¼þ    ·¢²¼ÓÚ 2014-07-24
  4828  次浏览      27
 

ʲôÊÇGrinder£¿

GrinderÊÇÒ»¸öJavaTM¸ºÔزâÊÔ¿ò¼Ü£¬Ö§³Ö·Ö²¼Ê½²âÊÔ£¬ÇÒÊÇ¿ªÔ´µÄ¡£

¹ÙÍø¼°ÏÂÔØ£ºSourceForge.net.

The Grinder processes

GrinderÊÇÒ»¸ö½«²âÊԽű¾ÔËÐÐÔÚ¶à¸ö»úÆ÷ÉϵĿò¼Ü¡£Grinder¿ò¼ÜÓÉÈý¸öprocess(»òprogram£©×é³É: worker processes, agent processes, ºÍconsole. ÿÖÖprocessµÄÖ°ÔðÈçÏ£º

Worker processes

½âÊÍJython²âÊԽű¾£¬²¢Æô¶¯workerÏ߳̽øÐвâÊÔ

Agent processes

¹ÜÀí worker processes

The console

Эµ÷ÆäËûµÄ processes

Êý¾ÝµÄÊÕ¼¯£¬´¦Àí¼°ÏÔʾ

²âÊԽű¾µÄ±à¼­¼°·Ö·¢

GrinderÓÉJava±àд£¬ÆäÖÐÿ¸öprocesses¶¼ÊÇÒ»¸öjavaÐéÄâ»ú£¨JVM£©¡£

ÔÚ½øÐиºÔزâÊÔʱ£¬Ó¦¸ÃÔÚÿ¸ö²âÊÔ»úÉÏÆô¶¯Ò»¸ö´úÀíÏ̡߳£´úÀí½ø³ÌÆô¶¯µÄËùÓÐworker½ø³Ì¶¼¿ÉÒÔÓÉͬһ¸ö¿ØÖÆÌ¨½øÐпØÖƺͼàÊÓ¡£ÔÚÿ¸ö²âÊÔ»úÉ϶¼Æô¶¯¶à¸ö´úÀí½ø³ÌÊǷdz£Ã»ÓбØÒªµÄ£¬µ«ÊÇÈç¹ûÄãÔ¸ÒâÒ²¿ÉÒÔÕâÑù×ö¡£

Tests and test scripts ²âÊÔ¼°²âÊԽű¾

ÔÚÒ»¸öµäÐ͵IJâÊÔ³¡¾°ÖУ¬²âÊԽű¾»á±»Ö´Ðкܶà±é¡£Ã¿¸ö¹¤×÷½ø³Ì¶¼°üº¬Èô¸É¸ö¹¤×÷Ị̈߳¬Ã¿¸ö¹¤×÷Ï̶߳¼»áµ÷ÓòâÊԽű¾Èô¸É´Î¡£²âÊԽű¾µÄÒ»´Îµ¥¶ÀÖ´ÐгÆ×÷Ò»¸örun¡£

²âÊԽű¾µÄ»ñÈ¡ÓÐÁ½ÖÖ·½Ê½£º

1. ÊÖ¹¤±àдgrinder²âÊԽű¾¡£²Î¿¼£ºScript Gallery¡£

2. TCP´úÀíÂ¼ÖÆ²âÊԽű¾

Æô¶¯´úÀíÃüÁnet.grinder.TCPProxy ¨Cconsole ¨Chttp > grinder.py

ÉèÖÃIE´úÀí£º

ÔÚIEÖдò¿ªÉèÖô°¿Ú£ºTools -> Internet Options -> Connections ->Local Area Network Settings -> advanced... °´ÉÏÃæ¿ØÖÆÌ¨Êä³öµÄÐÅÏ¢ÌîÈë´úÀí¡£

´ò¿ªÒª²âÊÔµÄÍøÕ¾»ò¹¤³Ì£¬¶ÔÍøÕ¾»ò¹¤³ÌµÄ²Ù×÷»á±»×Ô¶¯¼Ç¼µ½µ±Ç°Ä¿Â¼µÄgrinder.py½Å±¾ÖС£

Network communicationÍøÂçͨѶ

ÿ¸öworker process¶¼»áÓëconsole½¨Á¢Ò»¸öÍøÂçÁ¬½ÓÀ´±¨¸æÍ³¼ÆÊý¾Ý¡£

ÿ¸öagent process¶¼Óëconsole½¨Á¢Ò»¸öÁ¬½ÓÀ´½ÓÊÕÃüÁȻºó´«µÝ¸øËüµÄworker process¡£

Consoleͨ¹ýÒ»¸öÌØÊâµÄµØÖ·ºÍ¶Ë¿ÚÀ´¼àÌýÕâÁ½ÖÖÁ¬½Ó¡£Ä¬ÈÏÇé¿öÏ£¬µØÖ·ÊÇÔËÐÐconsoleµÄ»úÆ÷µÄ±¾µØµØÖ·£¬¶Ë¿ÚÊÇ6372¡£

Èç¹ûagent processÁ¬½Óconsoleʧ°Ü£¬»òÕß grinder.useConsoleÊôÐÔ±»ÉèÖÃΪfalse£¬agent½«²»ÐèÒªconsoleµÄ¿ØÖƶø¶ÀÁ¢µØÔËÐУ¬²¢×Ô¶¯Æô¶¯worker process¿ªÊ¼²âÊÔ¡£Worker processÔËÐÐÖÁÍê³É¶¼²»ÔÙÏòconsole±¨¸æ¡£Èç¹ûÄã²»ÏëÊÜconsoleµÄ¸ÉÈŶø¿ìËٵĿªÊ¼²âÊÔ£¬ÉÏÃæµÄ·½Ê½ÊǷdz£ÓÐÓõġ£

Note

¸ü¸ÄconsoleµØÖ·µÄ·½·¨£ºÉèÖÃgrinder.propertiesÎļþÖеÄgrinder.consoleHostºÍgrinder.consolePort¡£

Êä³ö

ÿ¸öworker process¶¼»áдÈÕÖ¾ÐÅÏ¢µ½Îļþout-host-n.logÖУ¬ÆäÖÐhostÊÇÖ÷»úÃû£¬nÊÇworker processÊýÁ¿¡£

ErrorÐÅÏ¢ÔÚÎļþerror-host-n.logÖС£Èç¹ûûÓÐerror²úÉú£¬½«²»»á´´½¨¸ÃÎļþ¡£

²âÊÔ½á¹ûÔÚÎļþdata-host-n.logÖС£¸ÃÎļþ¿ÉÒÔµ¼Èëµç×Ó±í¸ñ¹¤¾ßÖУ¬ÀýÈçMicrosoft ExcelTM£¬ÒÔ±ã½øÒ»²½µÄ·ÖÎö¡£

×îºóµÄͳ¼Æ»ã×ÜÊý¾Ý£¨out-*ÎļþÖУ©ÐÎʽÈçÏ£º

Final statistics for this process:
Successful Errors Mean Test Test Time Standard
Tests Time(ms) Deviation (ms)
Test 0 25 0 255.52 22.52
Test 1 25 0 213.40 25.15
Test 2 25 0 156.80 20.81 "Image"
Test 3 25 0 90.48 14.41
Test 4 25 0 228.68 23.97 "Login page"
Test 5 25 0 86.12 12.53 "Security check"
Test 6 25 0 216.20 8.89
Test 7 25 0 73.20 12.83
Test 8 25 0 141.92 18.36
Test 9 25 0 104.68 19.86 "Logout page"
Totals 250 0 156.70 23.32

²âÊÔ¹ý³ÌÖУ¬Console»á¶¯Ì¬ÏÔʾ¼òµ¥µÄͳ¼ÆÐÅÏ¢¡£ÁíÍ⣬plug-inºÍ¸ß¼¶²âÊԽű¾¿ÉÒÔÌṩ¶îÍâµÄÊý¾Ýͳ¼Æ£¬ÀýÈ磺HTTP plug-in Ìí¼ÓÁ˶ÔresponseÏûÏ¢ÌåµÄÄÚÈݳ¤¶Èͳ¼Æ¡£

ÿ¸ö²âÊÔÓÐÁ½ÖÖ¿ÉÄܽá¹û£º

Success.

Error.

ÆäÖÐTotal, Mean, ÒÔ¼° Standard Deviation ¶¼ÊÇ»ùÓڳɹ¦µÄ²âÊÔ½øÐмÆËãµÄ¡£

ÈçºÎÆô¶¯ Grinder¿ªÊ¼²âÊÔ?

Æô¶¯Grinder½øÐвâÊÔ°üÀ¨ÒÔϲ½Ö裺

´´½¨ grinder.properties Îļþ.

¸ÃÎļþÖ¸¶¨Ò»°ãµÄ¿ØÖÆÐÅÏ¢£¨ÀýÈ磺worker processÈçºÎÓëconsoleͨÐÅ£¬Ê¹ÓõÄworker processÊýµÈ£©£¬ÒÔ¼°ÒªÖ´ÐеÄJython²âÊԽű¾¡£

ÉèÖÃϵͳ»·¾³±äÁ¿£º CLASSPATH °üº¬ grinder.jar Îļþ£¬ ¸ÃÎļþÓ¦¸ÃÔÚ lib Îļþ¼ÐÏ¡£

ÔÚÆäÖÐÒ»¸ö²âÊÔ»úÉÏÆô¶¯ console :

java net.grinder.Console

¶Ôÿһ¸ö²âÊÔ»ú£¬Ö´Ðв½Öè1ºÍ²½Öè2£¬È»ºóÆô¶¯Ò»¸öagent process:

java net.grinder.Grinder

agent½«»áÔÚ±¾µØÎļþ¼ÐÖÐѰÕÒgrinder.propertiesÎļþ¡£

Jython½Å±¾Í¨³£´æ·ÅÔÚpropertiesÎļþͬ¼¶Ä¿Â¼Ï¡£

ÁíÍ⣬¿ÉÒÔͨ¹ý²ÎÊýµÄ·½Ê½Ã÷È·Ö¸¶¨propertiesÎļþ£¬ÀýÈ磺

java net.grinder.Grinder myproperties

Note

Èç¹û¶Ôconsole±È½ÏÊìϤ£¬¿ÉÒÔͨ¹ýconsoleÀ´±à¼­ÒÔ¼°·Ö·¢propertiesÎļþºÍ²âÊԽű¾£¬ÕâÑù¾Í²»±Ø½«ËûÃǷֱ𿽱´µ½Ã¿¸ö²âÊÔ»úÉÏ¡£

ÏÂÃæµÄһЩ½Å±¾ÊÇÔÚUnix/Linux Ï£¬ÓÃÀ´Æô¶¯grinder agents, console ºÍ Â¼ÖÆHTTP½Å±¾µÄTCPProxy¡£

Windows
setGrinderEnv.cmd:
¡¤ set GRINDERPATH=(full path to grinder install directory)
¡¤ set GRINDERPROPERTIES=(full path to grinder.properties)\grinder.properties
¡¤ set CLASSPATH=%GRINDERPATH%\lib\grinder.jar;%CLASSPATH%
¡¤ set JAVA_HOME=(full path to java install directory)
¡¤ PATH=%JAVA_HOME%\bin;%PATH%
startAgent.cmd:
¡¤ call (path to setGrinderEnv.cmd)\setGrinderEnv.cmd
¡¤ echo %CLASSPATH%
¡¤ java -cp %CLASSPATH% net.grinder.Grinder %GRINDERPROPERTIES%
startConsole.cmd:
¡¤ call (path to setGrinderEnv.cmd)\setGrinderEnv.cmd
¡¤ java -cp %CLASSPATH% net.grinder.Console
startProxy.cmd:
¡¤ call (path to setGrinderEnv.cmd)\setGrinderEnv.cmd
¡¤ java -cp %CLASSPATH% net.grinder.TCPProxy -console -http > grinder.py
Unix
setGrinderEnv.sh:
¡¤ #!/usr/bin/ksh
¡¤ GRINDERPATH=(full path to grinder install directory)
¡¤ GRINDERPROPERTIES=(full path to grinder.properties)/grinder.properties
¡¤ CLASSPATH=$GRINDERPATH/lib/grinder.jar:$CLASSPATH
¡¤ JAVA_HOME=(full path to java install directory)
¡¤ PATH=$JAVA_HOME/bin:$PATH
¡¤ export CLASSPATH PATH GRINDERPROPERTIES
startAgent.sh:
¡¤ #!/usr/bin/ksh
¡¤ . (path to setGrinderEnv.sh)/setGrinderEnv.sh
¡¤ java -cp $CLASSPATH net.grinder.Grinder $GRINDERPROPERTIES
startConsole.sh:
¡¤ #!/usr/bin/ksh
¡¤ . (path to setGrinderEnv.sh)/setGrinderEnv.sh
¡¤ java -cp $CLASSPATH net.grinder.Console
startProxy.sh:
¡¤ #!/usr/bin/ksh
¡¤ . (path to setGrinderEnv.sh)/setGrinderEnv.sh
¡¤ java -cp $CLASSPATH net.grinder.TCPProxy -console -http > grinder.py
   
4828 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

΢·þÎñ²âÊÔÖ®µ¥Ôª²âÊÔ
һƪͼÎÄ´øÄãÁ˽â°×ºÐ²âÊÔÓÃÀýÉè¼Æ·½·¨
È«ÃæµÄÖÊÁ¿±£ÕÏÌåϵ֮»Ø¹é²âÊÔ²ßÂÔ
È˹¤ÖÇÄÜ×Ô¶¯»¯²âÊÔ̽Ë÷
Ïà¹ØÎĵµ

×Ô¶¯»¯½Ó¿Ú²âÊÔʵ¼ù֮·
jenkins³ÖÐø¼¯³É²âÊÔ
ÐÔÄܲâÊÔÕï¶Ï·ÖÎöÓëÓÅ»¯
ÐÔÄܲâÊÔʵÀý
Ïà¹Ø¿Î³Ì

³ÖÐø¼¯³É²âÊÔ×î¼Ñʵ¼ù
×Ô¶¯»¯²âÊÔÌåϵ½¨ÉèÓë×î¼Ñʵ¼ù
²âÊԼܹ¹µÄ¹¹½¨ÓëÓ¦ÓÃʵ¼ù
DevOpsʱ´úµÄ²âÊÔ¼¼ÊõÓë×î¼Ñʵ¼ù
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

LoadRunnerÐÔÄܲâÊÔ»ù´¡
Èí¼þ²âÊÔ½á¹û·ÖÎöºÍÖÊÁ¿±¨¸æ
ÃæÏò¶ÔÏóÈí¼þ²âÊÔ¼¼ÊõÑо¿
Éè¼Æ²âÊÔÓÃÀýµÄËÄÌõÔ­Ôò
¹¦ÄܲâÊÔÖйÊÕÏÄ£Ð͵Ľ¨Á¢
ÐÔÄܲâÊÔ×ÛÊö


ÐÔÄܲâÊÔ·½·¨Óë¼¼Êõ
²âÊÔ¹ý³ÌÓëÍŶӹÜÀí
LoadRunner½øÐÐÐÔÄܲâÊÔ
WEBÓ¦ÓõÄÈí¼þ²âÊÔ
ÊÖ»úÈí¼þ²âÊÔ
°×ºÐ²âÊÔ·½·¨Óë¼¼Êõ


ij²©²ÊÐÐÒµ Êý¾Ý¿â×Ô¶¯»¯²âÊÔ
IT·þÎñÉÌ Web°²È«²âÊÔ
IT·þÎñÉÌ ×Ô¶¯»¯²âÊÔ¿ò¼Ü
º£º½¹É·Ý µ¥Ôª²âÊÔ¡¢Öع¹
²âÊÔÐèÇó·ÖÎöÓë²âÊÔÓÃÀý·ÖÎö
»¥ÁªÍøweb²âÊÔ·½·¨Óëʵ¼ù
»ùÓÚSeleniumµÄWeb×Ô¶¯»¯²âÊÔ