編輯:關於Android編程
上圖uiautomatorviewer的運行截圖,左側為手機當前畫面截圖,右側上部為view控件的層次關系,下部為當前選中控件的各種信息。在左側屏幕上選擇一個組件,可以查看到該控件的屬性,在我們寫腳本的時候則可以根據對應的屬性信息找到該控件然後對控件進行操作,或者根據某些屬性進行判斷,比如是否可點擊等~
package com.iflytek.test;
import com.android.uiautomator.core.UiObject;
import com.android.uiautomator.core.UiObjectNotFoundException;
import com.android.uiautomator.core.UiSelector;
import com.android.uiautomator.testrunner.UiAutomatorTestCase;
public class MessageTestCase extends UiAutomatorTestCase {
public void testDemo() throws UiObjectNotFoundException {
// 模擬 HOME 鍵點擊事件
getUiDevice().pressHome();
// 找到 Apps tab 按鈕
UiObject appsTab = new UiObject(new UiSelector().text("智慧社區"));
appsTab.click();
//按返回鍵退出
getUiDevice().pressBack();
getUiDevice().pressBack();
getUiDevice().pressBack();
getUiDevice().pressBack();
sleep(2000);
// 打開APP
if (appsTab.exists()) {
appsTab.clickAndWaitForNewWindow();
sleep(5000);
}
// 進入我的頁面
UiObject myTab = new UiObject(new UiSelector().text("我的"));
myTab.clickAndWaitForNewWindow();
//設置循環次數
for(int i =20; i > 0; i--){
// 進入登錄頁
UiObject Login = new UiObject(new UiSelector().resourceId("com.iflytek.smartzone:id/mine_login_layout"));
if (Login.exists()) {
Login.clickAndWaitForNewWindow();
// 輸入用戶名密碼
UiObject username = new UiObject(new UiSelector().resourceId("com.iflytek.smartzone:id/login_editUser"));
username.clearTextField();
username.setText("18019900009");
UiObject passwd = new UiObject(new UiSelector().resourceId("com.iflytek.smartzone:id/login_editPassword"));
passwd.clearTextField();
passwd.setText("111111");
//點擊登錄按鈕
UiObject login = new UiObject(new UiSelector().text("登錄"));
login.clickAndWaitForNewWindow();
}
//登出
UiObject myinfo = new UiObject(new UiSelector().resourceId("com.iflytek.smartzone:id/mine_head_layout"));
myinfo.click();
UiObject loginout = new UiObject(new UiSelector().resourceId("com.iflytek.smartzone:id/person_info_exitlogin"));
loginout.click();
UiObject okbt = new UiObject(new UiSelector().text("確認退出"));
okbt.clickAndWaitForNewWindow();
}
}
}
/tools/android create uitest-project -n其中-t 3 -p
/tools/android list輸出如下: view plaincopy to clipboardprint?
Updated file D:\Users\qxb-810\workspace\MessageTestCase\build.xml
ant build
adb push D:\Users\qxb-810\workspace\MessageTestCase\bin\MessageTestCase.jar /data/local/tmp最後在手機裡面執行這個case即可:
adb shell uiautomator runtest MessageTestCase.jar -c com.iflytek.test.MessageTestCase
Android筆記之:App應用之啟動界面SplashActivity的使用
當前比較成熟一點的應用基本上都會在進入應用之顯示一個啟動界面.這個啟動界面或簡單,或復雜,或簡陋,或華麗,用意不同,風格也不同.下面來觀摩幾個流行的應用的啟動界面.1.
Android 操作HTTP實現與服務器通信
本示例以Servlet為例,演示Android與Servlet的通信。眾所周知,Android與服務器通信通常采用HTTP通信方式和Socket通信方式,而HTTP通信方
Android之視頻播放以及亮度音量變換
程序實現功能:播放視頻,右側上下滑動改變亮度,左側上下滑動改變音量。現在我們來記住幾句重要的屬性清單文件,強制橫屏android:screenOrientation=&r
Android使用音頻信息繪制動態波紋
在一些音樂類應用中, 經常會展示隨著節奏上下起伏的波紋信息, 這些波紋形象地傳達了聲音信息, 可以提升用戶體驗, 那麼是如何實現的呢? 可以使用Visualize