最新消息:20210917 已从crifan.com换到crifan.org

【已解决】iOS自动化处理WiFi代理:配置代理页中从关闭切换到手动恢复之前代理配置信息

配置 crifan 443浏览 0评论
折腾:
【未解决】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详情页中更新代理配置信息

转载请注明:在路上 » 【已解决】iOS自动化处理WiFi代理:配置代理页中从关闭切换到手动恢复之前代理配置信息

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
90 queries in 0.189 seconds, using 23.32MB memory