真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

appium常用元素定位技巧是什么

本篇內(nèi)容介紹了“appium常用元素定位技巧是什么”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)建站從2013年創(chuàng)立,公司以成都做網(wǎng)站、成都網(wǎng)站建設(shè)、系統(tǒng)開(kāi)發(fā)、網(wǎng)絡(luò)推廣、文化傳媒、企業(yè)宣傳、平面廣告設(shè)計(jì)等為主要業(yè)務(wù),適用行業(yè)近百種。服務(wù)企業(yè)客戶1000多家,涉及國(guó)內(nèi)多個(gè)省份客戶。擁有多年網(wǎng)站建設(shè)開(kāi)發(fā)經(jīng)驗(yàn)。為企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、創(chuàng)意設(shè)計(jì)、宣傳推廣等服務(wù)。 通過(guò)專業(yè)的設(shè)計(jì)、獨(dú)特的風(fēng)格,為不同客戶提供各種風(fēng)格的特色服務(wù)。

Appium對(duì)于處理原生的android應(yīng)用直接通過(guò)uiautomatorviewer.bat這個(gè)工具來(lái)獲取元素定位。

在開(kāi)始appium元素定位的話題之前,首先讓我們了解下appium的一些基礎(chǔ)知識(shí):

一、測(cè)試對(duì)象

appium 是一個(gè)自動(dòng)化測(cè)試開(kāi)源工具,支持iOS和 Android平臺(tái)上的原生應(yīng)用,web應(yīng)用和混合應(yīng)用。

移動(dòng)原生應(yīng)用:?jiǎn)渭冇胕os或者android開(kāi)發(fā)語(yǔ)言編寫(xiě)的、針對(duì)具體某類移動(dòng)設(shè)備、可直接被安裝到設(shè)備里的應(yīng)用,一般可通過(guò)應(yīng)用商店獲?。?/p>

移動(dòng)web應(yīng)用:使用移動(dòng)瀏覽器訪問(wèn)的應(yīng)用(appium支持iOS上的Safari和Android上的 Chrome),不需要下載到設(shè)備上,而是通過(guò)瀏覽器直接訪問(wèn);

混合應(yīng)用:同時(shí)使用網(wǎng)頁(yè)語(yǔ)言與程序語(yǔ)言開(kāi)發(fā),通過(guò)應(yīng)用商店區(qū)分移動(dòng)操作系統(tǒng)分發(fā),用戶需要安裝使用的移動(dòng)應(yīng)用。

二、支持平臺(tái)及語(yǔ)言

appium是跨平臺(tái)的,支持OSX,Windows以及Linux系統(tǒng)。它允許測(cè)試人員在不同的平臺(tái)(iOS,Android)使用同一套API來(lái)寫(xiě)自動(dòng)化測(cè)試腳本,這樣大大增加了iOS和Android測(cè)試套件間代碼的復(fù)用性 

appium支持多語(yǔ)言,采用C/S設(shè)計(jì)模式,只要滿足client能夠發(fā)送http請(qǐng)求給server即可

三、元素定位

1.格式:find_element_by_定位方式(value)

我根據(jù)手機(jī)自帶的計(jì)算器來(lái)解釋

appium常用元素定位技巧是什么

通過(guò)id定位

通過(guò)工具獲取到按鈕的 resource-id

driver.find_element_by_id('resource-id')

實(shí)例: driver.find_element_by_id(' com.android.bbkcalculator:id/clear')

通過(guò)class定位

通過(guò)工具獲取到按鈕的class

driver.find_element_by_class_name('class')

實(shí)例: driver.find_element_by_class_name(' android.widget.ImageButton ')

通過(guò)text定位

appium1.5及之后的版本廢棄了name屬性(如name=百度一下,需要使用uiautomator的定位方式,使用text的內(nèi)容)

driver.find_element_by_android_uiautomator("text(\中文\)")

實(shí)例:driver.find_element_by_android_uiautomator ("text(\"百度一下\")")

備注:需要確認(rèn)這個(gè)中文是當(dāng)前頁(yè)面唯一值,否則還是定位不到,注意寫(xiě)法,不是直接把中文復(fù)制進(jìn)去

通過(guò)xpath定位

driver.find_element_by_xpath("xpath內(nèi)容 ")

實(shí)例:driver.find_element_by_xpath("http://android.widget.FrameLayout/android.widget.ImageButton[4]")

以下方式暫時(shí)沒(méi)有用到,如果有問(wèn)題以后會(huì)更改

通過(guò)accessibility_id

在UI Automator Viewer界面上并沒(méi)有找到這個(gè)字段,這個(gè)對(duì)應(yīng)的字段是content-desc

driver.find_element_by_accessibility_id("accessibility_id")

沒(méi)有找到實(shí)例,要是自己寫(xiě)自動(dòng)化的APP碰到了,可以用用

通過(guò)css_selector定位(webview)

只適用于webview的html頁(yè)面,繼承自webdriver,與pc版本的UI測(cè)試一致

driver.find_element_by_css_selector()

通過(guò)link_text定位(webview)

只適用于webview容器中的html頁(yè)面,繼承自webdriver,與pc版本的UI測(cè)試一致

driver.find_element_by_link_text()

通過(guò)name定位

只適用于webview容器中的html頁(yè)面,繼承自webdriver,與pc版本的UI測(cè)試一致

driver.find_element_by_name()

2.定位元素的另一種寫(xiě)法:find_element(by,value)

find_element_by_方式(value)實(shí)際調(diào)用的都是find_element(by,value)

需要導(dǎo)入這個(gè)包:from selenium.webdriver.common.by import By

例如:定位id為ag2的元素

方式一:driver.find_element_by_id("ag2”)

方式二:driver.find_element(By.ID,"ag2")

這個(gè)操作的好處是可以直接把操作的by和value放到一個(gè)元組里,然后調(diào)用通用方法來(lái)傳參獲得元素結(jié)果。

cateid=(By.ID,"ag2")

driver.find_element(*cateid).click()

by的操作可以是:

By.ID 相當(dāng)于by_id

By.CLASS_NAME 相當(dāng)于by_class_name

By.XPATH 相當(dāng)于by_xpath

By.NAME 相當(dāng)于by_name

By.TAG_NAME 相當(dāng)于by_tag_name

By.CSS_SELECTOR 相當(dāng)于by_css_selector

By.LINK_TEXT 相當(dāng)于by_link_text

3.find_elements_by_定位方式(value)返回元素?cái)?shù)組

用法與find_element_by_方式(value)一致,但是返回一個(gè)數(shù)組??梢酝ㄟ^(guò)數(shù)組的索引來(lái)訪問(wèn)具體的某個(gè)結(jié)果。

例如:通過(guò)class_name定位到多個(gè)元素,我想點(diǎn)擊第一個(gè)元素

driver.find_elements_by_class_name("android.widget.RelativeLayout”)[0].click()

4.返回元素?cái)?shù)組的另一種寫(xiě)法:find_elements(by,value)

用法與find_element(by,value)一致,但是返回一個(gè)數(shù)組??梢酝ㄟ^(guò)數(shù)組的索引來(lái)訪問(wèn)具體的某個(gè)結(jié)果。

例如:通過(guò)class_name定位到多個(gè)元素,我想點(diǎn)擊第一個(gè)元素

driver.find_elements(By.CLASS_NAME,"android.widget.RelativeLayout”)[0].click()

5.通過(guò)元素定位元素

可以先找到某個(gè)元素,然后再進(jìn)一步定位元素

find_element_by_class_xpath(“xxx”).find_element_by_name(“yyy")

四、元素操作

找到元素后可以對(duì)元素進(jìn)行的操作,例如上面講的進(jìn)一步定位元素

1.click()

//點(diǎn)擊操作

也可以用tab實(shí)現(xiàn)點(diǎn)擊操作

driver.find_element_by_id("com.wuba.zhuanzhuan:id/ae8").click()

2.clear()

//清空輸入框內(nèi)容

driver.find_element_by_id("com.wuba.zhuanzhuan:id/ij").clear()

3.send(xx)

//輸入框內(nèi)輸入內(nèi)容

driver.find_element_by_id("com.wuba.zhuanzhuan:id/ij").send_keys("test content")

4.text

//獲得元素的text內(nèi)容

print(driver.find_element_by_xpath(" //android.widget.LinearLayout[1]//xxx").text)

“appium常用元素定位技巧是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


文章標(biāo)題:appium常用元素定位技巧是什么
瀏覽路徑:http://weahome.cn/article/jsjsgg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部