appium的安裝和使用

一蹋笼、軟件安裝

下載appium-server渗勘,安裝成功后在環(huán)境變量中配置路徑,“...”為Appium的絕對(duì)路徑蔗彤。

...Appium\node_modules.bin川梅。

完成環(huán)境變量配置后,在cmd中運(yùn)行命令

appium-doctor

根據(jù)錯(cuò)誤提示安裝相關(guān)的軟件然遏,直到?jīng)]有錯(cuò)誤提示贫途,并且顯示如下信息,則表示測(cè)試環(huán)境已經(jīng)搭建好待侵。要讓自己知道丢早,搭建的目標(biāo)只有一個(gè),就是運(yùn)行上面的命令秧倾,最后顯示的是如下的信息怨酝。這里不對(duì)如何安裝軟件以及如何配置環(huán)境進(jìn)行進(jìn)一步描述傀缩,可以自行上網(wǎng)查找相關(guān)資料。

I:\Users\dengdai68>appium-doctor
Running Android Checks
? ANDROID_HOME is set to "D:\Android\sdk"
? JAVA_HOME is set to "D:\java\jdk1.8.0_151."
? ADB exists at D:\Android\sdk\platform-tools\adb.exe
? Android exists at D:\Android\sdk\tools\android.bat
? Emulator exists at D:\Android\sdk\tools\emulator.exe
? Android Checks were successful.

? All Checks were successful

二凫碌、appium-server連接真機(jī)

使用虛擬機(jī)做測(cè)試時(shí),虛擬機(jī)啟動(dòng)實(shí)在是太慢了胃榕。這里使用真機(jī)(android)做測(cè)試環(huán)境盛险。

(1) 手機(jī)連上電腦以后,打開(kāi)手機(jī)開(kāi)發(fā)人員選項(xiàng)勋又。在cmd中運(yùn)行以下命令查看手機(jī)的UDID

adb devices -l

打印如下相關(guān)信息苦掘,其中“BY2XEE1559020084”表示手機(jī)的UDID。注意:我的adb.exe在路徑“D:\Android\sdk\platform-tools”下楔壤。

D:\Android\sdk\platform-tools>adb devices -l
List of devices attached
BY2XEE1559020084       device product:CHM-TL00H model:CHM_TL00H device:hwCHM-H

(2) 使用UDID號(hào)和以下命令鹤啡,完成手機(jī)和appium-server的連接。

appium -a 127.0.0.1 -p 4723 –U BY2XEE1559020084 --no-reset

連上以后會(huì)有如下信息

D:\Android\sdk\platform-tools> appium -a 127.0.0.1 -p 4723  -U  BY2XEE1559020084 --no-reset
[Appium] Appium support for versions of node < 8 has been deprecated and will be removed in a future version. Please upgrade!
[Appium] Welcome to Appium v1.8.0
[Appium] Non-default server args:
[Appium]   address: 127.0.0.1
[Appium]   udid: BY2XEE1559020084
[Appium]   noReset: true
[Appium] Deprecated server args:
[Appium]   -U,--udid => --default-capabilities '{"udid":"BY2XEE1559020084"}'
[Appium]   --no-reset => --default-capabilities '{"noReset":true}'
[Appium] Default capabilities, which will be added to each request unless overridden by desired capabilities:
[Appium]   udid: BY2XEE1559020084
[Appium]   noReset: true
[Appium] Appium REST http interface listener started on 127.0.0.1:4723

三蹲嚣、獲取appPackage和appActivity

要測(cè)試的apk是華為計(jì)算器 huaweijsq_jz5u.com.apk递瑰,下載完成以后。需要獲取apk的appPackage和appActivity的值隙畜。這里提供以下方式獲取,這是我個(gè)人感覺(jué)比較好的方法(如果要測(cè)的apk有源碼就不需要就不需要這樣做了)。我的aapt路徑為“D:\Android\sdk\build-tools\android-4.4W”眼俊。

獲取appPackage腹泌,使用以下命令

aapt dump badging huaweijsq_jz5u.com.apk | findstr "package"

結(jié)果如下,appPackage為com.asus.calculato

I:\Users\dengdai68\Downloads\tester>aapt dump badging huaweijsq_jz5u.com.apk | findstr "package"
package: name='com.asus.calculator' versionCode='1510500477' versionName='1.5.0.95_161014'
original-package:'com.asus.calculator'

獲取appActivity言询,使用以下命令

aapt dump badging huaweijsq_jz5u.com.apk | findstr "launchable-activity"

結(jié)果如下俯萎,appActivity為com.asus.calculator.Calculator

I:\Users\dengdai68\Downloads\tester>aapt dump badging huaweijsq_jz5u.com.apk | findstr "launchable-activity"
launchable-activity: name='com.asus.calculator.Calculator'  label='' icon=''

四、uiautomatorviewer獲取device name

我uiautomatorviewer.bat的路徑在“D:\Android\sdk\tools”下运杭。這時(shí)需要多個(gè)設(shè)備才能顯示設(shè)備列表夫啊,我這里啟動(dòng)了一個(gè)模擬器。點(diǎn)擊“Device Screenshot”辆憔,看到兩個(gè)設(shè)備涮母,第一個(gè)設(shè)備名就是我手機(jī)的device name,第二個(gè)是模擬器的躁愿。注意:使用uiautomatorviewer時(shí)叛本,手機(jī)要先斷開(kāi)和appium-server的連接。


device name列表

五彤钟、appium完成UI測(cè)試

使用uiautomatorviewer完成元素的定位来候。創(chuàng)建項(xiàng)目

這里只貼代碼,不做詳細(xì)的講解逸雹。編寫(xiě)如下代碼营搅,
代碼如下:

package com.yangbz.apptest;

import org.openqa.selenium.*;
import org.openqa.selenium.remote.DesiredCapabilities;

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;

import java.net.MalformedURLException;
import java.net.URL;


public class CalculatorTest {

    public static void main(String[] args) throws MalformedURLException, InterruptedException {

        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName", "huawei-chm_tl00h-BY2XEE1559020084");//這是我使用的是uiautomatorviewer獲取的設(shè)備名
        capabilities.setCapability("automationName", "Appium");
        capabilities.setCapability("platformName", "Android");
        capabilities.setCapability("platformVersion", "4.4.2");
        capabilities.setCapability("appPackage", "com.asus.calculator");
        capabilities.setCapability("appActivity", "com.asus.calculator.Calculator");

        AndroidDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

        driver.findElement(By.id("com.asus.calculator:id/digit1")).click();
        driver.findElement(By.id("com.asus.calculator:id/digit5")).click();
        driver.findElement(By.id("com.asus.calculator:id/digit9")).click();
        driver.findElement(By.id("com.asus.calculator:id/del")).click();
        driver.findElement(By.id("com.asus.calculator:id/plus")).click();
        driver.findElement(By.id("com.asus.calculator:id/digit6")).click();
        driver.findElement(By.id("com.asus.calculator:id/equal")).click();

        Thread.sleep(2000);

        String result = driver.findElement(By.id("com.asus.calculator:id/resultEditTextID")).getText();
        System.out.println(result);

        driver.quit();
    }

}

執(zhí)行代碼云挟,輸出如下結(jié)果


控制臺(tái)輸出結(jié)果

寫(xiě)在最后

步驟還是比較簡(jiǎn)單的,還是希望能夠讀者親自動(dòng)手嘗試转质,這樣印象會(huì)更深刻园欣。有不懂的地方可以在下面的留言板中給我留言。希望你也能和我一樣有所收獲休蟹。

上一篇 appium的安裝和使用 下一篇
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末沸枯,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子赂弓,更是在濱河造成了極大的恐慌绑榴,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件盈魁,死亡現(xiàn)場(chǎng)離奇詭異翔怎,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)杨耙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)赤套,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人珊膜,你說(shuō)我怎么就攤上這事于毙。” “怎么了辅搬?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵唯沮,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我堪遂,道長(zhǎng)介蛉,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任溶褪,我火速辦了婚禮币旧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘猿妈。我一直安慰自己吹菱,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布彭则。 她就那樣靜靜地躺著鳍刷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪俯抖。 梳的紋絲不亂的頭發(fā)上输瓜,一...
    開(kāi)封第一講書(shū)人閱讀 51,692評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼尤揣。 笑死搔啊,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的北戏。 我是一名探鬼主播负芋,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼嗜愈!你這毒婦竟也來(lái)了旧蛾?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤芝硬,失蹤者是張志新(化名)和其女友劉穎蚜点,沒(méi)想到半個(gè)月后轧房,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體拌阴,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年奶镶,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了迟赃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡厂镇,死狀恐怖纤壁,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情捺信,我是刑警寧澤酌媒,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站迄靠,受9級(jí)特大地震影響秒咨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜掌挚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一雨席、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧吠式,春花似錦陡厘、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至是目,卻和暖如春罢低,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工网持, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留宜岛,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓功舀,卻偏偏與公主長(zhǎng)得像萍倡,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子辟汰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 第一章:說(shuō)明 前面已經(jīng)把環(huán)境搭建好列敲,下面就開(kāi)始為寫(xiě)代碼準(zhǔn)備; 第二章:安裝手機(jī)驅(qū)動(dòng)并測(cè)試連接真機(jī) 1帖汞、安裝驅(qū)動(dòng) 2...
    Miss薇閱讀 2,109評(píng)論 0 6
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,167評(píng)論 25 707
  • '''占坑"'
    木丶丶閱讀 128評(píng)論 0 0
  • 隔了很長(zhǎng)一段時(shí)間沒(méi)有早起了翩蘸,今天難得的早醒所意,五點(diǎn)半,窗外已經(jīng)很亮堂了催首,天空是淡藍(lán)色的扶踊,偶爾刮過(guò)來(lái)一陣微風(fēng),微涼的郎任,...
    簡(jiǎn)小塵閱讀 801評(píng)論 0 7
  • 關(guān)于昨天在群里大家討論的加班問(wèn)題秧耗。個(gè)人覺(jué)得加班一個(gè)是有事做,一個(gè)是有經(jīng)驗(yàn)可學(xué)舶治!人的成長(zhǎng)是要不斷的經(jīng)驗(yàn)積累分井,換工作也...
    Maxwell01閱讀 191評(píng)論 0 0