本人在使用android UiAutomator作測試的時候,發現常常會由於頁面加載太慢或者網絡延遲比較大又或者出現意外狀況致使用例失敗,可是在檢查的時候又能運行成功,提出了一個讓失敗的用例從新運行的需求,通過嘗試終於成功了,使用excel做爲測試報告的類型,html的相似,下面分享一下運行的代碼,供你們參考。html
List<String[]> firstsheet = new ArrayList<String[]>();//新建list,用於存放每一個測試用例的測試結果 String[] title = {"編號", "用例名", "運行狀態", "錯誤信息", "錯誤行Library", "錯誤行Special", "錯誤行Case", "開始時間", "結束時間"}; firstsheet.add(title);//把標題行先加入表信息 new RunHelper(jarname, "1");//新編譯jar包並push到手機上 setMobileInputMethodToUtf();//設置手機輸入法爲UTF-7 for(int i = 0;i < MethodList.size(); i++){//遍歷運行全部方法 String[] result = execCmdAndReturnResult(jarname, "student.Case", MethodList.get(i), i);//運行測試用例 firstsheet.add(result);//將這次用例的測試結果放入list中 } List<String[]> secondsheet = new ArrayList<String[]>();//新建list,用於存放第二次的測試結果 secondsheet.add(title);//把標題加入表中 //遍歷第一遍測試結果 for(int s =0;s < firstsheet.size();s++){ String[] result = firstsheet.get(s);//遍歷每個用例的運行結果 if (!result[2].equals("運行成功")) {//獲取運行未成功的用例集 String[] second = execCmdAndReturnResult(jarname, "student.Case", result[1], s);//從新運行未成功用例 secondsheet.add(second);//把第二次運行的結果加入了第二張表中 } } Map<Integer, List<String[]>> report = new HashMap<Integer, List<String[]>>();//新建map,用於存放多張表格數據 report.put(1, firstsheet);//把第一個表格的測試數據放入要寫入到map裏 report.put(2, secondsheet);//把第二個表格的測試數據放入要寫入的map裏 Excel.writeXlsx(report);//把測試報告寫入excel表格中
此次的註釋寫得有點亂,你們將就看看,但願能對你有所幫助。java