黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Appium+python自動化(十五)- Android 這些基礎(chǔ)知識,你

系統(tǒng) 2266 0

簡介

  前邊具體操作和實戰(zhàn)已經(jīng)講解和分享了很多了,但是一些android的一些基礎(chǔ)知識,你又知道多少了,你都掌握了嗎?這篇就由宏哥給小伙伴們既是一個分享,又是對前邊的一次總結(jié)。為什么要對這些做一個簡單的分享了,因為在現(xiàn)實具體工作中經(jīng)常會遇到這樣的問題,這里還是通過一個小故事來說明一下。

?

?

QA:“那個誰誰誰,我剛剛按照上一次那樣操作這款款A(yù)PP,我死活是跑不起測試腳本了。(內(nèi)心獨白:我去,這個奇怪的問題,一定是他給我的安裝包有問題”)

DEV:“嗯?還有這樣的問題,那你看一下你手機和電腦連接好了么?。(內(nèi)心獨白:一定是數(shù)據(jù)線沒有連接好)”

QA:這個、這個...“咦,這個怎么看?(內(nèi)心獨白:我去,我怎么知道怎么看了,你不告訴我,我問手機和電腦,他們也不回答我啊)”

DEV:“嗖的一聲,打開命令窗口,用這個命令:adb devices。(內(nèi)心獨白:鄙視一番,什么都不懂,這個簡單)”

一會過去了......

QA:滿心歡喜狀,那個誰誰誰“我看了連接好了!(內(nèi)心獨白:一臉淫笑,我連接的怎么可能有問題了)”

DEV:“是不是package或者Activity有問題,你再看看(內(nèi)心獨白:小樣,自己啥都不看就來問我)”

QA:“寶寶心里苦,但是寶寶不說!(內(nèi)心獨白:這個。唉。。。。。。。,我還是不會,硬著頭皮再問開發(fā))”

當(dāng)你了解掌握android基礎(chǔ)知識之后:

QA:“那個誰誰誰,我剛剛按照上一次那樣操作這款款A(yù)PP,我死活是跑不起測試腳本了。我也查看設(shè)備連接情況,以及安裝包的package和Activity等等一些東西,和我代碼里配置的Appium Desired Capabilities參數(shù)都正確,你看看是什么問題吧”

DEV:“厲害了Word哥!這個這個我查一下,是不是安裝包打的包有問題,你稍等一下。(內(nèi)心獨白:真特么牛逼,都排查完了,還幫我定位了問題)”

全劇終!

  以上雖說是個小故事,但是對于剛?cè)肼殘龅模_實是屢見不鮮,很多很多,如果你很幸運遇到個善良的開發(fā),那還不錯。反之,呵呵,那你就自求多福吧!!!

1、 ADB工具講解

1.1 什么是ADB呢?

  我們不去解釋官方語言的翻譯,給大家說一個通熟易懂的說法,ADB我理解為他就是電腦和手機連接的橋梁。此連接不是充電的連接,大家不要混淆,說他是一個調(diào)試工具,可能更貼切。

1.2 ADB有什么作用呢?

  剛說的他是電腦和手機連接的橋梁,我們可以通過ADB操作手機,可以管理手機。可能你說這里手機包括模擬器嘛?答案是肯定的。

1.3 如何使用ADB?

  我們在終端直接輸入adb的命令就可以執(zhí)行相應(yīng)的操作。在測試過程中我們最常用的就是查看已經(jīng)連接的android設(shè)備有哪些。大概整理了一下常用的:

1、adb devices 查看已經(jīng)連接的android設(shè)備

2、adb install Baidu.apk 這個是安裝應(yīng)用,如果我們當(dāng)前電腦連接了多臺android機器時,使用這個命令是不行的,這個時候我們需要指定設(shè)備:adb -s install baidu.apk,這里的-s是指設(shè)備的信息,就是通過adb devices 查看的設(shè)備信息。

3、adb uninstall Baidu.apk 這個是卸載應(yīng)用

4、adb connect 127.0.0.1:62001這個命令大家一定要記住,連接指定設(shè)備信息,這里的設(shè)備是指虛擬機,如果說我們使用的虛擬機不是官方的,是國產(chǎn)的天天、夜游神等等虛擬機你需要使用connect 命令連接,這里的端口號不一定是6555,這個需要根據(jù)你的模擬器的品牌來決定。剛學(xué)如果搞不定還是建議用真機,只需要打開adb調(diào)試就好。

2、 UIAutomatorviewer工具講解

  UIAutomatorviewer是一個定位工具,無論是在windows下還是mac下都可以用時,他在你androidsdk目錄下的tools目錄下,我只是按照我的給大家講的,下面給大家配置一張圖片,更加直觀:

Appium+python自動化(十五)- Android 這些基礎(chǔ)知識,你知多少???(超詳解)_第2張圖片

?

  可以看一下在我的目錄,在最后的tools目錄下有一個uiautomatorviewer文件,我們之需要在當(dāng)前目錄直接敲擊該目錄命令就會打開我們的定位工具界面,下面我們直接看我們的效果圖:

?

Appium+python自動化(十五)- Android 這些基礎(chǔ)知識,你知多少???(超詳解)_第3張圖片

?

  這個前邊介紹過了,宏哥在這里就不啰嗦了,但是在這里需要記住一個問題,因為我用的是國產(chǎn)的模擬器,所以在啟動模擬器后需要adb connect 127.0.0.1:xxxx,但是在這個之前你還是需要將模擬器里面的開發(fā)者選項打開的,因為只有建立連接后才能夠使用定位工具,不然會報錯。

  我們打開定位工具、模擬器后直接點擊定位工具左上角紅色圈出的按鈕(獲取當(dāng)前屏幕)uiautomatorviewer會自動獲取到當(dāng)前模擬器所打開的頁面。

  最左邊的區(qū)域就是捕獲的模擬器頁面,在該頁面鼠標(biāo)移到你要查找的元素上面,在整個區(qū)域右面上面就是當(dāng)前對象的一個布局結(jié)構(gòu),能夠清晰的看見他是采用的是什么布局。右下角的區(qū)域就是我們需要定位的對象的屬性值。

?

Appium+python自動化(十五)- Android 這些基礎(chǔ)知識,你知多少???(超詳解)_第4張圖片

?

  右下角的屬性我做了一個區(qū)分,左邊紅色部分為屬性名稱,右邊的則是屬性值,當(dāng)我在上邊選擇一個控件或者對象的時候下面的屬性就會隨著變化,在上圖中的屬性主要是:index、text、resource-id、class、package、content-desc,這些屬性和屬性值他們對應(yīng)起來就是我們后面要講的頁面元素定位,我們做自動化最主要是和這幾個屬性去交互。這里需要注意一個問題:這個頁面屬性的text屬性定位方式是針對name定位,但是在新版本appium中已經(jīng)去掉了name定位,所以大家注意一下這個問題,到時候如果報錯也不要著急。

3 、Package及Activity講解

  在整理這個知識的時候其實很糾結(jié)是否要講這個知識點,但是權(quán)衡了一下決定還是講解一下,不然后面的章節(jié)講自動化時可能對于一些無基礎(chǔ)的讀者會有一些莫名其妙。

  什么是Package呢?中文翻譯過來大家都知道是包的意思,其實沒錯,你如果非得這么理解也沒錯,只是在我們的app中這個Package是唯一的,就像你身份證號碼一樣。在我們做app自動化時,我們就需要知道他的Package,我們知道了Package那么也就知道我們需要對哪個app做自動化,現(xiàn)在能理解Package是什么意思了么?

  什么是Activity呢?官方給出的解釋Activity是Android組建中最基本也是最為常見用的四大組件之一。看了這個是不是覺得很懵?so,他還有一種不確切的說法,就是和用戶進行交互的,每當(dāng)用戶打開app進行操作的時候會發(fā)現(xiàn)在不斷的跳頁面,其實每個頁面就是一個activity。我們做自動化時拿到了這個app的Package,但是我們還不能啟動起來,因為我們沒有告訴需要去操作哪一個Activity,因此在這個時候我們需要講app啟動時的Activity寫入到啟動參數(shù)中,如果你傳入一個其他頁面的是不行的。

4 、package及activity的獲取

  前面講了那么多,但是還不知道怎么獲取,對吧。哈哈,只知道作用但是不知道來源這個就沒處使盡。

先說一下獲取package和activity的方法,在網(wǎng)上說了有很多種,這里我只給大家說我們常用的。

1、因為自動化一般都是自己的應(yīng)用,所以這個肯定是自己公司的,那么你拿這個還不簡單?直接找開發(fā)要就行。

2、appium 有界面的客戶端,這檔你在設(shè)置里面選擇了apk的路徑之后系統(tǒng)會自動將該apk的相關(guān)信息展示在下面,所以很簡單,不過悲催的是他不能夠復(fù)制,你寫在程序你的時候還是需要你一個一個字母敲擊

3、通過android sdk工具來,在sdk里面有一個工具,叫做aapt,我們可以直接通過這個工具來,在命令行輸入:aapt dump badging xxxx.apk,后面這個xxx.apk文件是我們aok所在的絕對路徑,敲入之后那么可以顯示出來相關(guān)信息,可以在里面仔細找了,packageName、lanuchActivity這兩個字端,一個在開始1、2行一個在中間部分。如果找不到,在往后邊找一找。

5、小結(jié)

?  好了,宏哥覺得介紹這些應(yīng)該足夠你用了,這樣你和開發(fā)溝通起來也不是那么費勁,那么吃力,更不會看到開發(fā)鄙視的眼神,有興趣的想了解更多的小伙伴們可以看這里(傳送門)。

您的肯定就是我進步的動力。 支持宏哥的朋友們和宏哥的宏粉記得點波? 推薦 ?哦!!!

個人公眾號

Appium+python自動化(十五)- Android 這些基礎(chǔ)知識,你知多少???(超詳解)_第5張圖片

微信群

Appium+python自動化(十五)- Android 這些基礎(chǔ)知識,你知多少???(超詳解)_第6張圖片


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論