欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Appium自動(dòng)化測(cè)試中獲取Toast信息操作

 更新時(shí)間:2022年02月15日 09:29:26   作者:測(cè)試之路king  
本文主要介紹了Appium自動(dòng)化測(cè)試中獲取Toast信息操作,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

Toast簡(jiǎn)介

Toast是Android中用來(lái)顯示顯示信息的一種機(jī)制,和Dialog不一樣的是,Toast是沒(méi)有焦點(diǎn)的,而且Toast顯示的時(shí)間有限,過(guò)一定的時(shí)間就會(huì)自動(dòng)消失。

Toast 定位

Appium 1.6.3開(kāi)始支持識(shí)別Toast內(nèi)容,主要是基于UiAutomator2,因此需要在Capablity配置參數(shù)

啟動(dòng)參數(shù)配置

desired_caps['automationName']='uiautomator2'

環(huán)境

  • Appium-Python-Client: 2.1.2
  • selenium: 4.1.0
  • Appium:v1.20.2

測(cè)試應(yīng)用

  • 網(wǎng)易云課堂

測(cè)試設(shè)備

  • 夜神模擬器 Android 7.1.2

測(cè)試場(chǎng)景

  • 進(jìn)入登錄界面輸入用戶(hù)名和錯(cuò)誤的密碼,獲取Toast內(nèi)容

代碼實(shí)現(xiàn)

# _*_ coding:utf-8 _*_

from appium import webdriver
from appium.webdriver.common.appiumby import AppiumBy

desired_caps = {
? ? "platformName": "Android",
? ? "platformVersion": "7.1.2",
? ? "udid": "127.0.0.1:62001",
? ? "appPackage": "com.netease.edu.study",
? ? "appActivity": "com.netease.edu.study.activity.ActivityWelcome",
? ? "noReset": True,
? ? 'automationName': 'uiautomator2'
}

driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
driver.implicitly_wait(30)

# 點(diǎn)擊我的菜單
driver.find_element(AppiumBy.ID, "com.netease.edu.study:id/tab_account").click()

# 點(diǎn)擊登錄注冊(cè)按鈕
driver.find_element(AppiumBy.XPATH, "http://*[@text='登錄/注冊(cè)']").click()

# 點(diǎn)擊手機(jī)號(hào)碼登錄
driver.find_element(AppiumBy.ID, "com.netease.edu.study:id/login_phone_login").click()

# 輸入手機(jī)號(hào)碼
driver.find_element(AppiumBy.ID, "com.netease.edu.study:id/tv_phone_num").send_keys("132****475")

# 輸入錯(cuò)誤密碼
driver.find_element(AppiumBy.ID, "com.netease.edu.study:id/tv_phone_pwd").send_keys("wy12345")

# 點(diǎn)擊登錄按鈕
driver.find_element(AppiumBy.ID, "com.netease.edu.study:id/button").click()

# 獲取toast提示
toast_text = driver.find_element(AppiumBy.XPATH, "http://*[@class=\"android.widget.Toast\"]").text
print(toast_text)

執(zhí)行結(jié)果:

說(shuō)明

toast 獲取主要使用一個(gè)通用的class屬性獲取,通過(guò)xpath的方式://*[@class="android.widget.Toast"]

toast信息存在是否存在判斷封裝

代碼

def is_toast_exist(driver,text,timeout=20,poll_frequency=0.5):
? ? '''is toast exist, return True or False
? ? :Agrs:
? ? ?- driver - 傳driver
? ? ?- text ? - 頁(yè)面上看到的文本內(nèi)容
? ? ?- timeout - 最大超時(shí)時(shí)間,默認(rèn)20s
? ? ?- poll_frequency ?- 間隔查詢(xún)時(shí)間,默認(rèn)0.5s查詢(xún)一次
? ? :Usage:
? ? ?is_toast_exist(driver, "看到的內(nèi)容")
? ? '''
? ? try:
? ? ? ? toast_loc = ("xpath", ".//*[contains(@text,'%s')]"%text)
? ? ? ? WebDriverWait(driver, timeout, poll_frequency).until(EC.presence_of_element_located(toast_loc))
? ? ? ? return True
? ? except:
? ? ? ? return False

toast信息內(nèi)容獲取

代碼

def is_toast_exist(driver,timeout=20,poll_frequency=0.5):
? ? '''is toast exist, return toast_text or None
? ? :Agrs:
? ? ?- driver - 傳driver
? ? ?- timeout - 最大超時(shí)時(shí)間,默認(rèn)20s
? ? ?- poll_frequency ?- 間隔查詢(xún)時(shí)間,默認(rèn)0.5s查詢(xún)一次
? ? :Usage:
? ? ?is_toast_exist(driver)
? ? '''
? ? try:
? ? ? ? toast_loc = ("xpath", "http://*[@class=\"android.widget.Toast\"]")
? ? ? ? WebDriverWait(driver, timeout, poll_frequency).until(EC.presence_of_element_located(toast_loc))
? ? ? ? toast_text = driver.find_element(AppiumBy.XPATH, "http://*[@class=\"android.widget.Toast\"]").text
? ? ? ? return toast_text
? ? except:
? ? ? ? return None

到此這篇關(guān)于Appium自動(dòng)化測(cè)試中獲取Toast信息操作的文章就介紹到這了,更多相關(guān)Appium 獲取Toast內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用python實(shí)現(xiàn)拉鉤網(wǎng)上的FizzBuzzWhizz問(wèn)題示例

    使用python實(shí)現(xiàn)拉鉤網(wǎng)上的FizzBuzzWhizz問(wèn)題示例

    這篇文章主要介紹了使用python實(shí)現(xiàn)拉鉤網(wǎng)上的FizzBuzzWhizz問(wèn)題示例,需要的朋友可以參考下
    2014-05-05
  • IronPython連接MySQL的方法步驟

    IronPython連接MySQL的方法步驟

    這篇文章主要介紹了IronPython連接MySQL的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 如何查看Mac本機(jī)的Python3安裝路徑

    如何查看Mac本機(jī)的Python3安裝路徑

    這篇文章主要介紹了如何查看Mac本機(jī)的Python3安裝路徑問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Python讀取Excel一列并計(jì)算所有對(duì)象出現(xiàn)次數(shù)的方法

    Python讀取Excel一列并計(jì)算所有對(duì)象出現(xiàn)次數(shù)的方法

    這篇文章主要給大家介紹了關(guān)于Python讀取Excel一列并計(jì)算所有對(duì)象出現(xiàn)次數(shù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • python正則表達(dá)式之對(duì)號(hào)入座篇

    python正則表達(dá)式之對(duì)號(hào)入座篇

    正則表達(dá)式是對(duì)字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個(gè)“規(guī)則字符串”,這個(gè)“規(guī)則字符串”用來(lái)表達(dá)對(duì)字符串的一種過(guò)濾邏輯
    2018-07-07
  • Python猴子補(bǔ)丁Monkey Patch用法實(shí)例解析

    Python猴子補(bǔ)丁Monkey Patch用法實(shí)例解析

    這篇文章主要介紹了Python猴子補(bǔ)丁Monkey Patch用法實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 理解生產(chǎn)者消費(fèi)者模型及在Python編程中的運(yùn)用實(shí)例

    理解生產(chǎn)者消費(fèi)者模型及在Python編程中的運(yùn)用實(shí)例

    生產(chǎn)者消費(fèi)者模型一般用于體現(xiàn)程序的多線(xiàn)程并發(fā)性,Python的多線(xiàn)程雖然受到GIL控制,但依然可以構(gòu)建隊(duì)列來(lái)簡(jiǎn)單體現(xiàn)出模型的思路,這里我們就來(lái)共同理解生產(chǎn)者消費(fèi)者模型及在Python編程中的運(yùn)用實(shí)例:
    2016-06-06
  • 使用Python腳本對(duì)Linux服務(wù)器進(jìn)行監(jiān)控的教程

    使用Python腳本對(duì)Linux服務(wù)器進(jìn)行監(jiān)控的教程

    這篇文章主要介紹了使用Python程序?qū)inux服務(wù)器進(jìn)行監(jiān)控的教程,主要基于Python2.7的版本,需要的朋友可以參考下
    2015-04-04
  • OpenCV實(shí)現(xiàn)相機(jī)標(biāo)定

    OpenCV實(shí)現(xiàn)相機(jī)標(biāo)定

    這篇文章主要為大家詳細(xì)介紹了OpenCV實(shí)現(xiàn)相機(jī)標(biāo)定,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Python實(shí)現(xiàn)在一行中交換兩個(gè)變量

    Python實(shí)現(xiàn)在一行中交換兩個(gè)變量

    這篇文章主要為大家詳細(xì)介紹了如何利用Python語(yǔ)言實(shí)現(xiàn)在一行中交換兩個(gè)變量功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-08-08

最新評(píng)論