Python+Appium自動刷喵糖
- 1、引言
- 2、Appium 安裝及配置
- 2.1 安裝
- 2.2 Appium啟動
- 2.2.1 cmd視窗啟動
- 2.2.2 Python 腳本啟動
- 2.3 Appium的使用
- 3、代碼實戰
1、引言
小屌絲:魚哥,今年雙十一,瓜分現金的任務做了沒,
小魚:必須的,羊毛不薅,手癢癢!
小屌絲:那你是手動薅的?
小魚:胡扯,
小屌絲:果然如我所料
小魚:你又知道了?
小屌絲:來吧,不要再讓我每天手動點點點,太耗時了~
小魚:好吧~

今天我們通過python+appium來自動完成手淘的喵糖任務,
如果不了解 Appium的話,可以先閱讀小魚的這兩篇系列博文:
- Appium(從入門到框架設計)
- 移動APP自動化測驗開發
2、Appium 安裝及配置
2.1 安裝
使用appium的第一步,就是安裝,
下載地址:http://appium.io/

下載完Appium,就直接安裝就好,這里不多說,
安裝完,就可以運行了
2.2 Appium啟動
appium啟動方式有多種,這里說常用的兩種方式:
- cmd視窗啟動
- python腳本啟動
詳細啟動內容,參照小魚這篇:
啟動appium服務的2種方法(python腳本&cmd視窗)
2.2.1 cmd視窗啟動
這里直接cmd視窗,輸入命令,啟動appium
C:\Users\carl.DJ>appium
[Appium] Welcome to Appium v1.17.1
[Appium] Appium REST http interface listener started on 0.0.0.0:4723
我們這里以啟動一個appium為例
同時啟動多個,參照:啟動appium服務的2種方法(python腳本&cmd視窗)博文
Appium啟動界面

2.2.2 Python 腳本啟動
代碼展示
# -*- coding: utf-8 -*-
# @ auth : carl_DJ
# @ time : 2021-11-02
import subprocess
import time
def appium_start(host,port):
'''
啟動appium server
:param host:
:param port:
:return:
'''
#指定bp埠號
bootstrap_port = str(port+1)
#把在cmd彈窗輸入的命令,直接寫到這里
# cmd = 'start /b appium -a ' + host+' -p '+str(port) +' -bp '+ str(bootstrap_port)
#去掉 “/b”,即可以打開cmd彈窗運行
cmd = 'start appium -a ' + host+' -p '+str(port) +' -bp '+ str(bootstrap_port)
# 列印輸入的cmd命令,及時間
print("%s at %s " %(cmd,time.ctime()))
subprocess.Popen(cmd,shell=True,stdout=open('./appium_log/'+str(port)+'.log','a'),stderr=subprocess.STDOUT)
if __name__ == '__main__':
host = '127.0.0.1'
#運行一個埠
port = 4723
appium_start(host,port)
#運行2個埠
同樣可以正常啟動,
這里就不在放截圖了
2.3 Appium的使用
Appium啟動后,我們就需要進行配置
首先,打開配置界面

其次我們需要配置啟動app的Desired Capabilities引數,如下:
- platformName(手機系統)
- deviceName(設備名稱)
- apppackage(app程式包名)
- appActivity(入口Activity名)
敲黑板:
deviceName:如果是手機模擬器,則填126.0.0.1:埠號
第三點擊start session,啟動APP

3、代碼實戰
我們啟動Appium后,就可以撰寫代碼,進行薅羊毛了,
# -*- coding: utf-8 -*-
# @ auth : carl_DJ
# @ time : 2021-11-02
'''
引入 appium模塊并設定好引數,啟動app
'''
#設定appium的引數
desired_casp = {
"platformName": "Android",
"deviceName": "input DeviceName",
"appPackage": "com.taobao.taobao",
"appActivity": "com.taobao.tao.welcome.Welcome",
"noReset": "true", #避免重新登錄
"fullReset": "false"
}
#服務url設定為本地
server_url = 'http://localhost:4723/wd/hub'
#啟動
driver = webdriver.Remote(server_url,desired_casp)
#設定回圈點擊
while true:
#定位喵糖,并進行點擊
driver.find_element_by_android_uiautomator('new UiSelector().text("去瀏覽")').click()
time.sleep(random.randint(15,17))
driver.press_keycode(4)
小屌絲:唉我去~~

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/348389.html
標籤:python
上一篇:臥槽,又來一個Python學習神操作(零基礎可以學會)
下一篇:總結Python中的字串格式化
