问题描述
我想以移动显示分辨率运行我的所有Behat /貂皮测试。最好的做法是在开发工具模式下使用Chrome运行所有测试,在该模式下,您可以选择“ iPhone 5 / SE”等等,以模拟在该设备上运行的情况。
因此,我自己尝试通过在FeatureContext中设置显示分辨率来实现类似的功能。
这里是SO question on how to resize browser windows with Behat 2。还有sample code for setting the window resolution in Behat/Mink/Drupal。
基于这些示例,我在FeatureContext中添加了以下代码:
/**
* @BeforeScenario
*/
public function resizeWindow()
{
$this->getSession()->resizeWindow(100,500,'current');
}
但是,我遇到此错误:
致命错误:在null上调用成员函数window() (Behat \ Testwork \ Call \ Exception \ FatalThrowableError)
我也尝试过:
- 使用
BeforeStep
代替BeforeScenario
(结果:相同的错误) - 添加一个步骤“我将分辨率设置为A x B”(结果:我可以通过这种方式在测试中调整窗口的大小,但是当我在测试中提交表单时,将重置屏幕分辨率;要解决此问题,我可以相继添加步骤来设置分辨率,但这效率很低)
- 我在behat.yml中尝试了setting the window size as a chrome switch,但是我也无法使它正常工作(窗口大小没有变化)
我的目标:强制所有测试在具有固定窗口大小的Chrome下执行
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)