android UiAutomator讓運行失敗的用例從新運行

本人在使用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

往期文章精選

  1. java一行代碼打印心形
  2. Linux性能監控軟件netdata中文漢化版
  3. 接口測試代碼覆蓋率(jacoco)方案分享
  4. 性能測試框架
  5. 如何在Linux命令行界面愉快進行性能測試
  6. 圖解HTTP腦圖
  7. 寫給全部人的編程思惟
  8. 如何測試機率型業務接口
  9. httpclient處理多用戶同時在線
  10. 成爲傑出Java開發人員的10個步驟
  11. 將swagger文檔自動變成測試代碼

公衆號地圖 ☢️ 一塊兒來~FunTester

相關文章
相關標籤/搜索