要淡定,鏈接真機后,問題一下多出來這么多,還沒有啟動程序,就碰到接二連三的問題。
爽到家了。慢慢解決吧。
具體問題是這樣的:
# coding=utf-8
from appium import webdriver
import time
from selenium.common.exceptions import NoSuchElementException
desired_caps={} ####填寫配置信息
desired_caps["platformName"]="Android"
desired_caps["platformVersion"]="7.0"
desired_caps["deviceName"]="621QEDQJ4HQUR"
desired_caps["appPackage"]="com.***************"
desired_caps["appActivity"]="******************.home.MainActivity"
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
try:
driver.find_element_by_xpath("//*[@text='***']").click() ###點擊8888
time.sleep(2)
except NoSuchElementException as e:
time.sleep(10)
driver.find_element_by_xpath("//*[@text='***']").click() ###點擊8888
time.sleep(2)
driver.find_element_by_id("com.caipiao.caipiao:id/name").clear()
time.sleep(1)
driver.find_element_by_id("com.caipiao.caipiao:id/name").send_keys("yt123") ##輸入用戶名
time.sleep(1)
driver.find_element_by_id("com.caipiao.caipiao:id/password").clear()
driver.find_element_by_id("com.caipiao.caipiao:id/password").send_keys("123456") ###輸入密碼
time.sleep(1)
driver.find_element_by_id("com.caipiao.caipiao:id/login").click() ##點擊登錄
time.sleep(2)
driver.quit()
我現在要登錄,但是真機上的程序沒有半點反應,等待長時間后,報錯:urllib3.exceptions.ProtocolError: ('Connection aborted.', BadStatusLine("''",))
原因:網上查找是要改動appium.js與adb.js中的代碼,這是appium自帶的bug,
解決辦法:參照我的上一篇博客,里面有改動的地方。
我的解決步驟是:1,改動appium中的原始代碼,appium.js與adb.js中的。2,把APK手動安裝到手機設備中。(以前都是跑動程序時自動安裝)3,把appium換成最新的appium-desktop,並在里面填寫
設備的配置信息,4,啟動python代碼,程序就運行了。