Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android系統教程 >> Android開發教程 >> sikuli+eclipse對於安卓app自動化測試的應用(第一回寫博客,有些語言還不太專業,望海涵)

sikuli+eclipse對於安卓app自動化測試的應用(第一回寫博客,有些語言還不太專業,望海涵)

編輯:Android開發教程

sikuli+eclipse對於安卓app自動化測試的應用(第一次寫博客,有些語言還不太專業,望海涵)

 Sikuli是什麼?

        下面是來自於官網的介紹:Sikuli is a visual technology to automate and test graphical user interfaces (GUI) using images (screenshots). Sikuli includes Sikuli Script, a visual scripting API for Jython, and Sikuli IDE, an integrated development environment for writing visual scripts with screenshots easily. Sikuli Script automates anything you see on the screen without internal API's support. You can programmatically control a web page, a Windows/Linux/Mac OS X desktop application, or even an iphone or android application running in a simulator or via VNC.

        Sikuli是一種使用截圖進行UI自動化測試的技術。Sikuli包括sikul腳本,基於Jython的API以及sikuli IDE。Sikuli可以實現任何你可以在顯示器上看到ui對象的自動化,你可以通過編寫一些代碼來實現web 頁面,window/linux/Mac OS X桌面應用、甚至是iphoneandroid模擬器的自動化測試。

實現sikuli+eclipse在安卓上的應用需要的相關軟件和jar包:

1.sikulixsetup-1.1.0.jar/sikulixapi.jar(前者可以通過命令產生後者)

2.eclipse

3.小蘿貝控機大師

4.一台安卓手機+數據線

5.安卓app的apk

第一步,首先講一下,如何通過sikulixsetup-1.1.0.jar生成sikulixapi.jar包

sikulixsetup下載地址:
https://launchpad.net/sikuli/+download

  • 將jar包導入工程中;
  • 在cmd中運行該jar包。java -jar sikulixsetup-1.1.0.jar,則會出現如下圖,選擇相應選項後,啟動會下載sikulixapi.jar。不然會報錯:libs to export not found on above classpath: /sikulixlibs/mac/libs642.
  • 選擇第二個
  • 啟動後會有have fun的提示;
  • 在文件夾中找到下載的sikulixapi.jar包,導入到工程中。
  • 將apk放入項目的apps文件夾中,apps是後建的

第二步,將手機關聯到電腦上

第三步,打開小蘿貝控機大師,手機的界面可以在電腦上見得。

第四步,在eclipse中寫代碼,代碼如下:


import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.sikuli.script.FindFailed;
import org.sikuli.script.Screen;

public class SikuliTest {
    [email protected]
    public void setUp() throws Exception{
 
        System.out.println("App is launched!");


    }*/
    
    @Test
    
     public void addContact() throws FindFailed, InterruptedException{
        //獲得電腦桌面屏幕內容
        Screen s = new Screen();
        //圖片存儲路徑
        String imgpath="D:\\eclipse-jee-mars-2-win32-x86_64\\Appium_demo\\pics\\";
        //點擊最小化,最小化eclipse
        s.click("D:\\eclipse-jee-mars-2-win32-x86_64\\Appium_demo\\pics\\min1.png");
        //找到桌面上控機大師中的圖標
        s.find(imgpath+"Contect.png");
        s.click(imgpath+"Contect.png");
        
        Thread.sleep(1000);
        
        s.click(imgpath+"AddContact.png");
        
        Thread.sleep(1000);
        //輸入contactname為some
        s.type(imgpath+"Contactname.png", "some");
        s.click(imgpath+"Contactemail.png");
        
        Thread.sleep(1000);
 
        s.type(imgpath+"Contactemail.png", "[email protected]");
        
        Thread.sleep(1000);
        
        s.click(imgpath+"save.png");
        
        System.out.println("App is done!");
    }
    
    @After

    public void tearDown() throws Exception {

        //此處可以添加關閉該程序的按鈕click,在此沒有寫出

    }

}

 

第五步,右鍵,選擇run as--->junit test運行該程序

運用sikuli+eclipse對安卓app進行自動化測試完成了,很簡單吧,但是sikuli的對於圖片的辨識度比較低,所以要求點擊的位置一定要精確截圖,寫的有些地方不是很詳細,之後我再補充。

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved