LoadRunner中錯誤解決辦法(三)
41.問題描述:通過Controler調用遠程代理時報錯,Error: CCI security error:You are running under secure mode and the function system is not allowed in this mode.
解決方法:在代理開啟的時候,去掉勾選防火牆選項。
42.Error -27796:Failed to connect to server "10.102.8.201:80": [10048] Address already in use Try changing the registry value HKEY_LOCAL_MACHINESystemCurrentControlSetServices cpipParametersTcpTimedWaitDelay to 30and HKEY_LOCAL_MACHINESystemCurrentControlSetServices cpipParametersMaxUserPort to 65534 and rebooting the machine See the readme.doc file for more information
解決辦法:因為負載生成器的性能太好,發數據包特別快,伺服器也響應特別快,從而導致負載生成器的機器的埠在沒有timeout之前就全部佔滿了。在全部佔滿後,就會出現上面的錯誤。執行netstat –na命令,可以看到打開了很多埠。所以就調整TCP的time out。即在最後一個埠還沒有用到時,前面已經有埠在釋放了。
1. 打開LoadRunner負載機所在機器的註冊表,將HKEY_LOCAL_MACHINESystemCurrentControlSetServicestcpipParameters項中的TcpTimedWaitDelay值設置為5s或者其它(按需要調整)也可以把MaxUserPort值調大(如果這個值不是最大值的話),同時增加腳本的think time,再重啟機器。
2.取消勾選controller的run-setting-times-browser-browser emulation 「simulate a new user on each iteration」項。
43.Action.c(6): Error -27792: Failed to transmit data to network: [10054] Connection reset by peer
解決辦法:腳本和場景迭代延遲時間設置要相同
44.Files transfer error:C:Documents and SettingsAdministrator.SCMCCLocal SettingsTemprr_YAR.313
etdire測試組生產環境UUC介面uuc_shell綜合場景2
esults
es10.101.11.82_2073.eve Write failure on machine 10.101.11.82. Check the available disk space.All Vusers on this machine will stop running
Error: Failed to write data to the .eve file. Check that the remote host has enough disk space: system error - 磁碟空間不足
Error:Failed returning to the last proper record in the .eve file: "C:Documents and SettingsAdministrator.SCMCCLocal SettingsTemprr_YAR.313
etdire測試組生產環境UUC介面uuc_shell綜合場景2
esults
es10.101.11.82_2073.eve".
解決辦法:壓力機磁碟空間不足造成的。
45.Action.c(38): Error-27492: "HttpSendRequest" failed, Windows error code=12002 and retry limit (0) exceeded for URL
解決辦法:在runtime setting中的preferences- ->options-->http-request connect timeout(sec)的值設為999。
46.Action.c(6): Error-26612: HTTP Status-Code=500 (Internal Server Error) for http://192.168.0.8:10001/logonConsole.do;jsessionid=
解決辦法:造成HTTP-500錯誤如下幾個可能:
1、運行的用戶數過多,對伺服器造成的壓力過大,伺服器無法響應,則報HTTP500錯誤。減小用戶數或者場景持續時間,問題得到解決。
2、該做關聯的地方沒有去做關聯,則報HTTP500錯誤。進行手工或者自動關聯,問題得到解決。
3、錄製時請求的頁面、圖片等,在回放的時候伺服器找不到,則報HTTP500錯誤,若該頁面無關緊要,則可以在腳本中注釋掉,問題將會得到解決。例如:有驗證碼的情況下,儘管測試時已經屏蔽了,但是錄製的時候提交了請求,但回放的時候不存在響應。
4、參數化時的取值有問題,則報HTTP500錯誤。可將參數化列表中的數值,拿到實際應用系統中進行測試,可排除問題。
5、更換了應用伺服器(中間件的更換,如tomcat、websphere、jboss等),還是利用原先錄製的腳本去運行,則很可能報HTTP500錯誤。因為各種應用伺服器處理的機制不一樣,所錄製的腳本也不一樣,解決辦法只有重新錄製腳本。
6、Windows xp2 與ISS組件不兼容,則有可能導致HTTP500錯誤。對ISS組件進行調整後問題解決。
7、系統開發程序寫的有問題,則報HTTP500錯誤。例如有些指針問題沒有處理好的,有空指針情況的存在。修改程序後問題解決。
日誌發現報了很多0ra-01000錯誤,這是oracle達到最大游標參數值,google了下,最大原因可能是JDBC連接沒關閉。最後查找weblogic連接池出了問題,很多連接沒關閉。查找後台
47.Action.c(15): 錯誤-27496: 內部錯誤(呼叫客戶服務): _eStat (7) != LRW_ITEM_STAT_ENUM_UNHANDLED for HandledTask at 048E180C Action.c(56): Error -27995: Requested link ("Text=計劃管理") not found [MsgId: MERR-27995]
解決方法:在IE中的工具—>Internet選項—>高級—>HTML設置中選擇第二個腳本類型。
解決辦法:建議重裝一下LR。這種問題有可能和你安裝有關.dll文件出錯不是說寫的程序就能修改的。
49. Error -10489 : Exception was raised when calling per-thread-terminate function
在用Loadrunner實施性能測試時,採用Goal模式加壓,存在如果持續長時加壓時LoadRunner的Controller會報 Error -10489 : Exception was raised when calling per-thread-terminate function錯誤;
產生原因:
Unlike the earlier Windows versions, Windows 2000 and Windows XP have the default environment set to C:Document and Settings\Local SettingsTemp instead of C:Windows emp. This long path with a space can cause several problems for LoadRunner. To resolve the issue, change to a directory without empty spaces。
解決方法:在C盤(或是其它盤均可以)新建TEMP文件夾(為了後續設置臨時文件準備),右鍵"我的電腦"->高級->環境變數->編輯修改TEMP變數目錄,指身上面新建的目錄,如我的指向C:TEMP->保存即可。
50.Error -27727:Step download timeout (120 seconds)has expired when downloading resource(s). Set the 「Resource Page Timeout is a Warning」 Run-Time Setting to Yes/No to have this message as a warning/error, respectively
解決方法:Run-Time Setting → Internet Protocol →Preferences→Option →Step download timeout(sec)改為32000
A、應用服務參數設置太大導致伺服器的瓶頸
B、頁面中圖片太多
C、在程序處理表的時候檢查欄位太大或多
51.Action.c(16): Error-27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)。
錯誤分析:對於HTTP協議,默認的超時時間是120秒(可以在LoadRunner中修改),客戶端發送一個請求到伺服器端,如果超過120秒伺服器端還沒有返回結果,則出現超時錯誤。
解決辦法:首先在運行環境中對超時進行設置,默認的超時時間可以設置長一些,再設置多次迭代運行,如果還有超時現象,需要在"Runtime Setting">"Internet Protocol:Preferences">"Advanced"區域中設置一個"winlnet replay instead of sockets"選項,再回放是否成功。
52、Action.c(38): Error-27492: "HttpSendRequest" failed, Windows error code=12002 and retry limit (0) exceeded for URL
解決辦法:在runtime setting中的preferences- ->options-->http-request connect timeout(sec)的值設為999。
53、Action.c(81):Continuing after Error -27498: Timed out while processing URL=http://172.18.20.70:7001/workflow/bjtel/leasedline/ querystat/ subOrderQuery.do
錯誤分析:這種錯誤常常是因為並發壓力過大,伺服器端太繁忙,無法及時響應客戶端的請求而造成的,所以這個錯誤是正常現象,是壓力過大造成的。如果壓力很小就出現這個問題,可能是腳本某個地方有錯誤,要仔細查看腳本,提示的錯誤信息會定位某個具體問題發生的位置。
解決辦法:例如上面的錯誤現象問題定位在某個URL上,需要再次運行一下場景,同時在其他機器上訪問此URL。如果不能訪問或時間過長,可能是伺服器或者此應用不能支撐如此之大的負載。分析一下伺服器,最好對其性能進行優化。如果再次運行場景後還有超時現象,就要在各種圖形中分析一下原因,例如可以查看是否伺服器、DNS、網路等方面存在問題。最後,增加一下運行時的超時設置,在"Run-Time Settings">"Internet Protocol:Preferences"中,單擊"options",增加"HTTP-request connect timeout" 或者"HTTP-request receive"的值。
54、用strtok函數分割字元串需要在loadrunner裡面獲得「15」(下面紅色高亮的部分),並做成關聯參數。
//Body response 內容: //OK[8,7,5,15,6,5,0,4,0,3,0,3,2,0,0,0,1用web_reg_save_param取出「8,7,5,15,6,5,0,4,0,3,0,3,2,0,0,0,1」這一段,然後用strtok函數切割出一個個數字,第四個數字就是要找的值
例如:
extern char * strtok(char * string, const char * delimiters ); // Explicit declaration
char separators[] = ",";
char * token;
lr_save_string("1,2,3,4,5,6","str");
token = (char *)strtok(lr_eval_string(""), separators); // Get the first token
if (!token) {
lr_output_message ("No tokens found in string!");
return( -1 );
}
while (token != NULL ) { // While valid tokens are returned
lr_output_message ("%s", token );
token = (char *)strtok(NULL, separators); // Get the next token
}
55、測試RTMP協議應該在LoadRunner選擇什麼協議來錄製?
解決辦法:用flex協議,有這幾個函數可用:
flex_rtmp_connect Connects a client to an RTMP server and sets connection options.
flex_rtmp_disconnect Disconnects a client from an RTMP server.
flex_rtmp_send Sends messages to an RTMP server.
flex_rtmp_receive Receives responses from an RTMP server
Flex can record and replay scripts involving RTMP (Real Time Messaging Protocol). In order to enable RTMP simulation, you must configure the recording options for the Flex protocol.
To enable RTMP:
1 Open the Recording Options dialog box by selecting Tools > Recording Options or clicking the Options button in the Start Recording dialog box.
2 In the Network > Port Mapping node click Options.
3 Set the Send-Receive buffer size threshold to 1500.
※App測試中ios和Android的區別
※松勤軟體自動化測試
TAG:松勤軟體學院 |