折腾:
【未解决】iOS自动化安装app:给当前WiFi去掉代理以及自动安装app后再恢复之前代理
期间,之前已实现了:
【已解决】iOS自动处理WiFi代理:配置代理页中从手动切换到关闭且保留之前代理配置信息
对应着
iOSDisableWiFiProxy
此处需要做反向动作:从 关闭 改为 手动,且恢复填入之前的代理配置信息
正在调试写代码
iOSRestoreWiFiProxy
发现,好像可以合并到一起,比如:
iOSUpdateWiFiProxy
fromType = 关闭
toType = 手动
manualProxyInfo = None
而之前的:
fromType = 手动
toType = 关闭
然后就返回 proxyInfo
去改造:
改造期间发现,如果底层用了统一的这个:iOSUpdateWiFiProxy
那么调用者
settingsDisableWiFiProxy
和
settingsRestoreWiFiProxy
也又都可以合并成一个了:
settingsUpdateWiFiProxy
接着去优化
不过先去实现下面的iOSUpdateWiFiProxy
调试期间
foundAndClickedWifi = self.iOSFromSettingsIntoWifiList()
还失败:
[200611 18:02:30][DevicesMethods.py 856] Not found element {'type': 'XCUIElementTypeStaticText', 'name': '无线局域网', 'enabled': 'true', 'parent_class_chains': ["/XCUIElementTypeCell[`name = '无线局域网' AND rect.x = 0 AND rect.width = 414`]"]}
所以去加上多次尝试
foundAndClickedWifi = CommonUtils.multipleRetry({"functionCallback": self.iOSFromSettingsIntoWifiList})
继续:
此处遇到情况:
【已解决】iOS自动化操作设置出错:启动设置后找不到无线局域网
然后继续优化代码
且又想到,其实更好的是:
支持修改全部类型的代理配置
即,额外支持代理是自动的情况,返回url值
并且在update代理之后返回的是完整的代理配置信息
类似于这种:
{ auto: True/False manual None or: server port authenticate auto None or url }
逻辑是:
- 如果要关闭:
- 之前:
- 关闭:不改动
- 手动:返回 之前配置:服务器 端口 鉴定
- 自动:返回 之前配置:url
- 如果要设置成手动
- 输入参数中要包含 手动的代理信息:服务器 端口 鉴定
- 之前
- 自动:
- 设置新的 手动 服务器 端口 鉴定
- 返回:url
- 手动:
- 配置不同:更新 服务器 端口 鉴定
- 返回旧的配置:服务器 端口 鉴定
- 配置相同:不改动
- 关闭
- 设置 动 服务器 端口 鉴定
- 如果要设置成自动
- 输入参数中要包含 自动的代理信息:url
- 之前
- 关闭:设置 自动的 url
- 手动:则返回:服务器 端口 鉴定
- 自动:
- url不同:更新 url
- 返回:旧的配置:url
- url相同:不改动
其中:
输入:
(1)变 关闭
{ disable: True }
(2)变 手动
{ manual server port authenticate }
(3) 变 自动
{ auto url }
输出的信息中,主要表示之前代理的配置
(1)之前是手动:
{ disable: True }
(2)之前是 手动
{ manual server port authenticate }
(3)之前是 自动
{ auto url }
-》可见:
输入的新类型 和 返回的 之前旧配置 是结构上一样的
->另外为了方便值的判断,分别都加上其他2个字段,为空:
(1)输入=关闭,输出 之前是关闭:
{ disable: True auto: None manual: None }
(2)输入=手动,输出 之前是 手动:
{ manual server port authenticate disable: None, auto: None, }
(3)输入=自动,输出 之前是 自动:
{ auto url disable: None, manual: None }
去写代码
感觉整个逻辑都有些变化了,变成了:
在当前WIFI详情页,支持 update更新成为新的type
而不仅仅是:在已经进去了 配置代理 页面中 update了
因为 有可能是 update要变成 关闭 旧类型已经是 关闭 则无需进入 代理配置页
所以,完全变成了:
【已解决】iOS自动化处理WiFi代理:WiFi详情页中更新代理配置信息