gpt4 book ai didi

ruby - 如何知道超时是由于未出现的元素还是 400..500 错误页面引起的

转载 作者:太空宇宙 更新时间:2023-11-03 16:50:40 25 4
gpt4 key购买 nike

在使用 Watir 和 page-object-gem 执行测试套件期间,我们可能会遇到超时错误。这些超时错误可能由以下原因引起:

  • 一个页面,一旦成功加载,由于软件错误而没有我们正在寻找的元素。
  • 返回 400 或 500 错误代码的页面。这种情况下,显然out元素没有出现,输出和之前一样,超时错误。

我需要知道超时是因为该元素没有出现在正确加载的页面中,还是因为我们收到 400 或 500 错误代码,当然,该元素未找到。

似乎唯一的逻辑解决方案可能是创建一个自定义等待函数来检查 Net::HTTP 状态代码是否在 200..399 之间,继续执行并继续使用 page-object-gem wait_until 或者如果状态代码在 400..599 之间,引发错误页面异常。

问题是:是否有处理页面状态代码的钩子(Hook)或等待方法?

提前致谢!

最佳答案

没有现成的 Hook 可以为您完成,但页面对象有 Hook ,您可以使用它来实现这一目标。

  • initialize_accessors(在导航到页面之前发生)
  • initialize_page(在导航到页面后发生)

换句话说,您可以定义 initialize_page 方法,该方法在导航到页面后被调用,并让它检查页面是否有错误,如果发现错误则快速失败。

关于ruby - 如何知道超时是由于未出现的元素还是 400..500 错误页面引起的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22836129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com