做安卓自動化的時候,很多方法寫起來會造成**冗餘,把這部分封裝起來 ,新增到androidui工具類裡,隨時可呼叫
都放在這個類下面:
@component斷開driverpublic class androidui
/*休眠方法時間定義毫秒或秒都行吧,看個人喜好,我這裡為了寫著定義成秒的,系統自帶是毫秒* @method: 斷開driver
*/public void teardown() throws exception
}
上面休眠方法是死的,而元素載入時間不確定的,可以用下面等待找到元素的靈活等待時間
/** @method: 滑動操作
* @param: string direction, right 向右四分之一/left 向左四分之一/up 向上四分之一/down 向下四分之一/top 到頂/end 到底
*/public void swipeto(string direction) else if (direction == "left") else if (direction == "down") else if (direction == "up") else if (direction == "end") while (!page1.equals(page2));
logger.info("滑到底");
} else if (direction == "top") while (!page1.equals(page2));
logger.info("滑到頂");
}sleep(1);
}學過安卓開發的都知道,layout中有各種view、包括textview、imageview、button、checkbox、radiobutton、alertdialog、processdialog啥的
所以對於這些的點選處理最好是根據id或text作為引數封裝方法來進行定位點選操作
例如:
/*當然,我們進行測試,是為了確定頁面中有某元素或是沒有某元素,所以用的最多的方法是search* @method: 通過想點選文字的控制項id和順序index點選文字,當第一屏未找到文字會向下滾動查詢,若滾到底扔未發現文字斷言失敗;方法結束後休眠1s
* @param: string id 想點選文字的id
* int index 順序
*/public void clicktextbyid(string id, int index) else if (index > 0)
break;
} else
} while (!page1.equals(page2));
if (result == 0)
sleep(1);
}
public void search(string list) else} else
if (pagesource.contains(elements[i])) else }}
sleep(1);
}上面要說明一下。
takescreenshot("failure(search)_" + list); 這個是單獨寫的截圖函式,這個方法在出現錯誤時,儲存個截圖到某一資料夾下更好,這樣可以方便定位問題
public void takescreenshot(string methodname) catch (ioexception e)// system.out.println("taking screenshots");
}其實還有很多很多方法 ,大家可以根據自己喜好來定義 都可以隨意些
安卓自動化Uiautomator
將d androidl androidstudio android android sdk platforms android 23下的android.jar uiautomator.jar包匯入工程 進入工作目錄執行 android create uitest project n sendmess...
Monkey工具 安卓自動化測試
有時候我們需要對乙個軟體進行壓力測試,檢查該軟體的效能。如果是人工進行測試的話,效率會低很多,而且會比較枯燥。這時,android 中的乙個命令列工具 monkey 就可以為我們減輕很多重複而又繁瑣的工作。一 monkey 簡介至於monkey 的名字是有何而來的呢?這個沒有去怎麼考究,monkey...
安卓自動化測試 monkey 一
monkey是安卓中的乙個命令列工具,可以執行在模擬器或者是實際的裝置中,它向系統傳送為偽隨機的使用者事件流 如按鍵輸入 觸控螢幕輸入 手勢輸入等 實現對正在開發的應用程式進行壓力測試。monkey測試是一種為了測試軟體的穩定性 健壯性快速有效的方法 測試的物件僅為應用程式包,有一定的侷限性 mon...