【appium】6.appium遇到的問題

1.appium-python-client 修改版本1.5 為5.1.1,后執行python程序時,提示: raise TypeError( TypeError: missing 1 required keyword-only argument: 'options' (instance of driver `options.Options` class)

你遇到的錯誤:

TypeError: missing 1 required keyword-only argument: 'options' 
(instance of driver `options.Options` class)

📌 錯誤原因分析

這是 Appium-Python-Client 版本升級帶來的 API 不兼容問題

你從版本 1.5 升級到了 5.1.1,這是一個非常大的版本跳躍,其中 Appium 客戶端庫進行了重大更新(主要是與 Selenium 的整合和重構)。


🔍 舊版 vs 新版 WebDriver 初始化方式對比

? 舊版(Appium-Python-Client < 3.x)

from appium import webdriverdesired_caps = {'platformName': 'Android','deviceName': 'emulator-5554','appPackage': 'com.example.app','appActivity': '.MainActivity'
}driver = webdriver.Remote('http://localhost:4723', desired_caps)

這個寫法在新版本中已經不被支持了!


? 新版(Appium-Python-Client ≥ 5.0)

現在要求使用 options 參數來代替直接傳入 desired_caps,這與新版 Selenium 的風格一致。


? 正確修改方法(適用于 Appium-Python-Client 5.1.1)

你需要將原來的 desired_caps 放入一個 options 對象中。

? 修改后的代碼如下:

from appium import webdriver
from appium.options.android import UiAutomator2Options# 設置 Desired Capabilities
desired_caps = {'platformName': 'Android','deviceName': 'emulator-5554','appPackage': 'com.example.app','appActivity': '.MainActivity','automationName': 'UiAutomator2','noReset': True
}# 使用新的 Options 類封裝
options = UiAutomator2Options().load_capabilities(desired_caps)# 創建 WebDriver 實例
driver = webdriver.Remote(command_executor='http://localhost:4723',options=options
)print("Driver started:", driver)

🧪 常見注意事項

注意事項說明
UiAutomator2OptionsAndroid 測試時推薦使用這個類
options?是必須參數新版要求必須使用?options?而不是?desired_caps
command_executor就是你的 Appium Server 地址:http://localhost:4723

? 如何降級回舊版本?(可選)

如果你暫時不想改代碼,可以考慮降級到舊版本:

pip install Appium-Python-Client==1.5.0

但這只是臨時方案,建議盡快遷移到新版 API。


? 總結

問題解決方法
TypeError: missing keyword-only argument 'options'使用?options?參數代替?desired_caps
Appium Python Client 5.1.1 兼容性問題使用?UiAutomator2Options.load_capabilities()?包裝?desired_caps
推薦做法使用新版 API,適配未來更新

如果你愿意貼出你的完整代碼片段,我可以幫你逐行修改成兼容 5.1.1 的寫法。歡迎繼續提問!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/88221.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/88221.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/88221.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++法則3:使用拷貝和交換的賦值運算符自動就是異常安全的,且能正確處理自賦值。

C法則3&#xff1a;使用拷貝和交換的賦值運算符自動就是異常安全的&#xff0c;且能正確處理自賦值。 這條法則強調了使用"拷貝和交換"(Copy-and-Swap)慣用法來實現賦值運算符()的優點&#xff1a; 關鍵點 異常安全&#xff1a;拷貝和交換方法天然提供了強異常安全…

純血HarmonyOS5 打造小游戲實踐:掃雷(附源文件)

鴻蒙掃雷游戲的核心架構設計 鴻蒙OS掃雷游戲采用了MVC&#xff08;模型-視圖-控制器&#xff09;的架構思想&#xff0c;將游戲邏輯與UI展示分離&#xff0c;使得代碼結構清晰且易于維護。整個游戲由以下幾個核心部分構成&#xff1a; 數據模型設計 游戲的基礎數據模型是Cel…

Linux C語言的opendir如何獲取目錄下的隱藏文件

在 Linux 文件系統中&#xff0c;所謂隱藏文件是文件名以 . 開頭的文件&#xff08;例如 .bashrc、.git、.config 等&#xff09;。 在編程層面&#xff0c;opendir readdir 并不會自動排除隱藏文件。 只要你不在代碼中手動過濾&#xff0c;readdir 會把目錄下所有文件&#…

母線槽接頭過熱隱患難防?在線測溫方案實時守護電力安全

近年來&#xff0c;由于各種設備對電力的大力需求&#xff0c;并有逐年增加的趨勢&#xff0c;傳統電路接線方式在施工時越來越力不從心。系統一旦定型&#xff0c;后續想要簡化變更更是難上加難。母線槽方案因此興起&#xff0c;憑借多點連接&#xff08;接頭、插接頭、插接箱…

Windows本地部署wordpress

一、下載wordpress 地址&#xff1a;Download – WordPress.org 下載后解壓出來 二、下載小皮面板 地址&#xff1a;Windows版phpstudy下載 - 小皮面板(phpstudy) 下載后安裝 三、打開小皮面板&#xff0c;安裝對應內置應用 1、MySQL8&#xff08;注意要是8版本,卸載其他版本…

Android 性能優化

一、Android中檢測性能工具 Profiler —— 使用Profiler的CPU分析功能。 Method Tracing ———— 通過該方法,我們可以記錄應用運行過程中的方法調用情況,包括每個方法的執行時間、調用次數等。 Systrace 是Android平臺提供的一款工具,用于記錄短期內的設備活動。 Systra…

圖片壓縮工具 | Electron應用配合 commander 提供命令行調用功能

OPEN-IMAGE-TINY&#xff0c;一個基于 Electron VUE3 的圖片壓縮工具&#xff0c;項目開源地址&#xff1a;https://github.com/0604hx/open-image-tiny 功能描述 應用程序的命令行調用功能允許用戶通過終端&#xff08;如Windows的CMD/PowerShell或Linux/macOS的Terminal&am…

Linux》》Shell腳本 基本語法

執行腳本的三種方式 查找變量的過程 變量引用的順序》》先從當前進程查詢變量&#xff0c;如果當前進程沒有此變量&#xff0c;默認去父進程查找這個變量。如果查找到則返回&#xff0c;否則一直查找到 祖宗&#xff08;PID為1&#xff09;&#xff0c;還沒有&#xff0c;則就…

C#.VB.NET多線程,多用戶下獨立鎖和全局鎖的區別

以下代碼,每個客戶端都分配了一個鎖嗎? 用戶WebSocket信息類Public Class UserWebSocketInfoPublic Property SessionID As StringPublic Property WebSocket As WebSocketPublic Property LastResponseTime As DateTimePublic Property PendingHeartbeatCount As IntegerPubl…

無人機加速器模塊技術解析

一、加速器模塊的運行方式 1. 傳感器數據采集與融合 加速度計核心作用&#xff1a;測量三維線性加速度&#xff08;X/Y/Z軸&#xff09;&#xff0c;結合陀螺儀&#xff08;角速度&#xff09;和磁力計&#xff08;方向&#xff09;構成九軸姿態傳感器&#xff0c;實時輸出…

用html實現數字生命

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>數學粒子動畫</title><style>body {mar…

SQLite3 在嵌入式系統中的應用指南

SQLite3 在嵌入式系統中的應用指南 一、嵌入式系統中 SQLite3 的優勢 SQLite3 是嵌入式系統的理想數據庫解決方案&#xff0c;具有以下核心優勢&#xff1a; 特性嵌入式系統價值典型指標輕量級適合資源受限環境庫大小&#xff1a;500-700KB零配置無需數據庫管理員開箱即用無…

通義大模型與現有企業系統集成實戰《CRM案例分析與安全最佳實踐》

1. 集成架構設計 &#xff08;1&#xff09;混合部署架構演進 #mermaid-svg-eW4YPoU2fdbnT4xp {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-eW4YPoU2fdbnT4xp .error-icon{fill:#552222;}#mermaid-svg-eW4YPoU2f…

leetcode:746. 使用最小花費爬樓梯

學習要點 動態規劃正著推動態規劃倒著推理解遞歸在動態規劃與純遞歸的類比分析中體會兩者各自的特點 題目鏈接 746. 使用最小花費爬樓梯 - 力扣&#xff08;LeetCode&#xff09; 題目描述 解法1&#xff1a;動態規劃倒著推 // dp[i]--->從第i階樓梯到達樓頂最小花費int…

汽車毫米波雷達增強感知:基于相干擴展和高級 IAA 的超分辨率距離和角度估計.

重慶西南大學毫米波雷達團隊在IEEE Transactions on Consumer Electronics 上發表的一篇論文&#xff1a;《基于相干擴展和高級 IAA 的超分辨率距離和角度估計》。 本文深入研究了毫米波&#xff08;mmWave&#xff09;調頻連續波雷達距離和角度的超分辨問題。首先&#xff0c;…

軟件更新 | 從數據到模型,全面升級!TSMaster新版助力汽車研發新突破

為滿足汽車電子開發領域日益增長的測試與仿真需求&#xff0c;TSMaster最新版本聚焦實車數據采集、MBD智能建模與新API擴展三大核心功能。無論您是進行車載網絡測試、ECU開發還是自動化驗證&#xff0c;新版本都能為您提供更高效、更可靠的解決方案&#xff01; TSMaster 2025.…

PDF-XSS

前言&#xff1a; PDF文件是一種復雜的文檔格式&#xff0c;由一系列對象組成&#xff0c;包括字體、圖像、頁面內容等。PDF文件支持嵌入JavaScript代碼&#xff0c;這使得PDF文件不僅可以顯示靜態內容&#xff0c;還可以執行動態操作。這種特性被攻擊者利用來嵌入惡意腳本代碼…

MySQL 表關聯關系詳解

MySQL 表關聯關系詳解 本文檔詳細列舉了MySQL中常見的表關聯關系場景以及對應的SQL語句示例。 1. 一對一關系 (One-to-One) 場景&#xff1a;用戶表和用戶詳情表 一個用戶對應一個用戶詳情通常用于將大表拆分&#xff0c;提高查詢性能 -- 創建用戶表 CREATE TABLE users (…

kubernetes(k8s)集群部署(超詳細)

k8s部署 kubernetes集群圖例kubernetes 安裝倉庫初始化1、創建云主機2、初始化私有倉庫kube-master安裝1、防火墻相關配置2、配置yum倉庫(跳板機)3、安裝軟件包(master)4、鏡像導入私有倉庫5、Tab鍵設置6、安裝代理軟件包7、配置內核參數8、使用kubeadm部署9、驗證安裝結果計算…

「Flink」算子主要方法介紹

背景&#xff1a; 上期文章主要講了Flink項目搭建的一些方法&#xff0c;其中對于數據流的處理很大一部分是通過算子來進行計算和處理的&#xff0c;算子也是Flink中功能非常龐大&#xff0c;且很重要的一部分。 算子介紹&#xff1a; 算子在Flink的開發者文檔中是這樣介紹的…