python - Appium(使用 Python) - 无法启动应用程序(错误 /wd/hub/session(由 NewConnectionError 引起('
当我运行下面的程序来启动 python 程序以启动 android 应用程序时,我得到以下错误: raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.
问题描述
当我运行下面的程序来启动 python 程序以启动 android 应用程序时,我得到以下错误: raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='0.0.0.0 ',端口 = 4723):最大重试次数超过 url:/wd/hub/session(由 NewConnectionError('<urllib3.connection.HTTPConnection object at 0x000001B1D68BDB20> 引起:无法建立新连接:[WinError 10049] 请求的地址)在其上下文中无效'))
环境:Windows10、Appium v1.20.2
图书馆列表:
Appium-Python-Client~=1.0.2
selenium~=3.141.0
pytest~=6.1.1
allure-pytest
pytest-parallel
pytest-xdist
pytest-rerunfailures
pytest-sugar
pytest-json
pymysql~=0.10.1
sshtunnel~=0.1.5
requests~=2.24.0
invoke~=1.4.1
python-dotenv
pytest-html-reporter~=0.2.3
from appium import webdriver
desired_caps= {}
desired_caps['platformName']='Android'
desired_caps['automationName']='UiAutomator2'
desired_caps['platformVersion']='9'
desired_caps['deviceName']='TKX44XS8DAVWNRMZ'
desired_caps['app']='path/Android-NativeDemoApp-0.2.1.apk'
desired_caps['appPackage']='com.wdiodemoapp'
desired_caps['appActivity']='com.wdiodemoapp.MainActivity'
driver = webdriver.Remote('http://0.0.0.0:4723/wd/hub',desired_caps)
请帮忙。
至少有两种方法可以使用,只要用户旅程从它应该开始的地方开始,在他们试图到达的页面上,使其成为服务提供商发起的身份验证请求。作为基于 SAML 的联合中的服务提供者,您可以通过向身份提供者发送AuthnRequest来启动该过程。
第一种可用方法是通过跟踪 AuthnRequest 来实现的ID
。在一个好的 SAML 实现中,AuthnRequest 的 ID 是大而随机的,并且在我们的一生中可能无法重复。SAML Profiles 规范在第 625-626 行说:
如果包含的消息是对 的响应<AuthnRequest>
,那么该InResponseTo
属性必须与请求的相匹配ID
。
因此,只要您跟踪您发送的 ID,您就可以将 RequestID
与 Response联系起来inResponseTo
。
您可以使用的第二种方法是RelayState
. 这是 AuthnRequest 的一个恰当命名的元素,您可以使用它来将状态转移到身份提供者并返回。这是一个您可以作为服务提供者使用的字段,响应者必须将其发回。Bindings 规范在第 265-271 行说:
一些绑定定义了用于保存和传送状态信息的“RelayState”机制。当这种机制用于传送请求消息作为 SAML 协议的初始步骤时,它对随后用于传送响应的绑定的选择和使用提出了要求。即,如果 SAML 请求消息伴随着 RelayState 数据,则 SAML 响应者必须使用同样支持 RelayState 机制的绑定返回其 SAML 协议响应,并且它必须将它与请求一起接收到的确切 RelayState 数据放入相应的 RelayState响应中的参数。
因此,您可以在该字段中放置一些东西,而 IdP 必须原封不动地复制它。您应该确保放入其中的内容不会损害用户或安全性,因此请注意您的使用方式。它最终会出现在某个地方的日志中。
解决方案
推荐阅读
- python - 如何将多个音频和视频合并到一个文件中?
- autodesk-forge - 可以使用 Autodesk Forge 将 Inventor 装配体转换为 Revit 项目或族吗?
- html - 修复 Div 中的累积布局偏移
- excel - Excel VBA 通过 Google 消息发送 SMS 文本
- list - Flutter 转换列表
>
- javascript - 小数到百分比的转换 - javascript/typescript
- excel - Excel中的QBO任务用户定义字段
- python - 我的二进制搜索 python 代码有什么问题
- google-apps-script - 使用 Google Apps 脚本、webhook 将多个帖子发送到电报
- reactjs - 如何使用这个类添加不同的事件 |REACT JS|
当我运行下面的程序来启动 python 程序以启动 android 应用程序时,我得到以下错误: raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.
问题描述
当我运行下面的程序来启动 python 程序以启动 android 应用程序时,我得到以下错误: raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='0.0.0.0 ',端口 = 4723):最大重试次数超过 url:/wd/hub/session(由 NewConnectionError('<urllib3.connection.HTTPConnection object at 0x000001B1D68BDB20> 引起:无法建立新连接:[WinError 10049] 请求的地址)在其上下文中无效'))
环境:Windows10、Appium v1.20.2
图书馆列表:
Appium-Python-Client~=1.0.2
selenium~=3.141.0
pytest~=6.1.1
allure-pytest
pytest-parallel
pytest-xdist
pytest-rerunfailures
pytest-sugar
pytest-json
pymysql~=0.10.1
sshtunnel~=0.1.5
requests~=2.24.0
invoke~=1.4.1
python-dotenv
pytest-html-reporter~=0.2.3
from appium import webdriver
desired_caps= {}
desired_caps['platformName']='Android'
desired_caps['automationName']='UiAutomator2'
desired_caps['platformVersion']='9'
desired_caps['deviceName']='TKX44XS8DAVWNRMZ'
desired_caps['app']='path/Android-NativeDemoApp-0.2.1.apk'
desired_caps['appPackage']='com.wdiodemoapp'
desired_caps['appActivity']='com.wdiodemoapp.MainActivity'
driver = webdriver.Remote('http://0.0.0.0:4723/wd/hub',desired_caps)
请帮忙。
至少有两种方法可以使用,只要用户旅程从它应该开始的地方开始,在他们试图到达的页面上,使其成为服务提供商发起的身份验证请求。作为基于 SAML 的联合中的服务提供者,您可以通过向身份提供者发送AuthnRequest来启动该过程。
第一种可用方法是通过跟踪 AuthnRequest 来实现的ID
。在一个好的 SAML 实现中,AuthnRequest 的 ID 是大而随机的,并且在我们的一生中可能无法重复。SAML Profiles 规范在第 625-626 行说:
如果包含的消息是对 的响应
<AuthnRequest>
,那么该InResponseTo
属性必须与请求的相匹配ID
。
因此,只要您跟踪您发送的 ID,您就可以将 RequestID
与 Response联系起来inResponseTo
。
您可以使用的第二种方法是RelayState
. 这是 AuthnRequest 的一个恰当命名的元素,您可以使用它来将状态转移到身份提供者并返回。这是一个您可以作为服务提供者使用的字段,响应者必须将其发回。Bindings 规范在第 265-271 行说:
一些绑定定义了用于保存和传送状态信息的“RelayState”机制。当这种机制用于传送请求消息作为 SAML 协议的初始步骤时,它对随后用于传送响应的绑定的选择和使用提出了要求。即,如果 SAML 请求消息伴随着 RelayState 数据,则 SAML 响应者必须使用同样支持 RelayState 机制的绑定返回其 SAML 协议响应,并且它必须将它与请求一起接收到的确切 RelayState 数据放入相应的 RelayState响应中的参数。
因此,您可以在该字段中放置一些东西,而 IdP 必须原封不动地复制它。您应该确保放入其中的内容不会损害用户或安全性,因此请注意您的使用方式。它最终会出现在某个地方的日志中。
解决方案
推荐阅读
- python - 如何将多个音频和视频合并到一个文件中?
- autodesk-forge - 可以使用 Autodesk Forge 将 Inventor 装配体转换为 Revit 项目或族吗?
- html - 修复 Div 中的累积布局偏移
- excel - Excel VBA 通过 Google 消息发送 SMS 文本
- list - Flutter 转换列表
- >
- javascript - 小数到百分比的转换 - javascript/typescript
- excel - Excel中的QBO任务用户定义字段
- python - 我的二进制搜索 python 代码有什么问题
- google-apps-script - 使用 Google Apps 脚本、webhook 将多个帖子发送到电报
- reactjs - 如何使用这个类添加不同的事件 |REACT JS|