LoadRunner函式詳解之web_submit_data
定義:處理無狀態或者上下文無關的表單提交。它用來生成表單的GET或POST請求,這些請求與Form自動生成的請求是一樣的,傳送這些請求時不需要表單上下文。
函式形式:web_submit_data( const char *StepName, const char *Action, , ITEMDATA, , [ EXTRARES, ,] LAST );
說明:
當VuGen設為基於URL的錄製模式,或者基於HTML的錄製方式時,但 Recording Options—HTML Advanced下的A script containing explicit URLs only選項被選中時,web_submmit_data函式才會被錄製。
不論採用URL查詢的方式(GET),還是採用請求體傳送(POST)的方式,此函式都指示出Form中的資料是如何傳送到伺服器的。
如果VuGen處於HTTP錄製模式下,此時記錄Web程序時,會產生此函式。在提交Form時,如果無法生成web_submit_form函式,VuGen也會生成web_submit_data函式。
在錄製選項中,Toos—Recording Option下—Recording選項中,有一個Advanced HTML選項,可以設定是否錄製非HTML資源。只有選擇了“Record within the current script step”時,List of Resource Attributes才會被錄製到。非HTML資源(如:gif和jpg等圖象檔案)。
任何對於“EncType”的指定都會覆蓋web_add_[auto_]header函式指定的Content-Type。當省略了“EncType”時,任何一個web_add_[auto_]header函式都會起作用。如果既沒有指定EncType也沒有web_add_[auto_]header函式,且“Method=POST”,“application/x-www-form-urlencoded”會作為預設值來使用。其他情況下,不會產生Content-Type請求頭。
ContentType:檔案型別識別符號,如果“EncType”是“multipart/form-data”用來上傳檔案時,需要用到“ContentType”。當在ITEMDATA中的Data子句中指定了“File=Yes”,且檔案也在此子句中,ContentType才適用,此時它會作為同一個子句的值來傳遞。正常情況下,“Content-Type”根據所上傳檔案的副檔名自動生成。如:
7d025e2b16b064e\r\n Content–Disposition: form–data; name="uploaded_file"; filename="D:\\temp\\a.txt"\r\n Content–Type: text/plain\r\n \r\n
“ContentType”如果指定了空值,那麼“Content-Type”頭將不包含在檔案中。如果沒有顯示的指定“ContentType”的值,當上傳的檔案為空時,不管副檔名是什麼,都預設使用“application/x-unknown-content-type”做為”ContentType”的值。VuGen不會檢查指定的ContentType是否有效。
通常情況下,如果錄製了web_submit_data函式,VuGen會把“name”和“value”一起錄製到ITEMDATA一節中。如果不想在指令碼中以明文顯示“value”,可以對它進行加密。把“Value”改為“EncryptedValue”,然後把錄製到的值改為加密後的值。請參考web_submit_form中相關的內容。
示例1:一般的表單提交
web_submit_data("default.aspx",
"Action=http://lazarus/flightnet/default.aspx",
"Method=POST",
"TargetFrame=",
"RecContentType=text/html",
"Referer=http://lazarus/flightnet/",
"Snapshot=t7.inf",
"Mode=HTML",
ITEMDATA,
"Name=grpType", "Value=radRoundtrip", ENDITEM,
"Name=lstDepartingCity", "Value=DEN", ENDITEM,
"Name=lstDestinationCity", "Value=LAX", ENDITEM,
"Name=txtDepartureDate", "Value=8/19/2003", ENDITEM,
"Name=txtReturnDate", "Value=8/19/2003", ENDITEM,
"Name=txtQuantity", "Value=1", ENDITEM,
"Name=radClass", "Value=1", ENDITEM,
"Name=radSeat", "Value=1", ENDITEM,
"Name=btnAvailableFlights", "Value=Next >", ENDITEM,
LAST );
示例2:web_submit_data使用POST方法提交兩個檔案
web_submit_data("Attachments",
"Action=http://[email protected]/Attachments?YY=45434",
"Method=POST",
"EncType=multipart/form–data",
"TargetFrame=",
"RecContentType=text/html",
"Referer=http:///[email protected]/Compose?YY=20435",
"Snapshot=t5.inf",
"Mode=HTML",
ITEMDATA,
"Name=userFile0",
"Value=E:\\sense_sensibility\\Elinor.htm",
"File=yes",
"ContentType=text/html", // Override default "text/plain" for .txt files
FilePath=Elinor.txt",
"ContentTransferEncoding=html/text",
ENDITEM,
"Name=userFile1",
"Value=E:\\sense_sensibility\\Marianne.jpg",
"File=yes",
ENDITEM,
LAST );
注:表單中enctype="multipart/form-data"的意思是設定表單的MIME編碼。預設情況,這個編碼格式是application/x-www-form-urlencoded,不能用於檔案上傳;只有使用了multipart/form-data,才能完整的傳遞檔案資料,進行下面的操作。
enctype="multipart/form-data"是上傳二進位制資料; form裡面的input的值以2進位制的方式傳過去。
相關推薦
LoadRunner函式詳解之web_submit_data
定義:處理無狀態或者上下文無關的表單提交。它用來生成表單的GET或POST請求,這些請求與Form自動生成的請求是一樣的,傳送這些請求時不需要表單上下文。 函式形式:web_submit_data(
LoadRunner函式詳解之web_reg_save_param_ex
定義:將請求的動態資料資訊儲存到一個引數 函式形式:web_reg_save_param_ex( const char *ParamName, [const char *LB, ][const cha
JS之函式詳解
1、定義 函式也是一個物件;它是可以重複執行的程式碼塊;是可以完成特定功能的一段程式碼;使用typeof檢查一個函式物件時,會返回function。 2、作用 因為一部分程式碼使用次數可能會很多,所以封裝起來,需要的時候呼叫就可以了。這樣做可以將複雜的事情簡單化 ,將重複使用的程式碼進行
Matlab之graythresh()函式詳解
1 函式簡介 函式功能:使用 最大類間方差法找到圖片的一個合適的閾值(threshold)。在使用 im2bw函式將灰度影象轉換為二值影象時,需要設定一個閾值,這個函式可以幫助我們獲得一個合適的閾值。利用這個閾值通常比人為設定的閾值能更好地把一張灰度影象轉換為二值影象
Linux I/O複用之select函式詳解
置頂 2017年02月12日 20:50:08 難免有錯_ 閱讀數:7438更多 select函式的功能和呼叫順序 使用select函式時統一監視多個檔案描述符的: 1、 是否存在套接字接收資料? 2、 無需阻塞傳輸資料的套接字有哪些? 3、 哪些套接字發生了
Spark函式詳解系列之RDD基本轉換
摘要: RDD:彈性分散式資料集,是一種特殊集合 ‚ 支援多種來源 ‚ 有容錯機制 ‚ 可以被快取 ‚ 支援並行操作,一個RDD代表一個分割槽裡的資料集 RDD有兩種操作運算元: Transformation(轉換):Transformation屬於延遲計
Spark函式詳解系列之RDD基本轉換+例項
RDD:彈性分散式資料集,是一種特殊集合 ‚ 支援多種來源 ‚ 有容錯機制 ‚ 可以被快取 ‚ 支援並行操作,一個RDD代表一個分割槽裡的資料集 RDD有兩種操作運算元: &nbs
Android NDK——必知必會之JNI的C++操作函式詳解和小結(三)
引言 上一篇講解了一些關於JNI和NDK的必知必會的理論知識和機制,由於篇幅問題把關於JNI的重要的函式放到這篇,具體使用留到下一篇,此係列文章基連結: 一、JNI中的函式概述 在JNI層我們基本上都是通過env指標來呼叫jni.h標頭檔案裡定義的函式,JNI
oracle之percent_rank() over()函式和PERCENTILE_CONT() within group()over()函式詳解
建立一個臨時表 create table EMP ( EMPNO NUMBER(4) not null, ENAME VARCHAR2(10), JOB VARCHAR2(9), MGR NUMBER(4), HIREDATE DATE, SAL
【數字的視覺化:python畫圖之散點圖sactter函式詳解】
最近開始學習python程式設計,遇到scatter函式,感覺裡面的引數不知道什麼意思於是查資料,最後總結如下: 1、scatter函式原型 2、其中散點的形狀引數marker如下: 3、其中顏色引數c如下: 4、基本的使用方法如下: #匯入必要的模組 import
【OpenCV3影象處理】Mat類詳解 之 元素的獲取與賦值 ( 對比.at<>()函式 和 .ptr<>()函式)
Mat中畫素的獲取與賦值 計算機視覺中,影象的讀取是影象處理的基礎,影象就是一系列畫素值,OpenCV使用資料結構cv::Mat來儲存影象。cv::Mat是一個矩陣類,矩陣中每一個元素都代表一個畫素,對於灰度影象,畫素用8位無符號數,0表示黑色,255表示白色。對於彩色
C++繼承詳解之二——派生類成員函式詳解(函式隱藏、建構函式與相容覆蓋規則)
在這一篇文章開始之前,我先解決一個問題。 在上一篇C++繼承詳解之一——初探繼承中,我提到了在派生類中可以定義一個與基類成員函式同名的函式,這樣派生類中的函式就會覆蓋掉基類的成員函式。 在譚浩強的C++程式設計這本書第十一章,351頁最下面有這麼
python畫圖之散點圖sactter函式詳解,基本雜湊點繪製
原文地址:http://blog.csdn.net/u013634684/article/details/49646311 http://blog.csdn.net/abcjennifer/article/details/19848269 http://blog.csdn.
Python---round函式四捨五入詳解之python2與python3版本間區別
round()方法返回 數值 的小數點四捨五入到n個數字。 語法 以下是round()方法的語法: round( x [, n] ) 引數 x --這是一個數值,表示需要格式化的數值 n --這也是一個數值,表示小數點後保留多少位 返回值 該方法返回 數值x 的小數點四捨五入
ORACLE函式之GREATEST函式詳解例項
1語法GREATEST(expr_1, expr_2, ...expr_n)2說明GREATEST(expr_1, expr_2, ...expr_n)函式從表示式(列、常量、計算值)expr_1, e
Loadrunner關於頁面檢查的幾個函式詳解
環境:51Testing軟體測試網]~d$s7C_Loadrunner版本:8.0h3o B4xH.^'| V7QV247706自建一個test.html檔案:51Testing軟體測試網L+/,@+|(TX7p<html>51Testing軟體測試網$l]7QF
LoadRunner檔案操作函式詳解
涉及的函式彙總: 檔案的開啟操作 fopen 開啟一個檔案 檔案的關閉操作 fclose 關閉一個檔案 檔案的讀寫操作 fgetc 從檔案中讀取一個字元 fputc 寫一個字元到檔案中去
loadrunner關聯函式詳解
1.什麼值需要關聯?客戶端的某個請求是隨著伺服器端的相應而動態變化的值,則需要關聯。2.web_reg_sava_param舉例:web_reg_save_param("jws_session","LB=JWS_SESSION=\"","RB=\"",LAST);解釋:jws
mysql之group_concat函式詳解:將相同的行組合起來
函式作用: 當SQL語句中使用到....group by....的時候, 該函式能夠將相同的行組合起來。 函式語法: group_concat( [DISTINCT] 要連線的欄位 [Order BY排序欄位ASC/DESC] [Separator '分隔符'
TCP/IP程式設計之connect函式詳解
函式原型: CONNECT(2) Linux Programmer's Manual CONNECT(2) NAME connect - initiate a connection on a