Macaca初體驗-Android端(Python)
前言:
Macaca 是一套面向使用者端軟體的測試解決方案,提供了自動化驅動,周邊工具,整合方案。由阿里巴巴公司開源:http://macacajs.github.io/macaca/
特點:
同時支援PC端和移動端(Android、iOS)自動化測試。
支援JavaScript(Node.js)、Java、Python。
本次教程將介紹如何使用Macaca進行Android端自動化測試。使用程式語言為Python3.5(Macaca只支援Python3.4以上版本)
環境安裝:
1、Macaca環境+Android SDK環境+Java環境+Node環境見:Android環境配置
2、通過macaca doctor可以檢查環境是否配置成功,如下圖所示則表示環境均配置正常,如果有標紅提示,則需要對應處理。
>>macaca doctor
3、安裝Macaca Python Client,支援pip安裝。
>>python3 -m pip install wd
用例編寫:
專案目錄F:\workspace\macaca-android\macaca-test下建立測試用例:macaca-android-sample.test.py,其中macaca-test為測試目錄集。
https://github.com/macaca-sample/sample-python/blob/master/tests/macaca-android-sample.test.py
程式碼如下:
API詳解:
driver.init() 初始化
driver.quit() 退出
driver.back() 返回上一步
driver.element_by_id 根據id來查詢元素
driver.element_by_name 跟據name來查詢元素
driver.elements_by_class_name 跟據class_name來查詢元素
driver.accept_alert() alert彈框確認
driver.touch('tap', {'x':100,'y':100}) 在裝置上應用觸控操作,例如:tap/doubleTap/press/pinch/rotate/drag ,操作後面填寫對應座標x,y值
driver.save_screenshot 儲存截圖
備註:與appium的API極為相似,熟悉appium的同學可以快速上手,定位元素的方法一致。
詳細API見官網:https://macacajs.github.io/wd.py/api.html
執行用例:
1、啟動macaca服務:
>>macaca server --verbose //加--verbose可以看到詳細的執行過程
2、執行用例:
>>python3 macaca_test\macaca-android-sample.test.py
以上
相關推薦
Macaca初體驗-Android端(Python)
前言: Macaca 是一套面向使用者端軟體的測試解決方案,提供了自動化驅動,周邊工具,整合方案。由阿里巴巴公司開源:http://macacajs.github.io/macaca/ 特點: 同時支援PC端和移動端(Android、iOS)自動化測試。 支援JavaScript(Node.js)、Java、
前端(js)密碼加密後傳輸給後端(python)實現方法
js 實現 <script src="js/jsencrypt.min.js"></script> var encrypt = new JSEncrypt(); encr
將keras或tensorflow模型遷移到android端(AndroidStudio)
經歷了多次採坑,終於是現實了將keras模型遷移到android端上。 網上的一些教程實在太少,而且我也是走了很多彎路,有很多是使用Bazel工具把TensoFlow編譯成.so庫檔案和jar包,再進行Android配置,實現模型移植。但是。。。我可能太笨了沒成功。。放棄了
Flutter初體驗-環境搭建(一)
環境搭建(一) 一直開發react-native專案,感覺挺不錯;最近聽說 google 釋出混合開發框架flutter,可以跨三端很強勢,很好奇的來試試,不過坑不少; 英語能力強的兄弟可以去看官網-傳送門,英語能力一般的兄弟可直接去看中文網-傳送門,樓主就
模擬高併發請求服務端(python gevent)
專案背景:對web後端進行高併發的請求,簡單測試服務框架的效能 解決思路:利用python的多執行緒,但python的多執行緒有點“雞肋”, 個人選擇使用簡潔輕便gevent。 解決方案:採用gevent非同步 + requests 進行高併發請求 import time import
Android與服務端(SSM)互動
客戶端 Android在Android Studio平臺,採用OkHttp進行網路請求 服務端 服務端採用了SSM(Spring+SpringMVC+MyBatis)框架 這裡介紹服務端接收並返回json資料的多種方法 方式一:PrintWriter @RequestMa
android開發怎麼少的了後端(中)
序言:上一篇中我們講了簡單後端開發所必須的一些工具以及講解,如果你還沒有了解的話,請移步 今天給大家帶來的是客戶端與伺服器端的通訊,話不多說,直接上例子: 今天我們實現一個註冊的功能,客戶端的介面編寫神馬的咱就不在這浪費時間了,我這也直接寫好了,一個最簡單的
微信支付接入完全解析之Android客戶端(2)
前段時間在一個App中接入了微信支付功能,想來也穩定執行快一個月了,回頭想想自己接入微信支付時候踩過的坑,決定寫一篇自己當初想要搜尋的文章,文章準備分3篇完成。 第一篇:微信支付前期準備 第二篇:微信支付接入客戶端部分(以Android為例
手把手教你仿一個知乎日報Android客戶端(一)多圖
本文為作者原創,轉載請註明出處@大蘑菇的部落格 圖片託管服務由貼相簿提供 作為一隻網蟲,肯定是經常泡在網路的海洋裡,有一天偶然看到了知乎日報的API,各方面介面都還挺全面,於是本著“不用白不用”的真理,我決定仿一個知乎日報Adnroid客戶端。
手把手教你仿一個知乎日報Android客戶端(三)主頁面設計
各位朋友,從本篇文章和開始,手把手教你仿一個Android客戶端就要正式開始探究怎樣實現我們前面的那些需求了。在此開發我們將會使用git作為版本控制工具,並且將程式碼託管到github,好啦,廢話少說,咱們開工。 一、建立專案 怎麼建立專案大家應該都知道
按照字符串中的數組進行排序的方法(python)
正則表達 mil uil () false 解決 lam font .cn 有時候處理數據時,想要按照字符串中的數字的大小進行排序。 譬如,存在一組記錄文件,分別為‘1.dat’,‘2.dat‘... 當我把該文件夾中的所有記錄文件名讀到一個列表中,這些字符串的排列方式為:
Spark SQL編程指南(Python)【轉】
res 平臺 per 它的 split 執行 文件的 分組 不同 轉自:http://www.cnblogs.com/yurunmiao/p/4685310.html 前言 Spark SQL允許我們在Spark環境中使用SQL或者Hive SQL執行關系型查詢。它的核
fastclick.js解決移動端(ipad)點擊事件反應慢問題
javascrip tag 區間 spa doc base blog data- ava 參考http://blog.csdn.net/xjun0812/article/details/64919063 http://www.jianshu.com/p/16d3e4
寫個OAuth2.0的請求端來測試自己的OAuth2.0服務端(二)
邏輯 mat ace png urn img rest avi round 在上一篇文章中,我們介紹了怎麽創建自己的服務器,現在我們開始寫個client端,來測試。 我們創建一個MVC項目,叫TestOAuthClient 1. 代碼開始 1)第一步,我們創建一個Mai
找到第一個只出現一次的字符並返回它的位置(Python)
出現一次 ret {} baby find highlight int images 返回 s = ‘hellobaby‘ def findchar(s): for i in s: if s.count(i)==1:
android weight(權重)的詳細分析
關註 一段 sum 比例 .net orien 2個 背景 wid 首先要明確權重分配的是那些空間? 權重是依照比例分配屏幕的剩余空間 對這句話不理解的能夠看下圖 假如我們希望剩余的空間平分給空間1 和空間2 , 我們分別在2個控件的設置and
【leetcode】Word Break(python)
條件 text for -m 是我 tex eas sso false 思路是這種。我們從第一個字符開始向後依次找,直到找到一個斷句的地方,使得當前獲得的子串在dict中,若找到最後都沒找到。那麽就是False了。 在找到第一個後,接下來找下一個斷句處,當然是從第
列表操作之定義,切片(取元素)(Python)
fin 元組 括號 all call 切片 python define 表操作 學完列表,元組,字典,集合以後,發現他們長的有些像,傻傻分不清,現在回顧下,以代碼為例進行分析每一種操作的屬性。(英語不佳,錯誤請忽略) 舉栗如下:names = ["hbb",‘tian‘,
Redis連接的客戶端(connected_clients)數過高或者不減的問題解決方案
http lib last 知識庫 nbsp reac nts 關閉連接 comm 最近的項目上使用ServiceStack.Redis上了redis緩存,其中遇到了很多問題。。 比如說 某一天發現redis做的緩存竟然失效了,然後查了下日誌 報錯max number o
數據驅動測試(Python)
baidu -c 驗證碼 clas case 需要 調用 很多 element 自動化領域的兩種驅動,對象驅動與數據驅動 數據驅動:測試數據的改變引起執行結果的改變 叫 數據驅動 關鍵字驅動:測試對象名字的改變起引起測試結果的改變 叫 關鍵字驅動 1 、讀取文