> 本文節(jié)選自霍格沃茲測(cè)試學(xué)院內(nèi)部教材
Toast 是 Android 系統(tǒng)中的一種消息框類型魔慷,它屬于一種輕量級(jí)的消息提示,常常以小彈框的形式出現(xiàn)著恩,一般出現(xiàn) 1 到 2
秒會(huì)自動(dòng)消失院尔,可以出現(xiàn)在屏幕上中下任意位置。它不同于 Dialog喉誊,它沒有焦點(diǎn)邀摆。Toast
的設(shè)計(jì)思想是盡可能的不引人注意,同時(shí)還向用戶顯示信息希望他們看到裹驰。
測(cè)試 APP 下載地址:
> https://github.com/appium/sample-code/raw/master/sample-
> code/apps/ApiDemos/bin/ApiDemos-debug.apk
首先將上面地址的 apk 包下載到本地隧熙,并安裝到模擬器中;在模擬器中打開 API Demos幻林,依次點(diǎn)擊“Views”-“Popup Menu”-"Make
a Popup"-"Search"贞盯,就會(huì)彈出消息提示框音念,如圖:
上圖中 “Clicked Popup menu item Search” 就是 Toast,但它通常在頁面上停留的時(shí)間只有 2 秒左右躏敢,通過 Appium
Inspector 一般不容易獲取到這個(gè)元素闷愤。
獲取Toast??
在模擬器中打開 API Demos 應(yīng)用,依次點(diǎn)擊 “Views”-“Popup Menu”-"Make a Popup"-"Search"件余,查看頁面
Toast 元素讥脐。
設(shè)置capabilities??
###??
###??
? *? ?*? ?*? ?*? ?*? ?*? ?*? ?*? ?*? ?*?
? ? caps = {}caps["platformName"] = "android"caps["deviceName"] = "TestToast"caps["appPackage"] = "io.appium.android.apis"caps["appActivity"] = ".ApiDemos"#必須使用uiautomator2框架caps["automationName"] = "uiautomator2"caps["udid"] = "192.168.56.101:5555"??
? ? driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
編寫測(cè)試用例代碼??
? *? ?*? ?*? ?*? ?*? ?*? ?*? ?*? ?*? ?*? ?*? ?*? ?*? ?*? ?*? ?*? ?*? ?*? ?*? ?*? ?*?
? ? # 點(diǎn)擊 Viewsdriver.find_element_by_accessibility_id("Views").click()time.sleep(2)# 滑動(dòng)頁面TouchAction(driver).long_press(380, 1150).move_to(380, 150).release().perform()# 點(diǎn)擊 `Popup Menu` 項(xiàng)目driver.find_element_by_xpath(? "http://*[@content-desc='Popup Menu']").click()sleep(2)# 點(diǎn)擊 `Make a Popup`driver.find_element_by_xpath(? "http://*[@content-desc='Make a Popup!']").click()sleep(2)# 點(diǎn)擊 'Search'driver.find_element_by_xpath("http://*[contains(@text,'Search')]").click()toastXPath = "http://*[@class='android.widget.Toast']"#打印 toastXPathprint(driver.find_element_by_xpath(toastXPath))#打印 toastXPath 獲取的 textprint(driver.find_element_by_xpath(toastXPath).text)
這里定位 Toast 使用了 Xpath 表達(dá)式進(jìn)行定位,因?yàn)?Toast 的 class
屬性比較特殊啼器,在當(dāng)前頁面上一般會(huì)出現(xiàn)一次`class="android.widget.Toast"` 的元素旬渠,所以使用 Xpath
定位方式,很輕松的可以定位到端壳。
查看執(zhí)行結(jié)果??
消息提示Toast獲取方法就講完了告丢,大家學(xué)會(huì)了么?我們下一期為大家講解app自動(dòng)化中的屬性獲取與斷言损谦,有興趣的小伙伴可以關(guān)注一下哦岖免!
?** _?
來霍格沃茲測(cè)試開發(fā)學(xué)社,學(xué)習(xí)更多軟件測(cè)試與測(cè)試開發(fā)的進(jìn)階技術(shù)照捡,知識(shí)點(diǎn)涵蓋web自動(dòng)化測(cè)試 app自動(dòng)化測(cè)試颅湘、接口自動(dòng)化測(cè)試、測(cè)試框架栗精、性能測(cè)試闯参、安全測(cè)試、持續(xù)集成/持續(xù)交付/DevOps术羔,測(cè)試左移赢赊、測(cè)試右移、精準(zhǔn)測(cè)試级历、測(cè)試平臺(tái)開發(fā)、測(cè)試管理等內(nèi)容叭披,課程技術(shù)涵蓋bash寥殖、pytest、junit涩蜘、selenium嚼贡、appium、postman同诫、requests粤策、httprunner、jmeter误窖、jenkins叮盘、docker秩贰、k8s、elk柔吼、sonarqube毒费、jacoco、jvm-sandbox等相關(guān)技術(shù)愈魏,全面提升測(cè)試開發(fā)工程師的技術(shù)實(shí)力
QQ交流群:484590337
公眾號(hào) TestingStudio
視頻資料領(lǐng)让俨!:https://qrcode.testing-studio.com/f?from=jianshu&url=https://ceshiren.com/t/topic/15844