如何在JBehave Web中运行FirefoxWebDriverProvider时更改浏览器窗口的大小

时间:2012-05-29 21:31:11

标签: selenium jbehave

我们正在使用JBehave Web为新项目推动我们的selenium测试套件,并且非常喜欢JBehave上提供的Etsy.com示例,特别是Java / Spring maven原型,因为它适合我们的架构。

到目前为止,最大的问题是文档,这就是我在这里发帖的原因,希望能在类似情况下得到其他人的帮助。

看起来JBehave Web只提供了一个“FirefoxWebDriverProvider”类,而且没有相应的类。有没有其他人遇到这个问题?您是否编写过自己的ChromeDriverProvider?

此外,我们需要更改默认情况下出现的浏览器的大小,而且我似乎无法在测试运行的引导过程中找到一种方法。

我们正在使用Maven原型:jbehave-web-selenium-java-spring-archetype,它使用jbehave-maven-plugin和“run-stories-with-annotated-embedder”目标,所以我们正在使用扩展InjectableEmbedder的“Annotated”方法。

如果有人可以提供一些指导,我会非常感激,即使只是指示更多的例子。

6 个答案:

答案 0 :(得分:11)

如何调整窗口大小

webDriverProvider.get().manage().window().setSize(new Dimension(width, height));

您可以通过浏览代码轻松找到这样的代码。如果您使用的是Eclipse,那么 Open Declaration Quick Type Hierarchy 选项就是您需要的一切。

如何使用Chrome驱动程序

您可以使用TypeWebDriverProviderPropertyWebDriverProvider。例如:

new TypeWebDriverProvider(ChromeDriver.class);

答案 1 :(得分:2)

jokka说的是正确的,justr旁注:在调整窗口大小之前,我总是将它放在左上角,所以我知道WebDriver可以“看到”所有内容:

driver.get().manage().window().setPosition(new Point(0, 0));

显然,上面的driver被认为是WebDriverProvider的健康实例

答案 2 :(得分:2)

我们最终找到了这个Chrome Driver并且它一直很好用。它可以在引导时以最大化模式启动时获取参数,并且还会在启动时公开添加扩展的功能。

答案 3 :(得分:2)

这应该有效:

driver.manage().window().setSize(new Dimension(800, 621));

答案 4 :(得分:0)

driver.Manage().Window.Size = new Size(x, y);

这对我来说很好。 x和y位于要素文件中。

答案 5 :(得分:-1)

试试这个:

这对我来说很好。

Capybara.current_session.driver.browser.manage.window.resize_to(1800, 1000)