6

我们正在使用 JBehave Web 来为一个新项目驱动我们的 selenium 测试套件,并且非常喜欢 JBehave 上可用的 Etsy.com 示例,尤其是 Java/Spring maven 原型,因为它适合我们的架构。

到目前为止最大的问题是文档,这就是为什么我在这里发帖希望我能从其他类似情况的人那里得到一些帮助。

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

此外,我们需要更改默认出现的浏览器的大小,我似乎无法在测试运行的引导过程中找到这样做的方法。

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

如果有人可以提供一些指导,我将不胜感激,即使只是指向更多示例。

4

6 回答 6

12

如何调整窗口大小

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

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

如何使用 Chrome 驱动程序

您可以使用TypeWebDriverProviderPropertyWebDriverProvider。例如:

new TypeWebDriverProvider(ChromeDriver.class);
于 2012-06-20T07:37:03.413 回答
4

这应该有效:

driver.manage().window().setSize(new Dimension(800, 621));
于 2017-07-24T23:51:17.817 回答
2

我们最终找到了这个Chrome 驱动程序,它运行良好。当它被引导以最大化模式启动时,它可以接受一个参数,并且还公开了在启动时添加扩展的能力。

于 2012-09-08T01:58:56.863 回答
2

jokka 说的是正确的,只是附注:在调整窗口大小之前,我总是把它放在左上角,所以我知道 WebDriver 可以“看到”一切:

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

显然,driver以上假设是 WebDriverProvider 的健康实例

于 2012-06-20T08:35:26.133 回答
0
driver.Manage().Window.Size = new Size(x, y);

这对我来说很好。x 和 y 在特征文件中。

于 2017-01-11T15:40:36.123 回答
-1

尝试这个:

这对我来说很好。

Capybara.current_session.driver.browser.manage.window.resize_to(1800, 1000)
于 2012-12-11T05:06:56.523 回答