qtp提供三種引數傳遞方式:
parameter
environment
datatable
parameter 函式傳遞引數
如:分別建立兩個同級別 action
outputact:將引數傳遞出來
inputact :獲取 ouputact 傳遞出來的引數
在兩個 action 中設定輸出與輸入引數。
在關鍵字試圖中,選擇滑鼠右鍵,[操作屬性] 如下圖:
在 outputact 的 action 中設定輸出引數,設定引數名為 str
在 inputact 的 action 中設定輸入引數,設定引數名為 str
在 outputact 的 action 中需要對引數賦值:
parameter("str") = "tester"
在 inputact 的 action 中獲取引數的值:
temp = parameter("str")
msgbox temp
引數中轉
雖然在 outputact 與 inputact 中設定了輸出與輸入引數的過程,但執行起來仍然無法進行引數傳遞,需要乙個中間過程進行儲存引數。建立乙個變數進行引數傳遞, 在qtp中建立乙個新的 action ,然後排程進行引數傳遞, runaction 用途是執行乙個 action
dim vars
'執行 outputact action,然後把引數輸出的值儲存到 vars 變數中
runaction "action1" , oneiteration , vars
'執行 inputact action,然後將 vars 中的值傳遞給 inputact
runaction "action2" , oneiteration , vars
注意:在測試該小段指令碼時,將測試流程中原先建立的outputact 和inputact 刪掉,要不會等於執行每個action執行2次,其中一次是獲取不到值的。
environment 函式傳遞引數
採取 environment 進行 action 的引數傳遞更加簡潔
在 outputact 的 action 中進行引數賦值
environment("str") = "tester"
這語句完成兩個過程
在環境變數中建立乙個新的變數,名字叫 str
對這個新的變數進行賦值操作
在 inputact 的action 中獲取環境變數
temp = environment("str")
msgbox temp
datatable 傳遞引數在datatable 中的 global sheet 中建立乙個新的字段,命名為 str
在涉及到不同的 action 的引數傳遞,最好將引數設定到 global sheet 中。
設定與獲取引數
在 outputact 中進行引數的賦值操作
datatable("str" , dtglobalsheet).value = "tester"
在 inputact 中進行取值操作
temp = datatable("str" , dtglobalsheet).value
msgbox temp
總結
三種模式進行引數傳遞的相同點:
都提供了乙個引數儲存的策略。
都提供了相對應的公共介面來進行引數傳遞的過程。
三種模式進行引數傳遞的差異:
引數有效性範圍
parameter:只能適用與引數定義的 aciton 使用,不能在其他的 action 中進行呼叫,引數命名也只要在本 action 中不重複即可。
environment:定義的變數適用於整個指令碼,即任何乙個 action 都可以呼叫,所以在指令碼內變數不能夠重複。
datatable:適用於整個指令碼,而且通過 sheet 的型別(global、local)作為乙個變數的邏輯範圍約定,在同乙個sheet中引數命名不能夠重複。
引數的型別
parameter 和 environment :無法進行陣列引數的傳遞。
datatable:可通過多行資料的模式來替代資料的模式進行引數傳遞。
引數**
environment :可以由其他指令碼進行修改或者呼叫,可以在不同的 run session 進行設定或者呼叫。
引數傳遞的三種方式
引數傳遞的三種方式 按值傳遞 include using namespace std void swap int a,int b int main 缺點 記憶體開銷很大。對於傳遞一般引數 如果傳遞的參數量過多,例如8000個引數,則需要在棧中複製8000個引數傳遞過去,棧只有2m的空間,這樣的話棧的...
c 引數傳遞的三種方式
在 資料結構與演算法分析 c 描述 第16頁提到了c 中三種不同的引數傳遞方式,分別是 1 按常量引用呼叫 call by constant reference 2 按值呼叫 3 引址呼叫 call by reference 上網查了下資料之後 我還是覺得分成這樣三種更便於理解 1 按值呼叫 形如 ...
函式引數傳遞的三種方式
問題及 1 檔名稱 my first blog.cpp 作 者 林志文 完成日期 2016年9月5日 版 本 號 v1.0 問題描述 交換兩個整型變數的swap函式的三個版本 輸入描述 兩個整數 程式輸出 交換後的兩個整數 includevoid myswap int p1,int p2 void ...