APPium+Python編寫真機(jī)移動(dòng)端自動(dòng)化腳本的項(xiàng)目實(shí)踐
前置條件
完成軟件和環(huán)境的安裝后就可以開始移動(dòng)端自動(dòng)化腳本的編寫了。
連接設(shè)備
手機(jī)打開USB調(diào)試模式,連接手機(jī)。此時(shí)去命令窗口查看自己的設(shè)備是否已經(jīng)連接。
讓后打開Appium Server,進(jìn)行配置,設(shè)置Android與Java的環(huán)境地址。
啟動(dòng)服務(wù)器,即可。
腳本編寫
初始化設(shè)備參數(shù)
首先對(duì)于手機(jī)的參數(shù)進(jìn)行填寫,對(duì)于要進(jìn)行測(cè)試的APP的信息也進(jìn)行獲取。
import time from appium import webdriver # 初始化參數(shù) desired_caps = { 'platformName': 'Android', # 被測(cè)手機(jī)是安卓 'platformVersion': '11', # 手機(jī)安卓版本 'deviceName': 'ncaa', # 設(shè)備名,安卓手機(jī)可以隨意填寫 'appPackage': 'com.cainiao.wireless', # 啟動(dòng)APP的包名 'appActivity': '.homepage.view.activity.WelcomeActivity', # 啟動(dòng)的Activity名稱 'noReset': True, # 不要重置App,如果為False的話,執(zhí)行完腳本后,app的數(shù)據(jù)會(huì)清空,比如你原本登錄了,執(zhí)行完腳本后就退出登錄了 'newCommandTimeout': 6000, # 命令的時(shí)間間隔 'unicodeKeyboard': True, # 繞過手機(jī)鍵盤操作,unicodeKeyboard是使用unicode編碼方式發(fā)送字符串,即中文 'resetKeyboard': True, # 繞過手機(jī)鍵盤操作,resetKeyboard是將鍵盤隱藏起來 }
以微信為例,我們?cè)诿畲翱谥休斎朐撌謾C(jī)的所有的第三方軟件,獲取手機(jī)上所需包名。
在獲取該APP登錄的活動(dòng)。首先在手機(jī)上打開微信,并在CMD中進(jìn)行操作。從而獲取到了微信的包名與登錄的活動(dòng)名。
# 連接Appium Server,初始化自動(dòng)化環(huán)境 driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) time.sleep(5)
之后進(jìn)行APPium的連接,手機(jī)就會(huì)自動(dòng)打開微信了。
操作命令
下一步,我們打開Android UI分析器。獲取到了目前手機(jī)頁(yè)面的信息。根據(jù)我們的目的,找到自己所需的組件即可。根據(jù)其ID我們就可以在上手機(jī)上定位它,從而完成我們相要的操作。
腳本運(yùn)行
具體代碼與實(shí)現(xiàn)效果如下:
import time from appium import webdriver # 初始化參數(shù) desired_caps = { 'platformName': 'Android', # 被測(cè)手機(jī)是安卓 'platformVersion': '11', # 手機(jī)安卓版本 'deviceName': 'ncaa', # 設(shè)備名,安卓手機(jī)可以隨意填寫 'appPackage': 'com.tencent.mm', # 啟動(dòng)APP的包名 'appActivity': '.ui.LauncherUI', # 啟動(dòng)的Activity名稱 'noReset': True, # 不要重置App,如果為False的話,執(zhí)行完腳本后,app的數(shù)據(jù)會(huì)清空,比如你原本登錄了,執(zhí)行完腳本后就退出登錄了 'newCommandTimeout': 6000, # 命令的時(shí)間間隔 # 'unicodeKeyboard': True, # 繞過手機(jī)鍵盤操作,unicodeKeyboard是使用unicode編碼方式發(fā)送字符串,即中文 'resetKeyboard': True, # 繞過手機(jī)鍵盤操作,resetKeyboard是將鍵盤隱藏起來 } # 連接Appium Server,初始化自動(dòng)化環(huán)境 driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) # time.sleep(5) # 每個(gè)操作的等待時(shí)間 driver.implicitly_wait(5) driver.find_element_by_id('com.tencent.mm:id/fzg').click() driver.find_element_by_id('com.tencent.mm:id/auj').send_keys('川北野生小熊貓') driver.find_element_by_id('com.tencent.mm:id/ay5').click() print(" done ") time.sleep(600) driver.quit()
到此這篇關(guān)于APPium+Python編寫真機(jī)移動(dòng)端自動(dòng)化腳本的項(xiàng)目實(shí)踐的文章就介紹到這了,更多相關(guān)APPium Python真機(jī)移動(dòng)端自動(dòng)化腳本內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python腳本在Appium庫(kù)上對(duì)移動(dòng)應(yīng)用實(shí)現(xiàn)自動(dòng)化測(cè)試
- Python+Appium實(shí)現(xiàn)自動(dòng)化測(cè)試的使用步驟
- Appium Python自動(dòng)化測(cè)試之環(huán)境搭建的步驟
- python利用appium實(shí)現(xiàn)手機(jī)APP自動(dòng)化的示例
- 詳解基于Android的Appium+Python自動(dòng)化腳本編寫
- Appium+Python+pytest自動(dòng)化測(cè)試框架的實(shí)戰(zhàn)
- python+appium+yaml移動(dòng)端自動(dòng)化測(cè)試框架實(shí)現(xiàn)詳解
- Python與Appium實(shí)現(xiàn)手機(jī)APP自動(dòng)化測(cè)試的示例代碼
- Python+Appium自動(dòng)化測(cè)試的實(shí)戰(zhàn)
相關(guān)文章
Python爬蟲實(shí)現(xiàn)網(wǎng)頁(yè)信息抓取功能示例【URL與正則模塊】
這篇文章主要介紹了Python爬蟲實(shí)現(xiàn)網(wǎng)頁(yè)信息抓取功能,涉及Python使用URL與正則模塊針對(duì)網(wǎng)頁(yè)信息的讀取與匹配相關(guān)操作技巧,需要的朋友可以參考下2017-05-05python求最大值,不使用內(nèi)置函數(shù)的實(shí)現(xiàn)方法
今天小編就為大家分享一篇python求最大值,不使用內(nèi)置函數(shù)的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07python自帶緩存lru_cache用法及擴(kuò)展的使用
本篇博客將結(jié)合python官方文檔和源碼詳細(xì)講述lru_cache緩存方法是怎么實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08Python3利用SMTP協(xié)議發(fā)送E-mail電子郵件的方法
SMTP(Simple Mail Transfer Protocol)即簡(jiǎn)單郵件傳輸協(xié)議,它是一組用于由源地址到目的地址傳送郵件的規(guī)則,由它來控制信件的中轉(zhuǎn)方式。下面這篇文章主要給大家介紹了關(guān)于Python3如何利用SMTP協(xié)議發(fā)送E-mail電子郵件的方法,需要的朋友可以參考下。2017-09-09向量化操作改進(jìn)數(shù)據(jù)分析工作流的Pandas?Numpy示例分析
這篇文章主要介紹了向量化操作改進(jìn)數(shù)據(jù)分析工作流的Pandas?Numpy示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10Pandas使用stack和pivot實(shí)現(xiàn)數(shù)據(jù)透視的方法
筆者最近正在學(xué)習(xí)Pandas數(shù)據(jù)分析,將自己的學(xué)習(xí)筆記做成一套系列文章。本節(jié)主要記錄Pandas中使用stack和pivot實(shí)現(xiàn)數(shù)據(jù)透視。感興趣的小伙伴們可以參考一下2021-09-09