『壹』 協議軟體跟腳本的區別
三者區別如下:
軟體指按照特定順序組織的計算機數據和指令的集合,即成品,例如QQ和微信。
腳本是使用一種特定的描述性語言,依據一定的格式編寫的可執行文件,是程序的一部分,有可能是方法中的一行或者幾行代碼。
協議,網路協議的簡稱,網路協議是通信計算機雙方必須共同遵從的一組約定。如怎麼樣建立連接、怎麼樣互相識別等。只有遵守這個約定,計算機之間才能相互通信交流。它的三要素是:語法、語義、時序。
『貳』 自動化測試實例二:腳本開發(上)
完成測試用例後就可以開發測試腳本,一般包括自動化測試框架的開發和功能腳本的開發。在本節中不介紹如何開發自動化測試框架,有興趣的讀者可以參考《 QTP 自動化測試與框架模型設計 》一書中第 19 章和第 20 章的自動化測試框架的內容。本章介紹該實例中需要調用到的函數。
(1)公用函數封裝。
在本實例中需要封裝的函數主要包括: 讀取測試用例、輸入每個測試用例的測試結果。
通過獲取單元格中數據的行數,可以確定測試用例文檔中有多少條測試用例, 代碼如下:
讀取單元格中的數據,即獲得測試用例值, 代碼如下:
在該實例中還需要記錄每個測試用例執行的結果, 封裝的代碼如下:
由於在本實例中需要連接資料庫,檢查資料庫中的數據是否正確,所以將連接資料庫的代碼進行封裝, 代碼如下:
(2)單一模式腳本開發。
自動化測試腳本開發完成後,開始錄制腳本,這個階段主要是將自動化測試的需求轉換為一個簡單的腳本。
1)錄制登錄過程的腳本如下:
2)錄制訂票流程的腳本如下:
3)錄制航班信息的腳本如下:
4)錄制查詢訂票信息的腳本如下:
(3)腳本增強。
錄制好的單一模式腳本的功能很弱,只完成了一個簡單的功能,不具備可擴展性,無法兼容不同的測試數據,所以需要對上面的腳本進行增強。在錄制單一模式的腳本時,其實有一個功能是通用的,就是登錄功能,每個操作的功能都需要先登錄系統,所以可將一個正確登錄的腳本封裝成一個過程,這樣可以節約腳本量,也便於維護腳本。在封裝登錄過程時,需要使用到描述性編程, 封裝的代碼如下:
接著對登錄的腳本進行增強操作,增強的原因是腳本需要能正確處理當輸入用戶名或密碼出錯的情況。 主要需要處理的情況有: 輸入的用戶名為空、輸入的用戶名少於 4 個字元、輸入的密碼為空、輸入的密碼少於 4 個字元。 登錄功能增強後的腳本如下:
訂票流程腳本的增強主要需要處理訂票日期未輸入和輸入錯誤的情況, 訂票流程功能增強後的腳本如下:
航班信息查詢腳本的增強主要是需要檢查當選擇出發城市和到達城市後,顯示出來的航班信息是否正確,腳本增強時需要獲取所有航班信息。 增強後的腳本如下:
查詢訂票信息腳本增強主要是需要檢查該航班號是否存在,如果航班號不存在,會彈出相應的對應信息;如果查詢的訂單號存在,就會顯示出該訂單的相關信息。 增強後的腳本如下:
『叄』 腳本語言在WEB開發時的作用主要是什麼
作用很多,比如:調用一些函數,一些動作。
『肆』 c語言報文轉發腳本怎麼寫
簡單的Socket協議腳本的編寫方法。
1.socket協議介紹
Socket協議有萬能協議之稱,很多系統底層都是用的socket協議,用處十分廣泛。
1.1 Socket通訊方式說明
與socket通訊有兩種方式,一種是建立長連接,建立後不停的發送,接收;另一種是建立短連接,即建立連接發送報文,接收報文關閉連接
1.2 Socket協議發送的buf類型介紹
Send buffer類型分為字元串和xml類型
1.3 Socket協議腳本編寫前提:
與項目組溝通,確認是否是socket協議,由項目組提供伺服器IP和埠號還有socket協議交易的報文發送及接收報文對,及交易介面文檔,了解清楚報文的數據長度,參數化欄位,結構,代表什麼等,了解清楚後進行socket協議腳本的開發。
1.4、Socket協議腳本函數說明及實例:
1)名稱 lrs_create_socket();
創建socket連接,添加IP和埠號,如果創建成功返回值為0,反之則返回為非0數值。(對於長連接,建立socket連接放在vuser_init函數中,短連接放在Action中即可) 實例: lrs_create_socket("socket0","TCP","RemoteHost=180.170.150.230:7700", LrsLastArg);
2)名稱 lrs_send();
發送socket請求消息,取緩沖區buf0的報文並發送。
實例: lrs_send("socket0","buf1",LrsLastArg);
3)名稱 lrs_receive();
接收socket的響應報文,放置buf1中。
實例:lrs_receive("socket0","buf2",LrsLastArg);
4)名稱 lrs_get_last_received_buffer();
獲取最後收到的buffer和大小,其中將最後收到的buffer的值賦給RecvBuf變數,將大小賦值給RecvLen。
實例: lrs_get_last_received_buffer("socket0",&recvBuf,&recvLen);
5)名稱 lrs_free_buffer();
為防止內存泄露,釋放內存空間。
實例: lrs_free_buffer(recvBuf);
6)名稱 lrs_close_socket();
關閉Socket連接,(對於長連接,關閉socket連接應放在vuser_end函數中)
實例: lrs_close_socket("socket0");
其他常用的Socket函數:
lrs_set_send_buffer("socket0", sSendPkg, iLenOfPkg );//指定要發送的socket信息
lrs_get_buffer_by_name("buf0", sSendPkg, iLenOfPkg);// 獲取收到的buffer和大小
lrs_length_send("socket0","buf0",1,"Size=4","Encoding=1",LrsLastArg);
關聯函數:
lrs_save_param_ex("socket0","received","",151,7,"ascii","response");//取指定位置字元串保存到變數,以便判斷事務是否成功
lrs_save_searched_string();//在指定位置搜索字元串,將出現的字元串報錯到參數中
超時函數
lrs_set_connect_timeout();//設置連接超時時間
lrs_set_recv_timeout();//設置伺服器響應超時時間
lrs_set_recv_timeout2();//設置接收