使用 cucumber 测试不同屏幕尺寸(设备)的行为

Posted

技术标签:

【中文标题】使用 cucumber 测试不同屏幕尺寸(设备)的行为【英文标题】:Using cucumber to test the behaviour of different screen sizes (devices) 【发布时间】:2011-11-03 17:27:40 【问题描述】:

我正在使用 cucumber 自动化我的测试,并且我需要自动化移动页面中导航栏的行为,因为这些菜单选项是根据屏幕大小显示的......例如:

480px 有菜单 a、菜单 b、菜单 c 和菜单 d。

320px 有菜单 a、菜单 c 和菜单 d。

我的问题是,这可以自动化吗?如果是这样,有人有什么想法吗?

提前致谢, 伊恩

【问题讨论】:

【参考方案1】:

我把它放在我的一个步骤定义中,它起作用了:

if Capybara.current_driver == :selenium
  window = Capybara.current_session.driver.browser.manage.window
  window.resize_to(1200, 800)
end

我正在使用 Cucumber 和 Capybara。

【讨论】:

【参考方案2】:

两种可能的选择:

使用真正的浏览器进行测试,例如通过 Selenium,它具有设置窗口大小的方法,应该可以通过 Capybara 中的本机代理方法调用。 将窗口约束值作为额外的查询字符串传递给测试。您的生产代码可以检查它的存在,并使用它来代替实际的窗口大小。例如http://example.com/products?constrain_width=480

【讨论】:

测试用例的生产代码检查可能是要避免的:) 有时候别无他法。

以上是关于使用 cucumber 测试不同屏幕尺寸(设备)的行为的主要内容,如果未能解决你的问题,请参考以下文章

如何让 Flutter 小部件适应不同的屏幕尺寸

如何为不同的屏幕尺寸android studio自动调整imageview的大小?

如何解决不同屏幕尺寸下的相同dpi问题。

为不同的屏幕尺寸提供不同的图片(为那些没有必要下载全尺寸大图的设备节省带宽)

Android学习路线(十八)支持不同设备——支持不同的屏幕

UIImageView 在不同设备上保留情节提要“预览屏幕边界” - 框架不根据屏幕尺寸更新