微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 IOS 上,元素是“可见的”并被点击,即使它没有显示

如何解决在 IOS 上,元素是“可见的”并被点击,即使它没有显示

我在 browserstack 上运行 selenium 测试时遇到问题。这个测试应该会失败。 它在 Android 上确实失败了,但在 iOS 上通过了,我只是不明白是怎么回事。

不幸的是,我不允许共享 html 代码,但我可以共享我的代码。我正在调用这个方法

public void clickElement() {
        driver.findElement(Element1).click();
    }

基本上,我正在尝试点击移动设备上的隐藏按钮。所以这个测试应该会失败。 在 Android 上,我的测试按预期失败。按钮未显示,所以一切正常。

但在 iOS 上(我在 browserstack 上可以找到的所有设备,移动设备和平板电脑等),这个按钮虽然隐藏,但无论如何都会被点击。

我不明白这怎么可能。 有谁知道这个问题从何而来?它与iOS或browserstack有关吗?还是两者兼而有之?

任何帮助将不胜感激 谢谢

解决方法

这里可能有两个原因:

  1. 不透明度设置为 0 - 如果是这种情况,元素可能对我们不可见,但仍然没有隐藏。只有当元素被隐藏时才会停止接收 UITouch 事件。

  2. 视图后面可能有视图 - 因此,如果您隐藏第一个视图而其他视图位于第一个视图后面,它们仍会继续响应 UITouch 事件。

因此,为了确保您的情况发生了什么,您必须确保 waitForVisibilityOf 方法实际上也隐藏了 iOS 的视图。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。