robotium在使用過程中的一些問題和知識點

版權聲明:本文爲博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/gongke425281007/article/details/50969012

1.robotium在黑盒和白盒中的使用:

⑴ 黑盒測試需預先安裝完重簽名後的app,而白盒不用

⑵.白盒的測試程序初始化:

public XXX() {
           super (xxx.class) ;
}

黑盒的測試程序初始化:

private static Class<?> launchActivityClass;
static {// 由於沒有源碼,只能通過反射主類名,獲取實例。
try {
launchActivityClass = Class. forName( xxx); 
} 
catch (ClassNotFoundException e) { 
throw new RuntimeException(e); 
}
}
public XXX() {
// 構造函數,傳遞包名和類名,供測試框架進行監控其狀態,好對其進行模擬操作
super (packageName, launchActivityClass );
}


2.重簽名

重簽名可以用命令行和re-sign,如果使用的是re-sign.jar,re-sign使用的簽名默認是C:\Users\Administrator\.android\debug.keystore,且暫時沒辦法更改,如果你已改動SDK的路徑,導致原路徑下的debug.keystore缺失,re-sign仍會顯示重簽名成功,但是實際只是去掉了簽名,需手動命令行簽名。
在用命令行使用debug.keystore進行重簽名時,debug.keystore 簽名密碼爲android,默認別名應爲androiddebugkey“找不到 xx.keystore證書鏈”爲別名錯誤,可以用keytool.exe -list -keystore debug.keystore 獲取別名。

3.robotium獲取相同id或無id的的控件

很多控件都可以通過指定控件在界面上的排列順序來定位。
通過index直接獲取是最好的辦法,但是當界面佈局發生變化時,需及時維護和更新。
通過index獲取指定控件的父控件,在通過getchildat獲取指定控件,或者先獲取子控件,再通過getparent獲取父控件,此兩類方法存在一定的問題。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章