Robotium 專題(三): 編寫 Case 時用到的幾個有用的方法

轉載地址:http://testerhome.com/topics/1666

本來今天想寫下在有源代碼的情況下,如何對應用進行自動化測試,但是今天活兒太多,就先不寫了,可能很多同學都已經在網上搜到過相關的內容,包括在Robotium官方網站上也有看到過,所以,這裏就簡單說一下與APP控件相關的方法,便於利用控件ID進行操作。
1、通過控件ID點擊打開VIEW,這個方法在具體的使用中,我自己用的較多,只要知道了控件的ID,就可以對控件進行操作,個人認爲比較方便。如果有更好的方法,可以告訴我,一起學習下!

/* 通過ID點擊打開VIEW
 * clickCtrlById(String s,int t)
 * s:Id(hierarchviewer)觸摸按鍵的id,字符串格式
 * t:timedelay 觸發按鍵後,停留多久(ms)
 * TARGET_PACKAGE_ID,是一個宏變量,字符串格式,定義了目標APK的包名
*/
 public int clickCtrlById(String s, int t )
 {
     int ctrl;
     View v;
     if( s == "")
     {
         return -1;
     }
     ctrl = solo.getCurrentActivity().getResources().getIdentifier(s,"id","com.leju.platform");
     v = solo.getView(ctrl);
     solo.clickOnView(v);
     solo.sleep(t);        
     return 0;
 }

2、知道了文本框ID後,可以通過下面的方法,直接在文本框中填寫相應的數據,我認爲這個方法比直接使用solo.entext(int index,String text)這種方式要好很多。

/* 通過ID輸入文本內容
 * enterTextById(String id,String s,int t)
 * id:Id(hierarchviewer)獲取的文本框id,字符串格式id
 * s:需要輸入的文本信息
 * t:timedelay 觸發按鍵後,停留多久(ms)
*/
public int enterTextById(String id,String s,int t)
 {
     int ctrl;
     EditText v;

     if( s == "")
     {
         return -1;
     }

     ctrl=solo.getCurrentActivity().getResources().getIdentifier(id,"id",solo.getCurrentActivity().getPackageName());
     v=(EditText)solo.getView(ctrl);

     solo.enterText(v,s);
     solo.sleep(t);
     return 0;

 }

還有一些其他方法,等後面有時間再寫上來。可能有些方法大家都已經用到過,我在這裏寫出來的原因主要是想把一些好的方法分享一下,順便也記錄一下,如果發現寫的有問題,請大家一定要指正出來,我會認真修改的!
我個人認爲,未來自動化還是有一定用處的,現在可能只是對robotium關注多一些,將來也會對其他的自動化工具做一些研究,也會寫出來,我覺得做任何一種職業,態度是非常重要的,如果總是覺得測試沒有地位,沒有前途,那麼轉行做其他的就會有地位,有前途?地位和前途,都是靠自己的能力和努力來積累的,有些時候測試之所以沒有地位,主要還是在於做測試的人,所以,對於咱們這些測試人員,一定要對自己有信心,無論開發多麼牛逼,都需要測試去找出他們的問題,在開發和產品面前,該強勢的時候一定要強勢,不能總是因爲覺得測試的地位不好,而忽略掉本該有的立場!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章