Ruby:iOS:使用appium查找屏幕中的所有元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ruby:iOS:使用appium查找屏幕中的所有元素相关的知识,希望对你有一定的参考价值。

我试图在一个黄瓜步骤中在appium中找到屏幕中的所有元素。现在,我有一个查询,它运行并提取和存储SQL表中存在的值以及通过提取文本与应用程序中存在的元素进行比较的那些值。我使用ruby,我用它的id识别每个元素并写find_element(I'd: "").text来获取文本。这个文本我存储在变量中,并将其与我从db接收的原始数据进行比较。现在,这个元素是动态的,这意味着它可能会或者可能不存在,下次我运行它。此外,屏幕中有很多元素,并且识别每个元素将是一项单调乏味的任务,如果假设已识别的元素未出现,则测试失败。我不想使用rescue false,因为我不知道出现了什么,什么没有。

我在想黄瓜表使用的逻辑实现是否对我有帮助。

黄瓜桌步骤看起来像

And then the page consists: |Table| |Cells| |Row|

这将验证屏幕中的所有元素是否给出元素的名称或表中元素的Id。

目前,我无法将包含db值的变量调用到包含黄瓜表的功能文件中?在这种情况下,有没有办法,模拟这个?通过在步骤定义文件中对表进行硬编码?

我尝试使用格式[:table], [:Cell]

但这似乎不起作用。很感谢任何形式的帮助。我尝试了很多东西,但我无法记住一切。

如果需要任何信息,请在评论中提及,我很乐意更新所需的内容

答案

现在,继续这个逻辑。这将打印可见的元素和不可见的元素。

arrays = [$array1, $array12, 'array3']
  arrays.each do |array|
    begin
      wait_true { exists { find_element(:xpath, "//*[@value='#{array}']") == true } }
      puts "we can verify '#{array}'"
    rescue
      puts "we could not verify '#{array}'"
      end
    end
end

以上是关于Ruby:iOS:使用appium查找屏幕中的所有元素的主要内容,如果未能解决你的问题,请参考以下文章

使用 Appium 和 Python 测试 iOS 应用程序时等待元素加载?

Appium-测试失败后屏幕截图的

使用 appium 自动化 IOS UITableview

为 iOS 应用测试自动化设置 appium [关闭]

Appium Ruby - 无法滚动到 Accessibility_ID

如何在不关闭对话框的情况下使用 Appium for IOS 隐藏键盘?