繁体   English   中英

如何使用Appium处理iOS更新警报

[英]How to handle iOS update alert with Appium

我将Selenium与Appium一起使用,并且我的测试在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" />

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

不知道我能给您一个确切的解决方案,但您可以制作两个线程的系统,一个用于Android,一个用于iOS。 然后,在其他线程正在测试时,只产生每个线程。 为此,您将需要运行两个Appium实例(不同的端口)。

然后根据确切的功能,使用以下方法之一解决:

1)然后每次运行都有一个驱动程序。 那时,您可以在iOS方面投入逻辑,以始终关闭/接受警报。

2)您可能从iOS线程中提取了一个线程来检查软件弹出窗口“ x”秒,如果发现,则将其关闭。

我在Android上使用选项(2)解决的异步弹出窗口也遇到了类似的问题。 您的问题似乎比我必须解决的问题多一些。 希望这可以使您从一个好的解决方案入手! 抱歉,答案不明确。

首先,如果已经下载了更新,则需要将其删除,然后按如下所示关闭自动更新。

默认情况下,自动更新处于启用状态,因此您需要将其关闭。 这对当前更新无济于事,但它将使您以后无法获取这些消息。 因此,您应该做的第一件事就是深入设置并关闭“自动更新”:

  1. 点击设置。
  2. 点击iTunes和App Store。
  3. 将“自动下载”下的更新设置为关闭。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM