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