【功能說明】
AutoTest元件用於Client端,用來自動對表單來新增記錄,也就是執行Client端表單的自動化壓力測試,目的是為了能模擬多少用戶同時上線,並以真實的亂數對A/P Server實際進行壓力負荷,並記錄所有反應時間,以瞭解系統所能承受的壓力範圍。本元件必須配合EEPNetAutoRun使用可以達到測試EEP2008性能的目的。
【元件屬性】
Name(名稱)(string)
元件名稱,用於識別該元件。
InfoBindingSorce(資料源)(InfoBindingSource)
選擇AutoTest需要綁定的infoBindingSouce,於真正在EEPNetAutoRun執行時,會自動Insert資料到此BindingSource中。
KeyField(Detail關鍵欄位)(string)
如果infoBindingSorce選擇的是Detail,那麼KeyField必須設定為Master的關聯主鍵以外的另一個主鍵。
Log(Log檔案)(string)
設定一個記錄Log資訊的txt檔。
ParentAutoTest(上層AutoTest)(AutoTest)
如果AutoTest的infoBindingSorce綁定的是Detail,請選擇它所對應的Master所綁定的AutoTest。(Master/Detail必須各有AutoTest元件,並將Detail的AutoTest.ParentAutoTest指向Master的AutoTest元件)。
RecordTime(資料事件)(int32)
設置Insert兩筆資料之間的間隔時間,只對Detail有效。
IsFlowClient(是否是WorkFlow的Client)(bool)
如果是WorkFlow的Client的話,請設定為True,否則為False。
Rows(新增記錄數)(int32)
選擇一次需要增加的記錄數,Master只能設為1,Detai可以自行設定。Master所要增加的記錄數是由EEPNetAutoRun來決定。
Columns(欄位明細)(collection)
用於設定每筆新增記錄的內容,其中包括:
ColumnName(欄位名稱)(string):選擇新增資料的欄位名稱。
ValueMode(新增值模式)(emun):選擇欄位自動給值的內容模式:
Sequence(流水碼):會自動依目前用戶的用戶ID+自動編號。注意:Master的主鍵必須選擇此模式。此種方式適用於主鍵值欄位。
Fixed(固定值):將此Value中的值直接新增到所選
擇的欄位中。
Random(隨機值):隨機值。隨機的範圍從Value到RadomTo。如果AutoTest綁定的是Detail時,那麼與Master主鍵名稱相同的主鍵之外的另一個主鍵必須設定為Random,並且隨機的範圍必須大於Detail所要新增的筆數。
RefRandom(隨機參考值):從另外一個設定的Table
中,隨機選取RefVal所選擇的InfoRefVal關聯資料
中的一條記錄,並把對應的欄位值新增到所設定的
欄位中。
另如果AutoTest的infoBindingSorce綁定的是Detail,那麼Detail中和Master的主鍵名稱相同的主鍵,必須添加到Columns中,其插入模式可以不必設定。
Value(內容值)(string):在ValueMode為Fixed時,以此值
來決定欄位的內容值,如為Random時,則以此作為隨機的
起始值。
RandomTo(隨機最大值)(sting):在ValueMode為Random
時,此Value到RandomTo做為隨機的範圍值。
RefVal(參考值)(RefVal):當ValueMode為RefRandom時,
以此設定此對應的RefVal元件名稱。
ClickControl(自動點選元件)(string)
可選擇表單中的一個Button或者InfoNavigate中的ToolStripItem,在畫面啟動時,被選擇的Button或ToolStripItem會被自動執行一次,此目的可以用來啟動自定的自動化程序。
【事件】
此元件無事件。
【功能函數】
ExcuteTest(int
Times, int Interval, string package)
一般AutoTest這個元件是透過EEPNetAutoRun.EXE來啟動執行的,但為了單元TEST,也可以單獨使用,就是以本Method來執行,會自動往資料表中添加資料。Times為所要新增資料的筆數,Interval為每筆新增資料中間的間隔時間(單位是毫秒),package是此表單的Module的名稱,為了讓AutoTest元件知道此模組名稱以便記錄到Log檔案中。
例:
int Times = 1000; // Insert 1000筆
int Interval = 100; // 每隔0.1秒增加一筆.
String package = “CTest”;
ExceteTest(Times, Interval, package);