如何检查元素在Appium iOS中是否仅部分可见或完全可见?

如何检查元素在Appium iOS中是否仅部分可见或完全可见?,appium,appium-ios,Appium,Appium Ios,我有一个iOS应用程序,在一个页面上有很多输入字段。我想自动化这些输入,我知道如何滚动到这些元素和所有内容,但我对部分显示的元素有问题 有两种情况下,部分显示的图元会导致问题: 第一种情况是另一个元素与背景中的元素重叠时产生的。如果我点击背景中的元素,Appium就会点击重叠的元素。这会导致错误的交互,从而导致测试崩溃。函数isDisplayed()不可用,因为对于部分显示的元素,即使只有一行或两行像素可见,结果也是真实的 当我使用sendKeys()在元素中键入内容时,出现了第二种情况。这将在

我有一个iOS应用程序,在一个页面上有很多输入字段。我想自动化这些输入,我知道如何滚动到这些元素和所有内容,但我对部分显示的元素有问题

有两种情况下,部分显示的图元会导致问题: 第一种情况是另一个元素与背景中的元素重叠时产生的。如果我点击背景中的元素,Appium就会点击重叠的元素。这会导致错误的交互,从而导致测试崩溃。函数isDisplayed()不可用,因为对于部分显示的元素,即使只有一行或两行像素可见,结果也是真实的

当我使用sendKeys()在元素中键入内容时,出现了第二种情况。这将在iOS上打开键盘,当我想要单击下一个元素时,键盘可能正好位于元素上方,除了元素中仍然可见的一些空间,因此isDisplayed()为元素返回true。我知道有hideKeyboard()选项,但这并不总是可能的,因为显示的键盘必须将隐藏键作为可见键

对我来说,一个解决方案是我不点击下一个元素,而是点击下一个元素,但这非常难看,应该有更好的解决方案

我已经尝试过计算元素的高度,但在iOS中这是不可能的,因为所有元素,即使不在屏幕上,仍然可以在Appium中找到,并且始终具有元素的高度

因此,我的问题是如何使用比isDisplay()更可靠的东西检查元素是否完全可见?我更喜欢Java的解决方案,但我也可以管理其他语言