Traceback (most recent call last):
File "D:\pyLearn\appcode\app_1.py", line 43, in <module>
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Python\Lib\site-packages\appium\webdriver\webdriver.py", line 234, in init
super().init(
File "D:\Python\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 286, in init
self.start_session(capabilities, browser_profile)
File "D:\Python\Lib\site-packages\appium\webdriver\webdriver.py", line 324, in start_session
response = self.execute(RemoteCommand.NEW_SESSION, w3c_caps)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Python\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 438, in execute
response = self.command_executor.execute(driver_command, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Python\Lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 290, in execute
return self._request(command_info[0], url, body=data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Python\Lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 311, in _request
response = self._conn.request(method, url, body=body, headers=headers)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Python\Lib\site-packages\urllib3_request_methods.py", line 118, in request
return self.request_encode_body(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Python\Lib\site-packages\urllib3_request_methods.py", line 217, in request_encode_body
return self.urlopen(method, url, **extra_kw)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Python\Lib\site-packages\urllib3\poolmanager.py", line 422, in urlopen
conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Python\Lib\site-packages\urllib3\poolmanager.py", line 303, in connection_from_host
return self.connection_from_context(request_context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Python\Lib\site-packages\urllib3\poolmanager.py", line 328, in connection_from_context
return self.connection_from_pool_key(pool_key, request_context=request_context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Python\Lib\site-packages\urllib3\poolmanager.py", line 351, in connection_from_pool_key
pool = self._new_pool(scheme, host, port, request_context=request_context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Python\Lib\site-packages\urllib3\poolmanager.py", line 265, in _new_pool
return pool_cls(host, port, **request_context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Python\Lib\site-packages\urllib3\connectionpool.py", line 196, in init
timeout = Timeout.from_float(timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Python\Lib\site-packages\urllib3\util\timeout.py", line 190, in from_float
return Timeout(read=timeout, connect=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Python\Lib\site-packages\urllib3\util\timeout.py", line 119, in init
self._connect = self._validate_timeout(connect, "connect")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Python\Lib\site-packages\urllib3\util\timeout.py", line 156, in _validate_timeout
raise ValueError(
ValueError: Timeout value connect was <object object at 0x000001BF70FB47F0>, but it must be an int, float or None.
Process finished with exit code 1
一直显示超时、appium也没有反应或者报这种错误No route found.Setting content type to 'text/plain'(环境配置检查过了没发现什么问题)
看看参数是不是传的有问题
这个错误提示是因为在连接模拟器时,传入的超时时间参数类型不正确。在 Appium 中,连接模拟器时需要指定超时时间,如果传入的不是 int、float 或 None 类型的数据,就会出现这个错误。
解决方法如下:
感谢网友的分享,已经成功了!
selenium版本降级
pip install --force-reinstall -v "selenium==4.8.0" 参考:
https://stackoverflow.com/questions/76209426/running-an-keyword-on-robotframework-throw-an-error-valueerror-timeout-value-c/76234505#76234505 – 来杯丞汁⁶
另一个参考链接:
https://github.com/appium/python-client/issues/863 – 来杯丞汁⁶
这个错误提示表明在连接模拟器时,设置的超时值不正确,需要使用整数、浮点数或None作为超时值。
在你的代码中,desired_caps 参数中应该包含一个键为 'connectTimeout' 或 'timeout' 的项,并且该项的值应该是一个整数或浮点数。如果该项的值是一个对象(例如 <object object at 0x000001BF70FB47F0>),则会导致该错误。
请确保你的代码中已正确设置了连接超时值。例如,可以尝试将 desired_caps 修改为以下内容:
python
Copy code
desired_caps = {
'platformName': 'Android',
'deviceName': 'your_device_name',
'appPackage': 'your_app_package',
'appActivity': 'your_app_activity',
'connectTimeout': 10, # 设置为整数或浮点数,表示超时时间(以秒为单位)
# 其他的 desired capabilities...
}
在上述示例中,connectTimeout 设置为 10,你可以根据需要调整超时时间。
如果问题仍然存在,请确保你的 Appium 版本与你使用的 Appium Python 客户端库版本兼容。有时版本不匹配可能导致某些功能不正常或出现错误。
此外,确保你的环境配置正确,并且模拟器的连接设置正确。你可以尝试重新启动 Appium 服务器和模拟器,并检查是否仍然出现问题。
如果问题仍然持续存在,请提供更多关于你的环境配置、Appium 版本和完整的代码片段,这样可以更好地帮助你解决问题。