最后還是決定做個動態腳本,麻煩一時,舒服一世,哈哈……
xmzzAccept()
{
int a,b,c;//循環變量
int numTotal;//項目總數
int numPage; //項目所占的頁碼數
char TempEntryID[40],TempBatchID[40];//臨時存儲項目ID
numTotal = 45;//運行時需要根據需要上傳的項目數量,輸入numTotal值即可
numPage = numTotal/15;//每頁顯示15個項目,取整
for ( a = 0 ; a < numPage ; a ++ ) {//按頁碼數循環,每個頁碼循環一次
web_reg_save_param("entryIDs");//下級任務處理不是直接用的項目ID
lr_save_int(a + 1, "aValue1");//頁碼號
lr_save_int(a * 15 + 1, "aValue2");//首編號
//直接從頁面上的鏈接進入項目列表,用普通方法錄制生成LR腳本返回里沒有項目ID,用翻頁取代之
web_submit_data("翻頁");//翻頁就可以讀出很多項目的ID信息
for ( b = 0 ; b < atoi(lr_eval_string ("{entryIDs_count}")) ; b ++ ) {//按頁面上項目數量循環,一個項目循環一次
sprintf( TempEntryID,"{entryIDs_%d}",b + 1 );//挨個把數組值取出來
lr_save_string( lr_eval_string(TempEntryID),"entryID" );//為了讀取參數數組中的值
web_reg_save_param("batchIDs");//依次將數組變量(任務ID)取出來
web_url("展開項目");
//展開項目,可以獲取所有項目的ID和待辦任務的ID
for ( c = 0 ; c < atoi(lr_eval_string ("{batchIDs_count}")) ; c ++ ) {//按待辦任務循環,一個任務循環一次
sprintf( TempBatchID,"{batchIDs_%d}",c + 1 );//按待辦任務循環,一個任務循環一次
lr_save_string( lr_eval_string(TempBatchID),"batchID" );//為了讀取參數數組中的值
web_reg_save_param("taskID");//依次將數組變量(項目ID)取出來
web_url("展開項目");
//batchID在展開項目可以獲取,taskID每個任務只有一個,而且在源碼中必須知道batchID才能獲取到taskID
//所以在這里用了兩次展開項目的功能,處理方面和batchID也不同。
web_reg_save_param("tokenValue");//臨時動態窗口ID
web_url("點接收");//彈出審批任務窗口
web_url("確定前交互");//點確認審批前生成的一個腳本
web_submit_data("確定接收"); //審批同意后提交的數據
}
}
}
return 0;
}
思路就在這里了,這個流程里類似(BCEFG)都可以用這個腳本完成,框架不變,只把里面請求修改一下就OK了。
剩下的A和D,A比上述更簡單,D要更復雜一點,但思路是一樣的。
文章來源于領測軟件測試網 http://www.kjueaiud.com/