java+appium的報錯-截圖功能

我們測試工程師,再做自動化測試的時候,目的就是爲了實現機器代替人工,進行繁瑣重複的工作,並且通過代碼實時保證線上的穩定性,以便能第一時間發現問題,定位問題,解決問題,減小損失.接下來我來簡單闡述一下,當遇到錯誤進行屏幕截圖,並且保存圖片至本地文件,以便更好地查找問題:

首先:

1.我們封裝方法,創建一個Screenshot的方法名稱 因爲封裝方法,所以我們需要提供參數,首先第一個參數就是,androiddriver的參數.

我們做過自動化的同學都知道,在主代碼內會有driver的對象,以便來driver.findeve....來查找元素  在調用方法的時候需要將這個driver傳入到這個方法內. 第二個參數就是圖片的名稱,用字符串的形式來接收,string  傳進來的圖片是什麼名稱最後生成的就是什麼,以便用來更好的查找.

上述是大體創建類以及參數的講解:接下來我們來在這個類裏面編寫方法邏輯  通過這段代碼,我們就可以生成截圖jpg

下面我以代碼的形式編寫,同時增加備註,這樣容易理解:

 

public static  void  Screenshot(AndroidDriver driver,String Picturename) throm IOException{

       上面就是類的外部.接下來我們首先需要設置一個時間的格式:     Timeformat  就是時間格式的對象.

        SimpleDateFormat   Timeformat = new SimDateFormat("yyy-MM-dd-HH-mm-ss")

        接下來我們生成時間戳;          括號內的參數  new Date 是java內部的源碼類 不是我們封裝的.

         String dateString = Timeformat.format(new Date);

         生成圖片的目錄

         String  dir_name = System.getProperty("user.dir")+"\\異常圖片";

         由於可能會存在圖片的目錄被刪除的可能,,所以我們先判斷目錄是否存在,  如果不在的話:

          if( !(new File(dir_name ).isDirectory())){

                               不存在的話就進行創建目錄.

                               new File(dir_name ).mkdir();

}

         調用方法捕捉畫面;

            File Screen =  driver.getScreenshotAs(OutputType.FILE);

            複製文件到本地目錄, 圖片的最後存放地址爲::

            FileUtils.copyFile(screen,new File(dir_name+"\\"+dateString +Picturename+".jpg"));

}

 

上述就是我們通過報錯或者出現不正常情況 調用我們的截圖方法 保存到本地.

那麼這個是怎麼用呢,在我們的主方法裏面,有一個方法叫try  cache的方法不知道大家有沒有用過.try cache 是爲了處理異常用的

我們在try裏面放入我們被測的代碼,在cache裏面放入我們的截圖方法,當頁面異常 就會走cache方法.從而進行截圖保存.

                                                                                                                                                                      -小餅呀

 

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