Action 引數傳遞的三種方式

2021-05-28 02:18:55 字數 2440 閱讀 7987

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 ...