我正在使用Selenium和Appium,我的测试在Android和iOS真实设备上运行。在iOS闲置时,在Android上运行一组测试。然后测试切换到iOS。两个设备同时连接。
以下是我使用testNG运行的套件序列:
Button button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
handler.removeCallbacks(runnable);
// do your Button stuff
anotherMethod();
}
});
这里的问题是iOS设备在测试切换到android时显示os更新安装弹出窗口。我想在测试切换回iOS之前禁用弹出窗口。我可以从设置>存储中删除更新。但测试在一夜之间进行,并且有可能再次下载更新。 由于这是一个系统警报,测试不会启动,因为没有创建会话,因为appium找不到主屏幕。所以功能也不会起作用。 需要帮助来处理这个特定的弹出窗口。
答案 0 :(得分:0)
不确定我能给你一个确切的解决方案,但你可以建立一个双线程系统,一个用于Android,一个用于iOS。然后在另一个测试的时候产生每个线程。您将需要运行两个Appium实例来执行此操作(不同的端口)。
然后根据确切的功能解决以下方法之一:
1)然后每个跑步都有一个驱动程序。那时你可以在iOS端加入你的逻辑来总是解除/接受警报。
2)你可以从iOS线程中找到一个线程,用于检查软件弹出窗口' x'秒,然后如果发现解雇它。
我在android上的异步弹出窗口有类似的问题,我使用选项(2)来解决。你的问题似乎比我必须处理的问题更有问题。希望这可以让你开始有一个很好的解决方案!对不起,这个含糊不清的答案。
答案 1 :(得分:0)
首先,您需要删除下载的更新(如果已经下载),那么您必须关闭自动更新,如下所示。
默认情况下启用自动更新,因此您需要将其关闭。这对当前更新没有帮助,但它将阻止您将来收到这些消息。所以你要做的第一件事就是深入了解设置并关闭自动更新:
这将阻止iOS将来下载更新,但您仍需要处理已下载的更新。