Selenium webdriver 我们可以用硒和黄瓜来测试瓦丁的应用吗?

Selenium webdriver 我们可以用硒和黄瓜来测试瓦丁的应用吗?,selenium-webdriver,vaadin7,cucumber-jvm,Selenium Webdriver,Vaadin7,Cucumber Jvm,我必须使用cucumber和Selenium web驱动程序(使用Java脚本执行器)测试一个Vaadin应用程序。这是测试Vaadin应用程序的好方法吗?是的,您可以使用Selenium和cucumber,但您需要管理框架以处理多个窗口,并使用事件触发和事件侦听器类 我对Vaadin应用程序的理解,其中UI是在网页中运行的视口。一个网页实际上可以有多个这样的UI。这种情况很典型,尤其是门户中的portlet --因此,您的框架或测试应该处理多个窗口。 --需要处理瓦丁会议。 Vaadin遵循事

我必须使用cucumber和Selenium web驱动程序(使用Java脚本执行器)测试一个Vaadin应用程序。这是测试Vaadin应用程序的好方法吗?

是的,您可以使用Selenium和cucumber,但您需要管理框架以处理多个窗口,并使用事件触发和事件侦听器类

我对Vaadin应用程序的理解,其中UI是在网页中运行的视口。一个网页实际上可以有多个这样的UI。这种情况很典型,尤其是门户中的portlet --因此,您的框架或测试应该处理多个窗口。 --需要处理瓦丁会议。 Vaadin遵循事件驱动编程范式,其中事件和处理事件的侦听器是处理应用程序中用户交互的基础


您需要对Selenium有很好的了解才能自动化Vaadin

我曾经遇到过同样的问题,我使用Selenium IDE为Vaadin中的每个元素识别
XPATH
,然后像这样使用它:

driver.findElement(By.xpath("//div[@id='thalamusboapp-218829419']/div/div[2]/div[3]/div/div/div[2]/div/span/span") );

可以仅使用硒测试Vaadin应用。然而,使用瓦丁可能更好。Testbench基于Selenium,但提供了与Vaadin更好的集成。主要优点是: 1.不需要在操作之间提供手动延迟,因为它等待UI组件加载。 2.它提供了额外的选择器来选择Vaadin组件。 3.它可以提供失败测试的屏幕截图

唯一的缺点是Testbench是一个商业特性,需要您付费

有关利弊的更详细分析,请参见:


有一个显示了testbench和普通Selenium的基本设置。

它在地图组件上不起作用,因为地图是画布,我们无法在地图上获得元素定位器(这是一个缺点)