編輯:Android開發教程
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桌面應用、甚至是iphone和android模擬器的自動化測試。
實現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
第二步,將手機關聯到電腦上
第三步,打開小蘿貝控機大師,手機的界面可以在電腦上見得。
第四步,在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的對於圖片的辨識度比較低,所以要求點擊的位置一定要精確截圖,寫的有些地方不是很詳細,之後我再補充。
一、關於AndroidManifest.xmlAndroidManifest.xml 是每個android程序中必須的文件。它位於整 個項目的根目錄,描述了package
本文將告訴你如何讓你的應用程序支持各種不同屏幕大小,主要通過以下幾種辦法:讓你的布局 能充分的自適應屏幕根據屏幕的配置來加載合適的UI布局確保正確的布局應用在正確的設備屏
Toast通知是Android中最簡單的消息通知。接下來展示如何使用吐司通知。1. 新建一個工程, Toast。2. main.xml中的代碼。<RelativeL
我們已經知道<intent-filter>用來定義你的Activity如何被另外的Activity開啟,這就是所謂的 “過濾器”。但是