【问题标题】:Problem with monitor resolution in Capybara object identificationCapybara对象识别中的监视器分辨率问题
【发布时间】:2022-07-10 21:45:39
【问题描述】:

当我在 15 英寸显示器上运行时,capybara 无法单击特定菜单项,但当我在 29 英寸显示器上运行时,测试运行良好。

如何调整这一点,以使测试运行不受显示器大小的影响?

我正在使用以下配置:

Capybara.default_driver = driver
   Capybara.default_max_wait_time = 30
   Capybara.page.current_window.resize_to(1366, 768)
   Capybara.page.driver.browser.manage.window.maximize

【问题讨论】:

    标签: ruby automated-tests capybara


    【解决方案1】:

    您可以将窗口大小调整为width: 2000, height: 2000 并查看是否有效。

    或者您的元素可能无法点击。因此,您可以添加滚动到该元素并单击它

    为此,添加一个单独的方法,如下所示

    def scroll_to_css(css_selector)
      script = "document.querySelector('#{css_selector}').scrollIntoView(true);"
      Capybara.current_session.evaluate_script(script)
    end
    

    并在点击元素前调用 ex:scroll_to_css ".css_selector"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多