最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Appium自動化測試實現(xiàn)H5頁面元素定位

 更新時間:2022年02月15日 10:03:52   作者:測試之路king  
本文主要介紹了Appium自動化測試實現(xiàn)H5頁面元素定位,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

簡介

  在現(xiàn)在的移動端App中,由于開發(fā)效率、需求頻繁變更的需求情況下,經(jīng)常有相關(guān)的運(yùn)營需求,經(jīng)常要進(jìn)行更新,如果全部采用原生開發(fā),需要的成本比較高,后來就出現(xiàn)了內(nèi)嵌的H5頁面。那么這些H5頁面元素該如何進(jìn)行定位操作呢?

  針對這種H5場景直接使用前面所講的方法來進(jìn)行定位是不行,因為前面的都是基于Andriod原生控件進(jìn)行元素定位,而Web網(wǎng)頁是單獨(dú)的B/S架構(gòu),兩者的運(yùn)行環(huán)境不同因此需要進(jìn)行上下文(context)切換,然后對H5頁面元素進(jìn)行定位操作。

  上下文:在程序中context我們可以理解為當(dāng)前對象在程序中所處的一個環(huán)境。 比如前面提到的App一個界面是屬于Activity類型,也就是Android界面環(huán)境,但是當(dāng)訪問內(nèi)嵌的網(wǎng)頁是屬于另外一個環(huán)境(網(wǎng)頁環(huán)境),兩者處于不同的一個環(huán)境。

H5元素定位準(zhǔn)備工作

Webview 調(diào)試模式是否開啟檢查

在自動化腳本中,進(jìn)入到對應(yīng)的H5頁面,打印輸出當(dāng)前context,如果一直顯示為Natvie App,則webview未開啟

打開app對應(yīng)的h5頁面,在 chrome://inspect/#devices 地址中,檢查是否顯示對應(yīng)的webview,如沒有,則當(dāng)前未開啟調(diào)試模式

開啟方式:
在WebView類中調(diào)用靜態(tài)方法setWebContentsDebuggingEnabled,這種需要App開發(fā)人員操作。

if (Build.VERSION.SDK_INT >=Build.VERSION_CODES.KITKAT) {  
 WebView.setWebContentsDebuggingEnabled(true);

拿到H5頁面地址和chrom版本信息

本次測試應(yīng)用為學(xué)科網(wǎng)APP

  • 手機(jī)與電腦連接,開啟USB調(diào)試模式,通過adb devices可查看到此設(shè)備
  • 在手機(jī)端(模擬器)打開應(yīng)用,進(jìn)入H5頁面

在這里插入圖片描述

在電腦端Chrome瀏覽器地址欄輸入chrome://inspect/#devices,進(jìn)入調(diào)試模式

查看顯示出來的H5頁面地址
地址:https://m.zxxk.com/activity/appnewusergift/
chrom瀏覽器版本:75.0.3770.143

在這里插入圖片描述

下載對應(yīng)Chromedriver

打開Chromedriver下載地址進(jìn)行下載對應(yīng)版本

http://chromedriver.storage.googleapis.com/index.html?path=75.0.3770.140/

在這里插入圖片描述

將下載的驅(qū)動放到一個路徑,例如:C:\Users\Administrator\Desktop\chromedriver_win32 contexts上下文操作

獲取所有上下文

driver.contexts

獲取當(dāng)前上下文

driver.context

切換上下文

方法一:

driver.switch_to.context('WEBVIEW_com.xkw.client')

方法二:

contexts = driver.contexts
driver.switch_to.context(contexts[-1])

切回原生應(yīng)用

driver.switch_to.context('NATIVE_APP')

實戰(zhàn)案例

實戰(zhàn)場景

  • 啟動學(xué)科網(wǎng)APP應(yīng)用,在發(fā)現(xiàn)頁面點擊現(xiàn)金券下載券領(lǐng)取活動
  • 在活動落地頁,點擊一鍵領(lǐng)取大禮包按鈕
  • 在點擊登錄注冊頁面的左上角的關(guān)閉按鈕

實戰(zhàn)代碼

# _*_ coding:utf-8 _*_
import time
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.xkw.client",
    "appActivity": "com.zxxk.page.main.LauncherActivity",
    "noReset": True,
    'automationName': 'uiautomator2',
    "chromeOptions": {'w3c': False},
    "chromedriverExecutable": r"C:\Users\Administrator\Desktop\chromedriver_win32\chromedriver.exe"
}

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

# 點擊活動入口
driver.find_element(AppiumBy.ID, "com.xkw.client:id/iv_horizontal_pic").click()
time.sleep(5)
# 獲取contexts
context = driver.contexts
# 切換到webview
driver.switch_to.context(context[-1])

driver.find_element(AppiumBy.ID, "getgifts").click()
time.sleep(1)
# 切換到Native
driver.switch_to.context("NATIVE_APP")
driver.find_element(AppiumBy.ID, "com.xkw.client:id/common_toolbar_back_img").click()

到此這篇關(guān)于Appium自動化測試實現(xiàn)H5頁面元素定位的文章就介紹到這了,更多相關(guān)Appium H5頁面元素定位內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python之字典對象的幾種創(chuàng)建方法

    Python之字典對象的幾種創(chuàng)建方法

    這篇文章主要介紹了Python之字典對象的幾種創(chuàng)建方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 如何使用Python在2秒內(nèi)評估國際象棋位置詳解

    如何使用Python在2秒內(nèi)評估國際象棋位置詳解

    關(guān)心編程語言的使用趨勢的人都知道,最近幾年,國內(nèi)最火的兩種語言非Python與Go莫屬,下面這篇文章主要給大家介紹了關(guān)于如何使用Python在2秒內(nèi)評估國際象棋位置的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Scrapy之爬取結(jié)果導(dǎo)出為Excel的實現(xiàn)過程

    Scrapy之爬取結(jié)果導(dǎo)出為Excel的實現(xiàn)過程

    這篇文章主要介紹了Scrapy之爬取結(jié)果導(dǎo)出為Excel的實現(xiàn)過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 淺談python之高階函數(shù)和匿名函數(shù)

    淺談python之高階函數(shù)和匿名函數(shù)

    這篇文章主要介紹了python之高階函數(shù)和匿名函數(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 使用PyTorch實現(xiàn)隨機(jī)搜索策略

    使用PyTorch實現(xiàn)隨機(jī)搜索策略

    這篇文章主要介紹了使用PyTorch實現(xiàn)隨機(jī)搜索策略,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • Python學(xué)習(xí)之直方圖均衡化原理詳解

    Python學(xué)習(xí)之直方圖均衡化原理詳解

    直方圖均衡化是以累計分布函數(shù)為核心,將原始圖像灰度直方圖從比較集中的某個灰度區(qū)間,非線性地映射為在全部灰度范圍內(nèi)的較均勻分布,從而增強(qiáng)對比度。本文將為大家詳細(xì)講解直方圖均衡化的原理,需要的可以參考一下
    2022-03-03
  • 對python 匹配字符串開頭和結(jié)尾的方法詳解

    對python 匹配字符串開頭和結(jié)尾的方法詳解

    今天小編就為大家分享一篇對python 匹配字符串開頭和結(jié)尾的方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python如何繪制概率分布直方圖淺析

    Python如何繪制概率分布直方圖淺析

    項目中在前期經(jīng)常要看下數(shù)據(jù)的分布情況,這對于探究數(shù)據(jù)規(guī)律非常有用,概率分布表示樣本數(shù)據(jù)的模樣,使用Python繪制頻率分布直方圖非常簡潔,因為用的頻次非常高,這篇文章主要給大家介紹了關(guān)于Python如何繪制概率分布直方圖的相關(guān)資料,需要的朋友可以參考下
    2021-12-12
  • django ModelForm修改顯示縮略圖 imagefield類型的實例

    django ModelForm修改顯示縮略圖 imagefield類型的實例

    今天小編就為大家分享一篇django ModelForm修改顯示縮略圖 imagefield類型的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python抓取網(wǎng)頁圖片并放到指定文件夾

    python抓取網(wǎng)頁圖片并放到指定文件夾

    這篇文章主要介紹了python抓取網(wǎng)頁圖片并放到指定文件夾,需要的朋友可以參考下
    2014-04-04

最新評論

朝阳区| 洛阳市| 宁武县| 栖霞市| 松潘县| 万源市| 北碚区| 嘉鱼县| 海城市| 凤庆县| 方城县| 临漳县| 广东省| 西乌珠穆沁旗| 山丹县| 平远县| 始兴县| 社会| 和静县| 岱山县| 康定县| 清镇市| 陆良县| 甘孜县| 中山市| 旺苍县| 宜春市| 松阳县| 平顶山市| 凯里市| 南乐县| 临江市| 巴里| 宝鸡市| 昂仁县| 建瓯市| 长子县| 定安县| 包头市| 榆树市| 化州市|