【发布时间】:2020-10-27 05:54:50
【问题描述】:
我想以移动显示分辨率运行我的所有 Behat/mink 测试。真正好的是在开发工具模式下使用 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 下以固定窗口大小执行
【问题讨论】:
标签: behat google-chrome-headless mink