最后还是决定做个动态脚本,麻烦一时,舒服一世,哈哈……
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要更复杂一点,但思路是一样的。
文章来源于领测软件测试网 https://www.ltesting.net/