appium自動化環境搭建

一、appium介紹

appium介紹

appium是一個開源工具、支持跨平臺、用于自動化ios、安卓手機和windows桌面平臺上面的原生、移動web和混合應用,支持多種編程語言(python,java,Ruby,Javascript、PHP等)

原生應用和混合應用:

原生應用(即使用iOS或Android原生開發工具包開發的應用)
混合應用(即包含HTML5頁面和原生代碼的應用)

appium架構與組件&工作原理:

Appium的架構基于C/S模式,由多個組件協同工作以實現移動應用的自動化測試目標。以下是Appium v2.x的架構組件:

  1. Appium客戶端:測試人員使用與編程語言偏好相對應的Appium客戶端語言綁定來編寫測試腳本。這個Appium客戶端將通過傳遞目標平臺的配置選項來 與在機器或遠程機器上運行的Appium服務器進行交互。
  2. Appium服務器:一個Node.js API服務器,它將消耗這些配置選項,并根據配置選項將用戶命令重定向到連接到Appium服務器實例的平臺特定驅動程序實例。
  3. Appium驅動程序:Appium驅動程序是Appium客戶端與目標設備之間的橋梁。它使用原生平臺特定框架(如iOS平臺的XCUITest和Android平臺的UiAutomator2)來將這些用戶命令重定向到這些框架,這些框架實際上會在目標設備上執行這些用戶命令。
appium工作原理概括

客戶端發送測試請求給Appium Server,Appium Server解析請求并調用相應的原生測試框架API在移動設備上執行測試操作,然后將測試結果返回給客戶端。這一過程中,Appium使用了WebDriver協議進行通信,并在Android和iOS設備上分別使用了Bootstrap.jar和bootstrap.js作為中間件來與原生測試框架進行通信。

二、appium安裝

其他版本git鏈接:https://github.com/appium/appium-desktop/releases
Appium-windows-1.13.0鏈接: 百度網盤
提取碼: 0000

  1. 選擇壓縮的安裝包,右鍵以管理員身份運行(注意安裝位置可以自定為C盤以外都行,自定義目錄,下一步即可)
    在這里插入圖片描述

  2. 選擇下一步
    在這里插入圖片描述

  3. 選擇完成
    在這里插入圖片描述
    Appium Server是一個基于JS語言的程序,運行它需要安裝nodejs(運行js的環境),Appium為了簡化安裝,就將Appium Server與nodejs合二唯一,變成了Appium Desktop,所以我們只需要安裝Appium Desktop即可

三、啟動appium服務端

  1. 雙擊桌面的appium圖標
  2. 點擊Start Server,ip是默認本機ip,端口默認4723,點擊允許防火墻訪問
    在這里插入圖片描述
    在這里插入圖片描述

四、安裝sdk工具

為了使appium能夠對apk各種操作(安裝、卸載、查看包等),需要安裝配置sdk環境,來完成appium自動化測試,我這邊之前已經安裝好了
sdk百度網盤鏈接:sdk工具包
鏈接: 提取碼: 0000

配置環境變量如下,系統變量新增
變量名:ANDROID_HOME
變量值(你自己安裝的目錄):D:\BaiduNetdiskDownload\androidsdk
Path系統變量添加如下
%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\tools
在這里插入圖片描述
在這里插入圖片描述
驗證如下配置OK
在這里插入圖片描述

設備可以使用真機或者模擬器(夜神、海馬、逍遙等)
python安裝Appium-python-client庫

Appium Python Client:官方的Appium Python客戶端
安裝命令:pip install Appium-python-client 或者在pycharm內的設置手動安裝

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

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

相關文章

C#高級:常用的擴展方法大全

1.String public static class StringExtensions {/// <summary>/// 字符串轉List&#xff08;中逗 英逗分隔&#xff09;/// </summary>public static List<string> SplitCommaToList(this string data){if (string.IsNullOrEmpty(data)){return new List&…

【Numpy核心編程攻略:Python數據處理、分析詳解與科學計算】1.1 從零搭建NumPy環境:安裝指南與初體驗

1. 從零搭建NumPy環境&#xff1a;安裝指南與初體驗 NumPy核心能力圖解&#xff08;架構圖&#xff09; NumPy 是 Python 中用于科學計算的核心庫&#xff0c;它提供了高效的多維數組對象以及用于處理這些數組的各種操作。NumPy 的核心能力可以概括為以下幾個方面&#xff1a…

【SpringBoot教程】Spring Boot + MySQL + HikariCP 連接池整合教程

&#x1f64b;大家好&#xff01;我是毛毛張! &#x1f308;個人首頁&#xff1a; 神馬都會億點點的毛毛張 在前面一篇文章中毛毛張介紹了SpringBoot中數據源與數據庫連接池相關概念&#xff0c;今天毛毛張要分享的是關于SpringBoot整合HicariCP連接池相關知識點以及底層源碼…

Java進階(一)

目錄 一.Java注解 什么是注解&#xff1f; 內置注解 元注解 二.對象克隆 什么是對象克隆? 為什么用到對象克隆 三.淺克隆深克隆 一.Java注解 什么是注解&#xff1f; java中注解(Annotation)又稱java標注&#xff0c;是一種特殊的注釋。 可以添加在包&#xff0c;類&…

【PyCharm】將包含多個參數的 shell 腳本配置到執行文件來調試 Python 程序

要配置 PyCharm 以使用包含多個參數的 shell 腳本&#xff08;如 run.sh&#xff09;來調試 Python 程序&#xff0c;您可以按照以下步驟操作&#xff1a; 創建一個新的運行/調試配置&#xff1a; 在 PyCharm 中&#xff0c;點擊“運行”菜單旁邊的齒輪圖標&#xff0c;選擇“…

即夢(Dreamina)技術淺析(二):后端AI服務

1. 文本處理(Text Processing) 1.1 功能概述 文本處理模塊的主要任務是將用戶輸入的文字提示詞轉換為機器可以理解的向量表示。這一過程包括分詞、詞嵌入和語義編碼,旨在捕捉文本的語義信息,為后續的圖像和視頻生成提供準確的指導。 1.2 關鍵技術 1.分詞(Tokenization…

藍橋杯之c++入門(一)【第一個c++程序】

目錄 前言一、第?個C程序1.1 基礎程序1.2 main函數1.3 字符串1.4 頭文件1.5 cin 和 cout 初識1.6 名字空間1.7 注釋 二、四道簡單習題&#xff08;點擊跳轉鏈接&#xff09;練習1&#xff1a;Hello,World!練習2&#xff1a;打印飛機練習3&#xff1a;第?個整數練習4&#xff…

【C++初階】第11課—vector

文章目錄 1. 認識vector2. vector的遍歷3. vector的構造4. vector常用的接口5. vector的容量6. vector的元素訪問7. vector的修改8. vector<vector\<int\>>的使用9. vector的使用10. 模擬實現vector11. 迭代器失效11.1 insert插入數據內部迭代器失效11.2 insert插入…

【AIGC學習筆記】扣子平臺——精選有趣應用,探索無限可能

背景介紹&#xff1a; 由于近期業務發展的需求&#xff0c;我開始接觸并深入了解了扣子平臺的相關知識&#xff0c;并且通過官方教程自學了簡易PE工作流搭建的技巧。恰逢周會需要準備與工作相關的分享主題&#xff0c;而我作為一個扣子平臺的初學者&#xff0c;也想探索一下這…

mysql 學習6 DML語句,對數據庫中的表進行 增 刪 改 操作

添加數據 我們對 testdatabase 數據中 的 qqemp 這張表進行 增加數據&#xff0c;在這張表 下 打開 命令行 query console 在 軟件中就是打開命令行的意思 可以先執行 desc qqemp; 查看一下當前表的結構。 插入一條數據 到qqemp 表&#xff0c;插入時要每個字段都有值 insert…

Java Web-Request與Response

在 Java Web 開發中&#xff0c;Request 和 Response 是兩個非常重要的對象&#xff0c;用于在客戶端和服務器之間進行請求和響應的處理&#xff0c;以下是詳細介紹&#xff1a; Request&#xff08;請求對象&#xff09; Request繼承體系 在 Java Web 開發中&#xff0c;通…

李沐vscode配置+github管理+FFmpeg視頻搬運+百度API添加翻譯字幕

終端輸入nvidia-smi查看cuda版本 我的是12.5&#xff0c;在網上沒有找到12.5的torch&#xff0c;就安裝12.1的。torch&#xff0c;torchvision&#xff0c;torchaudio版本以及python版本要對應 參考&#xff1a;https://blog.csdn.net/FengHanI/article/details/135116114 創…

論文閱讀(十六):利用線性鏈條件隨機場模型檢測陣列比較基因組雜交數據的拷貝數變異

1.論文鏈接&#xff1a;Detection of Copy Number Variations from Array Comparative Genomic Hybridization Data Using Linear-chain Conditional Random Field Models 摘要&#xff1a; 拷貝數變異&#xff08;CNV&#xff09;約占人類基因組的12%。除了CNVs在癌癥發展中的…

Alibaba Spring Cloud 十三 Nacos,Gateway,Nginx 部署架構與負載均衡方案

在微服務體系中&#xff0c;Nacos 主要承擔“服務注冊與發現、配置中心”的職能&#xff0c;Gateway&#xff08;如 Spring Cloud Gateway&#xff09;通常負責“路由轉發、過濾、安全鑒權、灰度流量控制”等功能&#xff0c;而 Nginx 則常被用作“邊緣反向代理”或“統一流量入…

Next.js 實戰 (十):中間件的魅力,打造更快更安全的應用

什么是中間件&#xff1f; 在 Next.js 中&#xff0c;中間件&#xff08;Middleware&#xff09;是一種用于處理每個傳入請求的功能。它允許你在請求到達頁面之前對其進行修改或響應。 通過中間件&#xff0c;你可以實現諸如日志記錄、身份驗證、重定向、CORS配置、壓縮等任務…

ElasticSearch-文檔元數據樂觀并發控制

文章目錄 什么是文檔&#xff1f;文檔元數據文檔的部分更新Update 樂觀并發控制 最近日常工作開發過程中使用到了 ES&#xff0c;最近在檢索資料的時候翻閱到了 ES 的官方文檔&#xff0c;里面對 ES 的基礎與案例進行了通俗易懂的解釋&#xff0c;讀下來也有不少收獲&#xff0…

實驗二 數據庫的附加/分離、導入/導出與備份/還原

實驗二 數據庫的附加/分離、導入/導出與備份/還原 一、實驗目的 1、理解備份的基本概念&#xff0c;掌握各種備份數據庫的方法。 2、掌握如何從備份中還原數據庫。 3、掌握數據庫中各種數據的導入/導出。 4、掌握數據庫的附加與分離&#xff0c;理解數據庫的附加與分離的作用。…

技術中臺與終搜——2

文章目錄 5、語言處理與自動補全技術探測5.1 自定義語料庫5.1.1 語料庫映射OpenAPI5.1.2 語料庫文檔OpenAPI 5.2 產品搜索與自動補全5.2.1 漢字補全OpenAPI5.2.2 拼音補全OpenAPI 5.3 產品搜索與語言處理5.3.1 什么是語言處理&#xff08;拼寫糾錯&#xff09;5.3.2 語言處理Op…

15_業務系統基類

創建腳本 SystemRoot.cs 因為 業務系統基類的子類 會涉及資源加載服務層ResSvc.cs 和 音樂播放服務層AudioSvc.cs 所以在業務系統基類 提取引用資源加載服務層ResSvc.cs 和 音樂播放服務層AudioSvc.cs 并調用單例初始化 using UnityEngine; // 功能 : 業務系統基類 public c…

k8s優雅重啟

理論上處于terminating狀態的pod&#xff0c;k8s 就會把它從service中移除了&#xff0c;只用配置一個優雅停機時長就行了。kubectl get endpoints 驗證 因此&#xff0c;優雅重新的核心問題&#xff0c;是怎么讓空閑長連接關閉&#xff0c;再等待處理中的請求執行完。 一些底…