当前位置: 首页 > 知识库问答 >
问题:

我如何在Behat3/Mink中固定浏览器窗口大小?

丁经国
2023-03-14

我想在移动显示分辨率下运行我的所有Behat/Mink测试。最好的方法是在开发工具模式下使用Chrome运行所有测试,您可以选择“iPhone5/SE”等等,以模拟在该设备上运行。

这里有一个关于如何用Behat2调整浏览器窗口大小的问题。在behat/mink/drupal中有设置窗口分辨率的示例代码。

基于这些示例,我在我的FeatureContext中添加了以下代码:

  /**
   * @BeforeScenario
   */
  public function resizeWindow()
  {
    $this->getSession()->resizeWindow(100, 500, 'current');
  }

然而,我得到了这个错误:

    null

共有1个答案

田冥夜
2023-03-14

@beforescenario中执行此操作:

  /**
   * @BeforeScenario
   */
  public function resizeWindow()
  {
    if ($this->getSession()->getDriver() instanceof Selenium2Driver) {
      $this->getMink()->getSession()->start();
      $this->getSession()->resizeWindow(100, 500, 'current');
    }
  }

@beforestep中执行此操作:

  /**
   * @BeforeStep
   */
  public function resizeWindowStep()
  {
    $is_session = $this->getMink()->isSessionStarted();
    if (!$is_session) {
      $this->getMink()->getSession()->start();
    }
    $this->getSession()->resizeWindow(100, 500, 'current');
  }
 类似资料:
  • 问题内容: 由于某些原因,当我在工作中运行测试时,浏览器会最大化,但是当我在家运行测试时,它只会打开大约50%宽度的浏览器窗口。这会导致向下滚动等方面的差异,因此理想情况下,我希望在运行测试的每台计算机上,以相同大小打开浏览器窗口。最好的方法是什么?(我找到了其他语言的一些答案,但无法将它们改编成JavaScript) 新增中 什么也不做(显然,Chrome不支持)。 问题答案: 您可以通过运行以

  • 问题内容: 最近,我在新的gmail和HTML5 bing预览中看到了一个有趣的新功能,该功能可在滚动时将导航栏固定在浏览器窗口的顶部。该栏可能从页面向下100px开始,但是当您滚动并到达浏览器窗口顶部时,它会固定在那里,直到您向上滚动到其最初位置为​​止。 我的问题是;我该怎么做或做类似的事情? 希望您能理解我的问题以及我要描述的内容。 问题答案: 如果您希望元素在页面上进一步向下移动,然后在向

  • 问题内容: 因此,我有了这个Electron应用程序,并且在一个.html文件中,我链接了另一个脚本,该脚本为该程序提供了一些实用程序功能,其中一个是这个: 因此,这应该使用集成的电子PDF查看器(使用Chromium)在新窗口中打开PDF。我使用了臭名昭著的,我尝试了可以为BrowserWindow定义的成千上万的首选项,但是它总是打开窗口,然后开始下载文件而不显示它。 我三重检查了文件路径,“

  • 问题内容: 这看似微不足道,但是经过所有的研究和编码,我无法使其正常工作。条件是: 浏览器窗口大小未知。因此,请不要提出涉及绝对像素大小的解决方案。 图片的原始尺寸未知,可能适合浏览器窗口,也可能不适合浏览器窗口。 图像垂直和水平居中。 图像比例必须守恒。 图像必须在窗口中完整显示(不裁剪)。 我不希望滚动条出现(如果图像合适,它们也不应该出现。) 窗口尺寸更改时,图像会自动调整大小,以占据所有可

  • 问题内容: 我尝试使用以下代码在关闭浏览器窗口时收到警报: 它可以工作,但是如果页面包含一个超链接,则单击该超链接会引发相同的警报。仅在关闭浏览器窗口时才需要显示警报,而在单击超链接时则不需要。 问题答案: 保持您的代码不变,并使用jQuery处理链接: