国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

干貨|app自動(dòng)化測(cè)試之Andriod WebView如何測(cè)試

shinezejian / 2536人閱讀

摘要:使用進(jìn)行測(cè)試需要開發(fā)人員配合打開一個(gè)的開關(guān)。真機(jī)測(cè)試時(shí),必須在應(yīng)用中打開調(diào)試開關(guān)。點(diǎn)擊想要調(diào)試的下方的鏈接,就可以查看這個(gè)頁面的源代碼了。通過源代碼就可以查看并確定元素定位表達(dá)式了。


Hybrid App(混合模式移動(dòng)應(yīng)用)是介于 Web-app、Native-app 之間的 app,本質(zhì)上是 Native-app 中嵌入 WebView 組件,在 WebView 組件里可以訪問 Web App。Hybrid App 在給用戶良好交互體驗(yàn)的同時(shí),還具備了 Web App 的跨平臺(tái)、熱更新機(jī)制等優(yōu)勢(shì)。

Android WebView 在 Android 平臺(tái)上是一個(gè)特殊的 View,用它來展示網(wǎng)頁內(nèi)容。WebView 內(nèi)部實(shí)現(xiàn)是采用渲染引擎來展示 View 的內(nèi)容,提供網(wǎng)頁前進(jìn)后退、網(wǎng)頁放大、縮小、搜索等功能。使用 WebView 進(jìn)行測(cè)試需要開發(fā)人員配合打開一個(gè) WebView 的開關(guān)。

WebView開關(guān)

WebView 是手機(jī)應(yīng)用內(nèi)嵌的瀏覽器,在 Android 4.4 之前 WebView 內(nèi)核采用的是 WebKit,Android 4.4 之后才用的是 Chrome 作為內(nèi)置瀏覽器。它是用來加載 HTML 頁面的控件。在模擬器(android6.0 版本)中是默認(rèn)打開 WebView 開關(guān)的,可以直接調(diào)試和測(cè)試 WebView。真機(jī)測(cè)試時(shí),必須在應(yīng)用中打開 WebView 調(diào)試開關(guān)。要啟用 WebView 調(diào)試,請(qǐng)?jiān)?WebView 類上調(diào)用靜態(tài)方法 setWebContentsDebuggingEnabled。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {    if (0 != (getApplicationInfo().flags &/     ApplicationInfo.FLAG_DEBUGGABLE))    { WebView.setWebContentsDebuggingEnabled(true); }}

開啟這個(gè)開關(guān)之后,手機(jī)端打開被測(cè)的 WebView 頁面,然后在電腦端 Chrome 瀏覽器地址欄錄入 “chrome://inspect” 將顯示設(shè)備上的 WebView 列表。

點(diǎn)擊想要調(diào)試的 WebView 下方的 inspect 鏈接,就可以查看這個(gè)頁面的源代碼了。通過源代碼就可以查看并確定元素定位表達(dá)式了。

如果遇到 Chrome 瀏覽器版本和 Chromedriver 版本不匹配的問題,可以參見:https://ceshiren.com/t/topic/3275

WebView 測(cè)試

切換到 WebView 頁面,就可以使用 Selenium 操作元素。

driver.switch_to.context 方法可以從原生頁面切換到 WebView 頁面,示例代碼如下:

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

WebView 案例

雪球案例,打開雪球應(yīng)用,點(diǎn)擊“交易”,點(diǎn)擊“A 股開戶”進(jìn)入到開戶頁,驗(yàn)證頁面正確。如下圖:

實(shí)現(xiàn)的代碼片斷如下:

def test_webview(self):    # 點(diǎn)擊交易    self.driver.find_element(MobileBy.XPATH, "http://*[@text="交易"]").click()    # 打印當(dāng)前頁面有哪些上下文    print(self.driver.contexts)    e = self.driver.contexts    for context in self.driver.contexts[::-1]:        if "webview" in context.lower():            aim = context            break    # 切換上下文    self.driver.switch_to.context(aim)    # 點(diǎn)擊"A股開戶"    print(self.driver.window_handles)    A_locator = (MobileBy.XPATH, "http://*[@id="Layout_app_3V4"]/div/div/ul/li[1]/div[2]/h1")    WebDriverWait(self.driver, 10).until(expected_conditions.element_to_be_clickable(A_locator))

進(jìn)入到 APP 后,打開一個(gè)包含 H5 的頁面,系統(tǒng)默認(rèn)是 Native 的上下文。如果要操作 H5 上的元素,則需要切換到 WEBVIEW 的上下文。

上面的代碼先通過 driver.contexts 找到所有的 contexts(即上下文),循環(huán)遍歷這個(gè)contexts,找到目標(biāo)的 WEBVIEW,然后切換到這個(gè) WEBVIEW 中,再執(zhí)行相應(yīng)的操作。這時(shí)就可以使用 Selenium 的定位方式到 H5 頁面的元素了。

app自動(dòng)化測(cè)試(Android)Andriod WebView測(cè)試就講完了,大家學(xué)會(huì)了么?我們下一期為大家講解微信小程序測(cè)試,有興趣的小伙伴可以關(guān)注一下哦!

以上筆者的經(jīng)歷更像一張橫向的知識(shí)網(wǎng),創(chuàng)建了一個(gè)交流平臺(tái) 914172719 ,群內(nèi)有各種技術(shù)同行交流、學(xué)習(xí)資料、面試經(jīng)驗(yàn)等。其中用到j(luò)enkins、docker、moutebank、python編程等,還需要花更多的精力去深入學(xué)習(xí),當(dāng)每項(xiàng)技能都能掌握到一定深度,才能稱為一個(gè)完整的知識(shí)體系。

最后: 可以關(guān)注公眾號(hào):傷心的辣條 ! 進(jìn)去有許多資料共享!資料都是面試時(shí)面試官必問的知識(shí)點(diǎn),也包括了很多測(cè)試行業(yè)常見知識(shí),其中包括了有基礎(chǔ)知識(shí)、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫、抓包工具專題、接口測(cè)試工具、測(cè)試進(jìn)階-Python編程、Web自動(dòng)化測(cè)試、APP自動(dòng)化測(cè)試、接口自動(dòng)化測(cè)試、測(cè)試高級(jí)持續(xù)集成、測(cè)試架構(gòu)開發(fā)測(cè)試框架、性能測(cè)試、安全測(cè)試等。

如果我的博客對(duì)你有幫助、如果你喜歡我的博客內(nèi)容,請(qǐng) “點(diǎn)贊” “評(píng)論” “收藏” 一鍵三連哦!


好文推薦

轉(zhuǎn)行面試,跳槽面試,軟件測(cè)試人員都必須知道的這幾種面試技巧!

面試經(jīng):一線城市搬磚!又面軟件測(cè)試崗,5000就知足了…

面試官:工作三年,還來面初級(jí)測(cè)試?恐怕你的軟件測(cè)試工程師的頭銜要加雙引號(hào)…

什么樣的人適合從事軟件測(cè)試工作?

那個(gè)準(zhǔn)點(diǎn)下班的人,比我先升職了…

測(cè)試崗反復(fù)跳槽,跳著跳著就跳沒了…

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/119656.html

相關(guān)文章

  • 使用macaca進(jìn)行移動(dòng)端hybird動(dòng)化測(cè)試(二)

    摘要:正是因?yàn)檫@樣的協(xié)議存在一些自動(dòng)化測(cè)試框架可以使用多種語言編寫測(cè)試腳本。支持了所有的主流瀏覽器,同時(shí)還支持了和的移動(dòng)應(yīng)用測(cè)試。接下來就帶著大家一步一步使用進(jìn)行進(jìn)行自動(dòng)化測(cè)試全局安裝的如果覺得比較慢,就換淘寶的鏡像吧。 Macaca macaca是阿里開源的基于Node.js開發(fā)的自動(dòng)化測(cè)試工具,支持native,hybird,moblie web,關(guān)于macaca具體的內(nèi)容參見官網(wǎng)mac...

    wzyplus 評(píng)論0 收藏0
  • 可能這些是你想要的H5軟鍵盤兼容方案

    摘要:然而,并沒有直接監(jiān)聽軟鍵盤的原生事件,只能通過軟鍵盤彈起或收起,引發(fā)頁面其他方面的表現(xiàn)間接監(jiān)聽,曲線救國(guó)。軟鍵盤收起表現(xiàn)觸發(fā)輸入框以外的區(qū)域時(shí),輸入框失去焦點(diǎn),軟鍵盤收起。可以讓軟鍵盤彈起后,讓焦點(diǎn)元素再次滾到可視區(qū),強(qiáng)迫滾到位。 前言 最近一段時(shí)間在做 H5 聊天項(xiàng)目,踩過其中一大坑:輸入框獲取焦點(diǎn),軟鍵盤彈起,要求輸入框吸附(或頂)在輸入法框上。需求很明確,看似很簡(jiǎn)單,其實(shí)不然。從...

    stackvoid 評(píng)論0 收藏0
  • 跨平臺(tái)技術(shù)演進(jìn)

    摘要:接下來,我將從原理優(yōu)缺點(diǎn)等方面為大家分享跨平臺(tái)技術(shù)演進(jìn)。小程序年是微信小程序飛速發(fā)展的一年,年,各大廠商快速跟進(jìn),已經(jīng)有了很大的影響力。下面,我們以微信小程序?yàn)槔治鲂〕绦虻募夹g(shù)架構(gòu)。 前言 大家好,我是simbawu ,@BooheeFE Team Leader,關(guān)于這篇文章,有問題歡迎來這里討論。 隨著移動(dòng)互聯(lián)網(wǎng)的普及和快速發(fā)展,手機(jī)成了互聯(lián)網(wǎng)行業(yè)最大的流量分發(fā)入口。以及隨著5G...

    魏憲會(huì) 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<