導航:首頁 > 軟體資訊 > 手機app測試怎麼連接到真機

手機app測試怎麼連接到真機

發布時間:2023-05-13 20:40:35

『壹』 ios app 如何真機測試

iOS app如果想要進行真機調試,需要有一個開發者賬號。如果個人要申請,需要准備一張VISA(美金)信用卡,MASTER(歐元)。
1. 個人的 99$ 申請簡單,付錢就行,688人民幣
2. 企業的 99$ 申請復雜,需要「鄧白氏」認證,可以確認企業是合法有效的,可以管理團隊開發
3. 商業的 299$ 也需要鄧白氏認證,開發的應用,不能夠上架(不經過蘋果的審核),專門給企業級用戶定製應用程序使用
4.通過開發者賬號在蘋果開發者網站上申請證書
5.將申請的證書安裝到Xcode中,在配置好
6.連接手機,運行是選中手機即可在手機上進行真機模擬

『貳』 如何設置android studio讓程序運行在真機中

1,在真機中設置USB調試模式打開,具體:「設置」->「應用瞎培程序」->謹晌「開發」->「USB調試」。

2,安裝安卓的USB驅動,如果按照不好,那麼去下載一個豌豆莢,它會幫你正確安裝你的手機驅動。

3,直接運行你要測磨晌唯試的程序,我使用Android Studio,直接點擊運行的那個三角號就OK了。

『叄』 用android uiautomator做自動化測試,怎麼連接真機進行

Google在sdk4.0以後提供了一個自動化解決方案uiautomator:

優點:可以跨應用了;這可是親生的;

缺點:必須sdk4.0以上版本;要想實現的好,最好有開發配合;java項目編譯為jar後需要push到手機才能運行,也就是說必須列印日誌暴力調試。

Appium基於Android InstrumentationFramework和UIAutomator,也就是說這個工具是可以跨應用的。說遠了,好吧,為了幫大家更容易理解appium的使用,我這里就講一下uiautomator的使用方法。

你應該有android-sdk吧,升級到4.0以上,進入目錄android-sdk ools,你會看到兩個文件:

traceview.bat 和 uiautomatorviewer.bat,這倆文件讓你想起了monkeyrunner了吧,是的,traceview.bat就對應於hierarchyviewer.bat,用來查看程序的ui界面的,通常也是使用管理員許可權啟動的。

好了,現在用eclipse創建一個java project,是的,你沒看錯,是java project不是android project,添加引用:

在project.properties中內容為:

# Project target.

target=android-16

這里的android-16需要和之前的android.jar和uiautomator.jar位置相一致。

然後呢?寫代碼吧,建立一個類,得,發個給大家參考:

packagecom.uia.example.my;

importorg.apache.http.util.EncodingUtils;

importandroid.graphics.Bitmap;

importandroid.graphics.BitmapFactory;

importandroid.graphics.Rect;

importandroid.os.Environment;

importcom.android.uiautomator.core.UiObject;

importcom.android.uiautomator.core.UiObjectNotFoundException;

importcom.android.uiautomator.core.UiScrollable;

importcom.android.uiautomator.core.UiSelector;

importcom.android.uiautomator.testrunner.UiAutomatorTestCase;

importjava.io.File;

importjava.io.FileOutputStream;

importjava.io.IOException;

{

publicStringsLog;

publicFilefout=null;

=null;

publicvoidwrite2file(String filename,String sData)

{

String sLog="";

//初始化日誌文件

if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){

sLog = Environment.getExternalStorageDirectory().getAbsolutePath();

try{

fout=newFile(sLog,filename);

outStream=newFileOutputStream(fout,true);//此處的true是append

sData=sData +" ";

outStream.write(sData.getBytes());

outStream.flush();

outStream.close();

fout=null;

}

catch(Exception e){

e.printStackTrace();

}

}else{

System.out.println("該手機沒有SD卡");

}

}

publicvoidtestDemo() {

//1.啟動app

getUiDevice().pressHome();

UiObject allAppsButton =newUiObject(newUiSelector().description("Apps"));

allAppsButton.clickAndWaitForNewWindow();

UiObject appsTab =newUiObject(newUiSelector().text("Apps"));

appsTab.click();

UiScrollable appViews =newUiScrollable(newUiSelector().scrollable(true));

UiObject settingsApp = appViews.getChildByText(newUiSelector().className(android.widget.TextView.class.getName()),"Efilm");

settingsApp.clickAndWaitForNewWindow();

//2.進入主界面

System.out.println("into main view");

System.out.println(getUiDevice().waitForWindowUpdate("com.eshore.efilm", 60000));

System.out.println("intoed main view");

UiObject tv1 =newUiObject(newUiSelector().text("影院"));

tv1.click();

//3.點擊影院

UiObject oyy=newUiObject(newUiSelector().description("cinema_row"));

System.out.println("wait yingyuan come out");

oyy.waitForExists(60000);

System.out.println("yingyuan come out");

oyy.clickAndWaitForNewWindow();

System.out.println("click yingyuan");

//4.場次

UiObject occ=newUiObject(newUiSelector().description("LinearLayout10"));

System.out.println("wait changci come out");

oyy.waitForExists(60000);

System.out.println("changci come out");

occ.clickAndWaitForNewWindow();

System.out.println("click changci");

//5.座位

UiObject oseat=newUiObject(newUiSelector().description("cinema_shows_list_item").index(0).childSelector(newUiSelector().description("LinearLayout10")));

System.out.println("wait seat come out");

oseat.waitForExists(5000);

inth=getUiDevice().getDisplayHeight();

intw=getUiDevice().getDisplayWidth();

System.out.println("(h/2,w/2)="+h/2+","+w/2);

getUiDevice().click(h/2,w/2);

//System.out.println("seat count:"+String.valueOf(oseat.getChildCount()));

//System.out.println("seat getText:"+ oseat.getText());

//截座點陣圖

Process process;

try{

process = Runtime.getRuntime().exec("screencap /mnt/sdcard/EfilmFailSnapShot01.png");

try{

process.waitFor();

}catch(InterruptedException e) {//TODOAuto-generated catch block

e.printStackTrace();

}

}catch(IOException e) {

//TODOAuto-generated catch block

e.printStackTrace();

}

//takeScreenShots("EfilmSeatSnapShot");

}

}

這個例子是隨便寫的,可能不夠嚴謹。大體就這么個情況吧。下一步就是編譯執行了,先插上手機usb介面,然後打開cmd,執行:

找到SDKID,也就是android create中的-t參數:

cd C: PROGRAMandroid-sdk ools

android list

找到t參數的值以後:

cd C: PROGRAMandroid-sdk ools

android create uitest-project -n TAppWorkAssistV1 -t 25 -p C:android自動化Tv2.0TestSetting

cd C:android自動化Tv2.0TestSetting

ant build

cd C:android自動化Tv2.0TestSettingin

adb push TAppWorkAssistV1.jar /data/local/tmp/

adb shell uiautomator runtest TAppWorkAssistV1.jar -c com.uia.example.my. TAppWorkAssistV1

看了看,好像沒有什麼特別值得解釋的

-n TAppWorkAssistV1:類名

-p: 項目所在目錄

Ant build 把這個類編譯成一個jar包:TAppWorkAssistV1.jar

然後把jar包push到手機上,調用執行這個類就可以了

大致是這么個步驟,不過有一個非常重要的細節,就是如果你需要更省心,就最好把界面元素,無論動態的還是布局文件中的,都加上content-description屬性,並保證唯一性,根據:

UiSelector:description(String desc)

Set the search criteria to match thecontent-description property for a widget.

那就可以統一隻使用這一個引用界面元素的方法就行了,就不用去想方設法利用其它的屬性來引用了。

『肆』 如何實現app遠程真機debug

首先,准備工作,需要藉助如下這個輔助工具。。。

『伍』 如何在真機上調試Android應用程序

主要通過以下幾個步驟:


1、手機通過數據線連接在電腦上

2、設置android手機為USB調試模式。步驟:menu—> 設置 —> 應用程序 —> 開發 , 選擇【USB調試】

3、如果是window系統,系統會提示安裝驅動:

7、選中手機設備,點擊OK之後,程序就開始在真機上安裝了,控制台輸出如下信息:

[2011-04-07 22:24:49 - HelloWorld] Uploading HelloWorld.apk onto device 『HT99YLG11834′
[2011-04-07 22:24:49 - HelloWorld] Installing HelloWorld.apk…
[2011-04-07 22:24:53 - HelloWorld] Success!
[2011-04-07 22:24:53 - HelloWorld] Starting activity com.eightqiu.activity.StatsResultActivity on device
[2011-04-07 22:24:57 - HelloWorld] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.eightqiu.activity/.StatsResultActivity }


8. 設置應用程序為調試模式。操作: 編輯AndroidManifest.xml 增加調試參數android:debuggable="true", 如下:

<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">

9. 執行真機調試操作:ECLIPSE調試對話框中,Target窗口中選擇Manual,點擊【debug】按鈕,選擇真機設備,開始調試。

註:不管是否啟用ECLIPSE環境,任何Android軟體只要在真機上運行發生異常,都可以在命令行窗口下查看具體異常信息:

執行:./adb logcat 可以查看到更多的系統異常消息。在這些消息中要注意查看Caused by:打 頭的行,這些行指明了在哪行代碼出的錯誤

10、運行這個應用程序,這樣就可以使用手機來測試了

『陸』 Appium連接真機設置及連接操作

前提:首先在手機上打開app

1.打開appium

2.啟動appium Client

首次安裝以上過程比較慢,會在手機上安裝Appium Setting,Unlock的app,如果遇到坑可以查看之前的文章
https://www.jianshu.com/p/cf1c7413b709

安裝以上app的時候盯著手機本身,會有安全提醒,不要被禁用就可以

啟動好了就是如下界面

此時手機就能正常彈出taobao的app,所有的頁面操作就會投射到appium上面。

盡量保持操作過程中一直開著taobao,appium在進行啟動的時候會自動關老稿閉扒含手taobao,然後重新打開。春嫌

如果遇到問題可以留言討論!

『柒』 appium中怎麼連接android真機測試

啟動appium,執行testng測試腳本,腳本啟動配置項如下:
import io.appium.java_client.AppiumDriver;import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.BROWSER_NAME, "");//這句不是必須的
capabilities.setCapability("deviceName","Android Emulator");
capabilities.setCapability("platformVersion", "4.4");
capabilities.setCapability("platformName","Android");
capabilities.setCapability("appPackage", "com.android.calculator2");
capabilities.setCapability("appActivity", ".Calculator");
AppiumDriver driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap

閱讀全文

與手機app測試怎麼連接到真機相關的資料

熱點內容
實數四則運演算法則概念 瀏覽:294
cs16優化命令 瀏覽:869
Minecraft雲伺服器免費 瀏覽:826
png壓縮最小 瀏覽:180
老韓綜app怎麼看不了了 瀏覽:227
只有一個程序員的體驗 瀏覽:321
用伺服器地址怎麼有網 瀏覽:550
路由器伺服器昵稱是什麼 瀏覽:715
程序員男友消失了 瀏覽:399
程序員搜索框自動提示 瀏覽:27
android44api20 瀏覽:677
adb刷recovery命令 瀏覽:697
廣聯達正版加密鎖可以補辦嗎 瀏覽:945
java程序員一天多少行代碼 瀏覽:948
喪屍危機java 瀏覽:125
華為手機怎麼去除app標記未讀信息 瀏覽:856
java監控文件夾 瀏覽:807
群控伺服器主機怎麼轉變普通電腦 瀏覽:707
手機怎麼調整app大小 瀏覽:455
加密門禁卡揭秘 瀏覽:139