国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

App自動化測試:高級控件交互技巧

這篇具有很好參考價值的文章主要介紹了App自動化測試:高級控件交互技巧。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

簡介

APP 的控件元素不僅涵蓋了基礎用戶界面操作,還包括用戶與應用程序中更復雜、功能豐富的空間之間的互動。這種交互遠不止于簡單的按鈕或輸入框。通過借助 Appium 的 Actions,能夠完成對應用程序進行手勢識別的交互。這意味著可以通過各種手勢,如滑動、縮放、長按等,實現(xiàn)更靈活、直觀的用戶體驗。這種高級交互使得應用程序更具交互性和吸引力,為用戶提供了更深入?yún)⑴c應用功能的途徑。

Actions 介紹

Actions 是 Appium 中的關鍵類,專門設計用于執(zhí)行各種手勢和交互操作,包括但不限于點擊、滑動、長按等。這個類的存在使得在移動端應用程序的自動化測試中,通過 Appium 可以輕松地控制設備活模擬器執(zhí)行多樣化的手勢操作,通過 Actions ,測試人員可以模擬用戶真實的操作行為,確保應用在不同交互場景下的穩(wěn)定性和可靠性。這一功能對于移動應用的全面測試和質量保證至關重要。

ActionChains 和 Actions 區(qū)別

ActionChains 是 Selenium WebDriver 中的一個類,可用于執(zhí)行一系列的操作,如鼠標懸停、拖放、按下鍵盤等。

而 Actions 是 Appium 中的一個類,用于執(zhí)行手勢和交互操作,如點擊、滑動、長按等。

盡管兩者的名稱相似,但它們是針對不同的自動化測試環(huán)境而設計的。

ActionChains 適用于網(wǎng)頁自動化測試,通過 Selenium WebDriver 控制瀏覽器執(zhí)行各種交互操作,并提供了一系列方法來模擬用戶的行為。

而 Actions 則適用于移動端應用程序的自動化測試,通過 Appium 控制設備或模擬器執(zhí)行各種手勢操作。

除了適用于不同的自動化測試環(huán)境之外, ActionChains 和 Actions 的用法和語法也略有不同。在 Selenium WebDriver 中使用 ActionChains 時,可以通過鏈式調(diào)用方法來執(zhí)行一系列操作,并使用 perform() 方法來觸發(fā)操作的執(zhí)行。而在 Appium 中使用 Actions 時,需要創(chuàng)建 TouchAction 對象,并使用其提供的方法來執(zhí)行手勢操作,并使用 perform() 方法來觸發(fā)手勢的執(zhí)行。

Actions 用法

在使用 ActionChains 進行用戶交互自動化時,首先需要導入 ActionChains 類以及其他相關模塊,然后定義一個 ActionChains 實例,并將 driver 傳入。之后,可以通過定義輸入源和具體的動作來實現(xiàn)各種用戶交互操作。

  • 導入 ActionChains 類及其他模塊

  • 定義 ActionChains 實例 ‘a(chǎn)ctions’,傳入 driver

  • 定義輸入源

  • 定義動作

  • 執(zhí)行動作

滑動解鎖示例

  • 安裝手勢密碼鎖 app(TouchAction.apk)
  • 打開應用
  • 點擊【設置手勢】
  • 完成手勢操作(如圖)

App自動化測試:高級控件交互技巧,app自動化測試-appium,python,appium,功能測試

實現(xiàn)手勢滑動時,通常需要結合坐標,并可通過設置設備的輸入選項,從界面中找到具體的坐標點。

手勢滑動路徑如下圖所示:

App自動化測試:高級控件交互技巧,app自動化測試-appium,python,appium,功能測試

Python 版本


class TestActionChains:

    def setup_class(self):
        # 設置啟動參數(shù)
        caps = {
            "platformName": "Android",
            "appium:appPackage": "cn.kmob.screenfingermovelock",
            "appium:appActivity": "com.samsung.ui.FlashActivity",
            "appium:noReset": True,
            "appium:shouldTerminateApp": True,
        }
        # 初始化 driver
        self.driver = webdriver.Remote('http://localhost:4723', options=UiAutomator2Options().load_capabilities(caps))
        # 設置隱式等待
        self.driver.implicitly_wait(15)

    def teartdown_class(self):
        # 退出應用程序
        self.driver.quit()

    def test_slide_to_unlock(self):
        # 點擊設置手勢
        self.driver.find_element(by=AppiumBy.ID, value="cn.kmob.screenfingermovelock:id/patternTxt").click()
        print(self.driver.get_window_size())
        # 定義ActionChains實例
        actions = ActionChains(self.driver)
        # 定義輸入源
        actions.w3c_actions = ActionBuilder(self.driver, mouse=PointerInput(interaction.POINTER_TOUCH, "touch"))
        # 定義動作 pointer_down按下 pause暫停 release釋放
        # 需要實現(xiàn)3個點之間的滑動,A->B 水平滑動 B—>C 豎直滑動
        bounds = self.driver.find_element(AppiumBy.ID, 'cn.kmob.screenfingermovelock:id/patternView').get_attribute(
            'bounds')
        actions.w3c_actions.pointer_action.move_to_location(204, 377)
        actions.w3c_actions.pointer_action.pointer_down()
        actions.w3c_actions.pointer_action.move_to_location(930, 373)
        # 停頓0.5s 模擬在兩個點之間進行拖拽操作
        actions.w3c_actions.pointer_action.pause(0.5)
        actions.w3c_actions.pointer_action.move_to_location(846, 1150)
        actions.w3c_actions.pointer_action.pause(0.5)
        actions.w3c_actions.pointer_action.release()
        # 執(zhí)行操作
        actions.perform()
                # 獲取【繼續(xù)】按鈕的 clickable 屬性值
        result = self.driver.find_element(AppiumBy.ID, "cn.kmob.screenfingermovelock:id/btnTwo").get_attribute(
            "clickable")
        # 斷言【繼續(xù)按鈕】可點擊
        assert result == "true"

總結

  • Actions 用法

  • 滑動解鎖示例

獲取更多軟件測試技術資料/面試題解析,請點擊!App自動化測試:高級控件交互技巧,app自動化測試-appium,python,appium,功能測試文章來源地址http://www.zghlxwxcb.cn/news/detail-847065.html

到了這里,關于App自動化測試:高級控件交互技巧的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Web自動化測試——XAPTH高級定位

    Web自動化測試——XAPTH高級定位

    XPath 是一門在 XML 文檔中查找信息的語言 XPath 使用路徑表達式在 XML 文檔中進行導航 XPath 的應用非常廣泛 XPath 可以應用在UI自動化測試 web自動化測試 app自動化測試 可維護性更強 語法更加簡潔 相比于css可以支持更多的方式 瀏覽器-console $x(\\\"xpath表達式\\\") 瀏覽器-elements ctrl+f 輸

    2024年02月03日
    瀏覽(22)
  • UI自動化測試(APP測試)

    UI自動化測試(APP測試)

    1、什么是自動化測試 概念:由程序代替人工進行系統(tǒng)校驗的過程 1.1自動化測試能解決的問題? 回歸測試 (冒煙測試) 針對之前老的功能進行測試 通過自動化的代碼來實現(xiàn)。 針對上一個版本的問題的回歸 兼容性測試 web實例化不同的瀏覽器驅動相當于對不同的瀏覽器進行操作

    2024年02月01日
    瀏覽(49)
  • 【APP自動化測試必知必會】Appium之微信小程序自動化測試

    【APP自動化測試必知必會】Appium之微信小程序自動化測試

    H5 是指第 5 代 HTML ,也指用 H5 語言制作的一切數(shù)字產(chǎn)品。 所謂 HTML 是“超文本標記語言”的英文縮寫。我們上網(wǎng)所看到網(wǎng)頁,多數(shù)都是由 HTML 寫成的。 “超文本”是指頁面內(nèi)可以包含圖片、鏈接,甚至音樂、程序等非文字元素。而“標記”指的是 這些超文本必須由包含屬性

    2024年02月09日
    瀏覽(122)
  • app自動化測試(Android)

    app自動化測試(Android)

    Capability 是一組鍵值對的集合(比如:\\\"platformName\\\": \\\"Android\\\")。Capability 主要用于通知 Appium 服務端建立 Session 需要的信息??蛻舳耸褂锰囟ㄕZ言生成 Capabilities,最終會以 JSON 對象的形式發(fā)送給 Appium 服務端。 比如下面的例子展示了幾個重要的 capabilities: Python 版本 Java 版本

    2024年02月09日
    瀏覽(24)
  • web自動化測試入門篇06 —— 元素定位進階技巧

    web自動化測試入門篇06 —— 元素定位進階技巧

    ? ?? 作者簡介:博主是一位測試管理者,同時也是一名對外企業(yè)兼職講師。 ?? 主頁地址:【Austin_zhai】 ?? 目的與景愿:旨在于能幫助更多的測試行業(yè)人員提升軟硬技能,分享行業(yè)相關最新信息。 ?? 聲明:博主日常工作較為繁忙,文章會不定期更新,各類行業(yè)或職場問題

    2024年02月05日
    瀏覽(30)
  • web自動化測試入門篇07 ——— 用例編寫技巧

    web自動化測試入門篇07 ——— 用例編寫技巧

    ? ? ?? 作者簡介:博主是一位測試管理者,同時也是一名對外企業(yè)兼職講師。 ?? 主頁地址:【Austin_zhai】 ?? 目的與景愿:旨在于能幫助更多的測試行業(yè)人員提升軟硬技能,分享行業(yè)相關最新信息。 ?? 聲明:博主日常工作較為繁忙,文章會不定期更新,各類行業(yè)或職場問

    2023年04月25日
    瀏覽(22)
  • 自學移動端(APP)自動化測試

    ? ? ? ? 國慶已經(jīng)過去了,新的一周已經(jīng)開始了,各地疫情又開始出現(xiàn)復發(fā)了,我們能做的就是做好個人防護、去哪報備、到哪掃碼亮碼、主動做核酸、隨時做好家里存儲至少一周的食物,拒絕過度防疫,拒絕過度恐慌,拒絕過度焦慮。有工作的最起碼還有錢能到手,沒有工

    2024年02月09日
    瀏覽(22)
  • Selenium瀏覽器交互原理與應用,玩轉Web自動化測試

    Selenium瀏覽器交互原理與應用,玩轉Web自動化測試

    ? 目錄 ?前言: 瀏覽器交互: Selenium的實現(xiàn)方式: Selenium WebDriver: WebDriver的等待機制: 總結: ?Web自動化

    2024年02月08日
    瀏覽(15)
  • 持續(xù)集成——App自動化測試集成實戰(zhàn)

    持續(xù)集成——App自動化測試集成實戰(zhàn)

    1、減少錯誤和手動任務 2、及早發(fā)現(xiàn)并解決集成挑戰(zhàn) 3、更短的交付周期 1、被測代碼(存放于代碼倉) 2、Jenkins節(jié)點機器以及運行環(huán)境 博客地址:https://blog.csdn.net/YZL40514131/article/details/130142810?spm=1001.2014.3001.5501 Pycharm拉取代碼執(zhí)行 命令行運行代碼,并生成報告 pip freeze require

    2024年02月01日
    瀏覽(35)
  • java APP自動化測試AppIum

    java APP自動化測試AppIum

    一、前言 二、Appium環(huán)境搭建 2.1 JDK安裝 2.2 Android SDK安裝配置 2.3 模擬器安裝及配置 2.4 Appium Desktop安裝及使用 2.5 Appium配置連接模擬器 三、實戰(zhàn)基本腳本編寫 3.1 創(chuàng)建Maven項目并配置 3.2 簡單Demo 四、寫在最后 ? 一、 前言 隨著移動互聯(lián)網(wǎng)的發(fā)展,APP上面的測試逐漸的流行起來。

    2024年02月05日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包