日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Appium+python自動化(二十二)- 三個臭皮匠助你成就一番霸業(yè)-控件

系統(tǒng) 1895 0

簡介

  有些小伙伴或者是童鞋可能會好奇會問上一篇中的那個monkey腳本里的坐標點是如何獲取的,不是自己隨便蒙的猜的,或者是自己用目光或者是尺子量出來的吧,答案當然是:NO。獲取控件坐標點的方式這里宏哥給小伙伴們分享和講解三種方法(也就是三個臭皮匠),宏哥個人喜歡第二種,也推薦小伙伴們和童鞋們使用第二種,當然了蘿卜青菜各有所愛,這里不做強制要求。小平同志不是說過:不管白貓還是黑貓抓住耗子就是好貓。適合自己才是最好的,小伙伴們可以根據(jù)自己的喜好自行選擇。

獲取控件的坐標點方法

第一種方法(MonkeyRecorder獲取坐標)

??? 下面就MonkeyRecorder獲取坐標的方式,進行演示。MonkeyRecorder是一個比較好用的獲取坐標的工具,它是用來獲取真機或模擬器上坐標的工具,當我們點擊真機或模擬器上的空間時,就能顯示真機或模擬器上的點擊點的坐標。

(1)MonkeyRecorder的啟動

1.首先安卓手機連接上電腦,并保證以下兩個條件成立:

a.終端USB調(diào)成開發(fā)者模式

b.電腦安裝手機驅(qū)動

2.手機連接成功后,打開cmd窗口,輸入adb devices查看已連接真機或模擬器設(shè)備的名稱,我們這里仍以夜神模擬器為代表。如圖:

Appium+python自動化(二十二)- 三個臭皮匠助你成就一番霸業(yè)-控件坐標獲取(超詳解)_第1張圖片

?

3.在cmd窗口,輸入monkeyrunner后,啟動Monkeyrunner。做以下操作:導(dǎo)入MonkeyRecorder包、連接模擬器設(shè)備、以MonkeyRecorder方式啟動模擬器,并依次輸入

如下命令:

            
              1
            
            
              from
            
            
               com.android.monkeyrunner import MonkeyRunner,MonkeyDevice

            
            
              2
            
            
              3
            
            
              from
            
             com.android.monkeyrunner.recorder import MonkeyRecorder 
            
              as
            
            
               recorder

            
            
              4
            
            
              5
            
             device=
            
              MonkeyRunner.waitForConnection()

            
            
              6
            
            
              7
            
             recorder.start(device)
          

? Appium+python自動化(二十二)- 三個臭皮匠助你成就一番霸業(yè)-控件坐標獲取(超詳解)_第2張圖片

?

4.到此,MonkeyRecorder正式啟動。截圖如下。

Appium+python自動化(二十二)- 三個臭皮匠助你成就一番霸業(yè)-控件坐標獲取(超詳解)_第3張圖片

?

(2)MonkeyRecorder的使用

1.我們這里只是使用MonkeyRecorder來記錄坐標,獲取坐標的方式很簡單。比如qq的登錄界面,點擊“登錄”按鈕,右側(cè)就會顯示該按鈕的坐標;同樣,點擊賬號輸入框或密碼輸入框,右側(cè)同樣會顯示坐標。這個坐標就是我們需要獲得的坐標。

Appium+python自動化(二十二)- 三個臭皮匠助你成就一番霸業(yè)-控件坐標獲取(超詳解)_第4張圖片

?

2.同時, MonkeyRecorder中的界面是同模擬器頁面保持一致的,在 MonkeyRecorder中觸發(fā)任一操作,模擬器上會有相應(yīng)的觸發(fā)。如果兩者沒有保持一致,則點擊 MonkeyRecorder右上角的 Refresh Display即可刷新頁面。

Appium+python自動化(二十二)- 三個臭皮匠助你成就一番霸業(yè)-控件坐標獲取(超詳解)_第5張圖片

?

第二種方法(Uiautomatorviewer)

  網(wǎng)上很多推薦獲取坐標點的方式,是使用 android-sdk/tools 目錄下,提供的 uiautomatorviewer 工具來獲取。但是這種方式非常的繁瑣,而實際上,我們又不需要如此精確的坐標點,畢竟控件那么大,只要點擊的坐標落在控件的位置上,即可。

Uiautomatorviewer是Android sdk自帶的工具,位置在sdk/tools下。

工具打開方法:

1.sdk/tools下,找到uiautomatorviewer,雙擊打開

2.在cmd命令行,直接輸入uiautomatorviewer,打開該工具

Appium+python自動化(二十二)- 三個臭皮匠助你成就一番霸業(yè)-控件坐標獲取(超詳解)_第6張圖片

打開該工具后,我們就可以開始使用了。

運行環(huán)境:Windows

使用方法:

1.連接模擬器或真機(我們這里使用模擬器)

Appium+python自動化(二十二)- 三個臭皮匠助你成就一番霸業(yè)-控件坐標獲取(超詳解)_第7張圖片

2.打開模擬器中指定的app,在uiautomatorviewer中截圖指定頁面

Appium+python自動化(二十二)- 三個臭皮匠助你成就一番霸業(yè)-控件坐標獲取(超詳解)_第8張圖片

3.截圖成功后,頁面顯示如下:

Appium+python自動化(二十二)- 三個臭皮匠助你成就一番霸業(yè)-控件坐標獲取(超詳解)_第9張圖片

需要注意的是,你的手機設(shè)備或模擬器的api要在16以上,也就是android版本得是4.1以上,因為這個工具是google在4.1以后推出來的,只適用于4.1以后的版本

4.結(jié)果分析

從上圖中,可以獲取到對應(yīng)控件的ID及控件左上角、右下角的坐標。

1)對于控件坐標而言,這里很簡單,我們一般取中點坐標,即:

中點坐標=((左上角橫坐標+右下角橫坐標)/2,(左上角縱坐標+右下角縱坐標)/2)

如,上圖中,中點坐標即((30+1009)/2,(268+314)/2)=(519.5,291)

注:坐標一般取整。

由此,我們可以得到所需控件的坐標,在腳本中,直接touch該點坐標即可。

2)對于控件ID而言,即上圖中的紅色框中部分,同樣在腳本中,直接touch該ID即可。

另外,利用uiautomatorviewer還可以獲取父級與子級控件之間的關(guān)系,獲取到的關(guān)系同HierarchyViewer保持一致。

uiautomatorviewer就介紹到這里。?

第三種方法(Pointer location獲取坐標)

  那么我推薦另外一種更簡單的方式,來獲取當前你看見的,在待測試設(shè)備上的控件的坐標點的定位方式。那就是利用 Android 設(shè)備的開發(fā)者選項。

這里以夜神模擬器為例:

1.點擊設(shè)置

Appium+python自動化(二十二)- 三個臭皮匠助你成就一番霸業(yè)-控件坐標獲取(超詳解)_第10張圖片

?

2.點擊開發(fā)者選項

Appium+python自動化(二十二)- 三個臭皮匠助你成就一番霸業(yè)-控件坐標獲取(超詳解)_第11張圖片

?

3.在指針位置 ,將這個屬性開啟之后,當手指在屏幕上滑動的時候,就可以在頂部看到當前觸摸點的 X、Y 軸的坐標,這就是我們需要的。

Appium+python自動化(二十二)- 三個臭皮匠助你成就一番霸業(yè)-控件坐標獲取(超詳解)_第12張圖片

?

注意:開發(fā)者選項不是默認可見的,你需要自行開啟開發(fā)者模式,之后再進行此操作。(這不是可以上網(wǎng)自已查一下,如果是夜神模擬器,可以參考宏哥的小結(jié)部分開啟開發(fā)者選項)

小結(jié)

(1)安卓系統(tǒng)開啟開發(fā)者模式方法很多,我們模擬器是6.3.0.0版本這里只講適合夜神模擬器的方法,
??接下來進入圖文教程:

??1.點擊設(shè)置
Appium+python自動化(二十二)- 三個臭皮匠助你成就一番霸業(yè)-控件坐標獲取(超詳解)_第13張圖片 ?

??2.點擊關(guān)于平板電腦
Appium+python自動化(二十二)- 三個臭皮匠助你成就一番霸業(yè)-控件坐標獲取(超詳解)_第14張圖片 ?

??3.點擊7下版本號(手殘請點擊20下),點擊箭頭指向處的版本號(最底下的版本號),而不是上面的Android版本號
Appium+python自動化(二十二)- 三個臭皮匠助你成就一番霸業(yè)-控件坐標獲取(超詳解)_第15張圖片 ?

??4.返回設(shè)置菜單
Appium+python自動化(二十二)- 三個臭皮匠助你成就一番霸業(yè)-控件坐標獲取(超詳解)_第16張圖片 ?


Appium+python自動化(二十二)- 三個臭皮匠助你成就一番霸業(yè)-控件坐標獲取(超詳解)_第17張圖片 ?

Appium+python自動化(二十二)- 三個臭皮匠助你成就一番霸業(yè)-控件坐標獲取(超詳解)_第18張圖片 ?

??這里補充一點,如果感覺開發(fā)者這個選項礙眼,可以選擇關(guān)閉,關(guān)閉方法:

??設(shè)置--應(yīng)用--全部--找到設(shè)置軟件,點擊進入--清除數(shù)據(jù)
??這樣開發(fā)者模式又隱藏了~~
Appium+python自動化(二十二)- 三個臭皮匠助你成就一番霸業(yè)-控件坐標獲取(超詳解)_第19張圖片 ?

Appium+python自動化(二十二)- 三個臭皮匠助你成就一番霸業(yè)-控件坐標獲取(超詳解)_第20張圖片

?? 教程到此結(jié)束O(∩_∩)O~~

2、好了,今天關(guān)于控件坐標點獲取就到這里了!哈哈!最后祝大家都能熟練掌握!!!

您的肯定就是我進步的動力。 如果你感覺還不錯,就請鼓勵一下吧!記得點波 ?推薦 ?哦!!!(點擊右邊的小球即可)
Appium+python自動化(二十二)- 三個臭皮匠助你成就一番霸業(yè)-控件坐標獲取(超詳解)_第21張圖片

個人公眾號

Appium+python自動化(二十二)- 三個臭皮匠助你成就一番霸業(yè)-控件坐標獲取(超詳解)_第22張圖片

微信群

Appium+python自動化(二十二)- 三個臭皮匠助你成就一番霸業(yè)-控件坐標獲取(超詳解)_第23張圖片


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 正阳县| 德兴市| 巩留县| 古浪县| 桃园市| 东乌珠穆沁旗| 镇康县| 库车县| 潞城市| 杭锦旗| 江城| 嘉义县| 湖口县| 承德县| 大渡口区| 竹山县| 瓮安县| 临邑县| 黄大仙区| 波密县| 闽侯县| 三原县| 云林县| 玉田县| 大余县| 阿合奇县| 茌平县| 通州市| 大悟县| 连州市| 玉龙| 饶平县| 华安县| 海林市| 浦北县| 海宁市| 邢台县| 兴山县| 鹿泉市| 仲巴县| 筠连县|