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

來源:互聯網
上載者:User

標籤:bs4   without   手機   idfa   tip   ps1   alsa   hone   elk   

 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 {
    /*@Before
    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", "some@163.com");
        
        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的對於圖片的辨識度比較低,所以要求點擊的位置一定要精確,寫的有些地方不是很詳細,之後我再補充。

 

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.