要淡定,链接真机后,问题一下多出来这么多,还没有启动程序,就碰到接二连三的问题。
爽到家了。慢慢解决吧。
具体问题是这样的:
# 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代码,程序就运行了。