Appium

一、capabilities設置與啓動html

①啓動本地服務器node

②啓動檢查器python

③填入相應的參數web

 

deviceName獲取方式:adb devices服務器

appPackage獲取方式:aapt dump badging + 包名app

appActivity獲取方式:aapt dump badging + 包名dom

快速匹配:aapt dump badging + 包名 | find 「launchable-activity」spa

 

關於跟手機創建鏈接:.net

https://blog.csdn.net/JOJOY_tester/article/details/72081905debug

 

Appium幾種定位元素的方法:

一、id定位

二、元素定位

①name、classname定位

②相對定位

 

三、xpath定位('//*[@類名="xxx"]')

 

XPath使用路徑表達式從XML文檔中選擇一個或多個節點的列表。如下是有用的路徑和表達,從XML文檔選擇節點的任何節點/列表清單。

表達式 描述
node-name 選擇具備給定名稱的全部節點「nodename」
/ 選擇從根節點開始
// 選擇從當前節點匹配開始的選擇
. 選擇當前節點
.. 選擇當前節點的父節點
@ 選擇屬性
student 例如:選擇名稱爲「student」的全部節點
class/student 例如:選擇屬於類的全部學生的子類元素
//student 選擇文檔中全部學生的元素

謂詞

謂詞用於查找特定的節點或一個節點含有特定的值,並使用所定義 [...] .

表達式 結果
/class/student[1] 選擇的是類元素的子第一個學生的元素
/class/student[last()] 選擇的是類元素的子最後一個學生的元素
/class/student[last()-1] 選擇的是類元素倒數的第二個學生的子元素
//student[@rollno='493'] 選擇一個名爲rollno爲'493'值的屬性的學生元素

 

xpath匹配符

通配符 描述
* 匹配任何元素節點
@* 匹配任何屬性節點
node() 匹配任何類型的節點
   

 

四、list定位

find_elements_by_xx (多個元素定位)

 生成隨機的帳戶:用到random

 

 

五、Uiautomator定位

 

 元素等待

http://www.cnblogs.com/mengyu/p/6972968.html

①強制等待

設置固定的等待時間,使用sleep()方法實現

from time import sleep

# 強制等待5秒

sleep(5)

 

②隱式等待

隱式等待是針對所有元素設置的等待時間

driver.implicitly_wait(2)  # 等待2秒

③顯式等待 

 顯式等待是針對某個元素來設置的等待時間

 

 

 Toast元素識別

 

 

H5元素搭建

 

 

屏幕截圖

driver.save_screenshot() 保存截圖到當前路徑

driver.get_screenshot_as_file() 保存截圖到指定路徑

 

appium滑動操做

 

連續滑動

TouchAction

先導入對應的模塊:

from appium.webdriver.common.touch_action import TouchAction

對應操做的方法:

短按:press()  按壓一個元素或座標

TouchAction(driver). press(x,y) 

長按:longpress()  比按壓多個一個duration(按壓時間)時間參數,以毫秒爲單位

TouchAction(driver).longpress(x,y,1000) 

點擊:tap()

移動:move_to()

暫停:wait() 等待時間,單位毫秒

釋放:release() 結束屏幕上的一系列動做的命令操做

執行:perform() 講執行的操做發送到服務器的命令操做

組合示例:

TouchAction(driver). press(x,y) .wait(1000).move_to(x2,y2).release() #點擊->等待1000毫秒->移動->釋放

 

地圖縮放

 MultiAction

導入

from appium.webdriver.common.multi_action import MultiAction

 

 

 

capabilities更改成yaml

官網下載地址:https://pypi.org/project/pyaml/

pip install pyyaml  安裝yaml

若是遇到報:

 處理方法:

 

 

安裝完畢後檢測是否安裝成功 cmd->python->import yaml

 

  

日誌收集

 

 

 首先咱們日誌須要按照info、debug、error等級別來進行區分的。固然這個級別能夠本身去設置。在通常的狀況下咱們普通的輸出咱們直接用info類型,調試的時候用debug類型,若是預計有錯誤時那麼咱們就須要用error類型的日誌,通常狀況去info級別最爲合適。

日誌格式化是爲了提升日誌的可閱讀性,好比:時間+模塊+行數+日誌具體信息 的內容格式。若是日誌信息雜亂無章的所有輸出來,這樣也不利於定位問題。以下所示就是日誌格式化輸出,很是便於閱讀查看。

相關文章
相關標籤/搜索