违规处理区 appium 找 toast 提示 报错 selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Could not proxy. Proxy error: Could not proxy command to remote server. Original error: Error: read ECONNRESET

test_lj · April 23, 2018 · Last by 小包包 replied at March 14, 2019 · Last modified by admin 恒温 · 6152 hits

请教各位大神,在获取toast提示的时候报以下错误
C:\Python27\python.exe F:/python程序/seleniumDemo1/AndroidTest/testC.py
连接中。。。。。。
连接成功
Traceback (most recent call last):
File "F:/python����/seleniumDemo1/AndroidTest/testC.py", line 55, in
driver.back() # 点返回
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 797, in back
self.execute(Command.GO_BACK)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 312, in execute
self.error_handler.check_response(response)
File "C:\Python27\lib\site-packages\appium\webdriver\errorhandler.py", line 29, in check_response
raise wde
selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Could not proxy. Proxy error: Could not proxy command to remote server. Original error: Error: read ECONNRESET

具体代码如下:
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
from time import sleep
import uiautomator2 as u2

from appium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
desired_caps = {
'platformName': 'Android',
'deviceName': 'OB9HYSJN69CEW8OF',
'platformVersion': '5.1',
'appPackage': 'com.baidu.yuedu',
'appActivity': 'com.baidu.yuedu.splash.SplashActivity',
'noReset': 'true'
,'automationName': 'uiautomator2'
}

def is_toast_exist(driver,text,timeout=30,poll_frequency=0.5):
'''is toast exist, return True or False
:Agrs:
- driver - 传driver
- text - 页面上看到的文本内容
- timeout - 最大超时时间,默认30s
- poll_frequency - 间隔查询时间,默认0.5s查询一次
:Usage:
is_toast_exist(driver, "看到的内容")
'''

d = u2.connect_usb('OB9HYSJN69CEW8OF')
try:
toast_loc = ("xpath", ".//*[contains(@text,'%s')]"%text)
print(toast_loc)
WebDriverWait(driver, timeout, poll_frequency).until(EC.presence_of_element_located(toast_loc))
return True
except:
return False

if name == "main":

print("连接中。。。。。。")
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
print("连接成功")
# 等主页面activity出现
#driver.wait_activity(".base.ui.MainActivity", 10)

sleep(20)

driver.back() # 点返回

# 判断是否存在toast-'再按一次退出'
print is_toast_exist(driver, "再按一次退出")

这个问题卡了很久了,网上看了很多,可是还是没解决。求各位走过路过的过来看看,帮菜鸟解决下。
环境:appium 1.6.3 python27

此贴已暂时被屏蔽!

以下几种情况的帖子可能会进入此节点:

  1. 不使用 markdown 写作 : https://testerhome.com/markdown
  2. 标题/正文描述不清不楚;
  3. 无意义的发帖;
  4. 存在广告嫌疑;
  5. 招聘信息描述不清楚,未按照招聘节点的要求发帖,或职位信息不符合社区 用户群需求;
  6. 新注册的帐号发布产品推广贴是不允许的哦,付出和回报是相等的,当然如果你的产品确实非常有意思,或是和测试有关的东西,是不会进入这个栏目的。

如果你发现你的帖子到了此节点下面,请自我检查反省,并修改帖子内容。

新人请阅读:https://testerhome.com/topics/982
学会如何合理提问,请阅读:https://testerhome.com/topics/587

当你修改好以后,可以回帖 @屏蔽你的同学 ,我们将会审核,通过以后才可恢复到其他节点。

注!多次发现广告嫌疑的帐号,将会被禁用帐号。

共收到 6 条回复 时间 点赞

我猜是toast对象不能用is present去判断,所以出错了。WebDriverWait(driver, timeout,poll_frequency).until(EC.presence_of_element_located(toast_loc))
我刚看了下可以这样判断的
另外,你的格式也太乱了。

test_lj #2 · April 23, 2018 作者
雨夜狂奔 回复


我们写的是一样的代码啊。

test_lj 回复

emmm,再看了下你的错误描述,是back()报错,并不是toast,可以看看appium的报错信息

你把io.appium.uiautomator2.server, io.appium.uiautomator2.server.test 这两个apk重新安装一下试试

恒温 屏蔽了此话题:排版问题, 标题过长 23 Apr 23:40

请问楼主该问题解决了吗?我也遇到点击的时候请求等待很久最后报Could not proxy command to remote server. Original error: Error: ESOCKETTIMEDOUT了

TD 回复

你好,你这个ESOCKETTIMEDOUT 解决了吗,不知道咋办

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up