【问题标题】:How to handle iOS update alert with Appium如何使用 Appium 处理 iOS 更新警报
【发布时间】:2017-01-16 00:17:22
【问题描述】:

我将 Selenium 与 A​​ppium 一起使用,我的测试在 Android 和 iOS 真实设备上运行。 iOS 空闲时在 android 上运行一组测试。然后测试切换到iOS。两台设备同时连接。

以下是我使用 testNG 运行的套件序列:

<suite-file path="android_Suite1.xml" />
<suite-file path="ios_Suite1.xml" />
<suite-file path="android_Suite2.xml" />
<suite-file path="ios_Suite2.xml" />
<suite-file path="android_Suite3.xml" />
<suite-file path="ios_Suite3.xml" />

这里的问题是iOS设备在测试切换到android时显示os update安装弹出窗口。我想在测试切换回 iOS 之前禁用弹出窗口。我可以从设置>存储中删除更新。但是测试会在一夜之间运行,并且有可能再次下载更新。 由于这是一个系统警报,因此测试不会开始,因为没有创建会话,因为 appium 找不到主屏幕。所以这些功能也不起作用。 需要帮助来处理这个特定的弹出窗口。

【问题讨论】:

  • 弹窗有元素,可以点击'ok'/'cancel元素。你到底是什么问题?
  • 可以,但是软件升级弹窗没有ok/Cancel。它具有 Install/Later/.. 此外,除非创建 iOS 驱动程序,否则无法访问此弹出窗口。

标签: java iphone appium ios-ui-automation appium-ios


【解决方案1】:

不确定我能否为您提供准确的解决方案,但您可以制作一个两线程系统,一个用于 Android,一个用于 iOS。然后在另一个线程测试时让每个线程产生。您需要运行两个 Appium 实例才能执行此操作(不同的端口)。

然后根据具体功能使用以下方法之一解决:

1) 然后每次跑步也有一个司机。那时,您可以在 iOS 端输入您的逻辑以始终关闭/接受警报。

2) 您可以从 iOS 线程中创建一个线程,每隔 'x' 秒检查一次软件弹出窗口,如果发现则将其关闭。

我在 android 上遇到了类似的异步弹出窗口问题,我使用选项 (2) 来解决。您的问题似乎比我必须处理的问题更严重。希望这可以让您开始使用一个好的解决方案!抱歉,答案模棱两可。

【讨论】:

  • 谢谢@JaysonP。我会尝试这种方法并在 cmets 中更新 :)
【解决方案2】:

首先你需要删除下载的更新,如果它已经下载然后你必须关闭自动更新,如下所示。

默认情况下会启用自动更新,因此您需要将其关闭。这对当前的更新没有帮助,但它会阻止您将来收到这些消息。因此,您应该做的第一件事是深入设置并关闭自动更新:

  1. 点按设置。
  2. 点击 iTunes 和应用商店。
  3. 将“自动下载”下的更新设置为关闭。

这将阻止 iOS 以后下载更新,尽管您仍需要处理已下载的更新。

【讨论】:

    猜你喜欢
    • 2015-03-23
    • 2014-08-29
    • 2016-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-26
    • 1970-01-01
    相关资源
    最近更新 更多