2015-04-28 44 views
0

我有这么大的问题,我真的需要你的帮助。 基本上,我正在研究一个项目,其核心技术是GWT,我必须进行功能测试和UI测试。其实我也是用这个黄瓜这个框架是基于BDD的框架。
现在我来回答主要问题:确实,每Maven build,GWT自动生成窗口小部件的id。然后,Selenium由于其ID最近的更新/更改而找不到这些小部件。此外,我找不到方法(findByName/xPath/cssSelector等)的一些小部件。我现在在FluentLenium这是一个重叠的硒..我不知道如何解决这个问题,因为我无法控制GWT如何生成背后的ID .. 以前anynone遇到过同样的问题?GWT:用Selenium/FluentLenium自动测试用户界面

非常感谢。

+0

将ID设置为小工具.. –

+0

该应用程序真的很大。该项目于1.5年前开始,并非所有的小部件都有ID。后面的Gwt会在每个Maven构建ID时生成,而且很难处理这个问题。您是否有一个解决方案来处理这个问题,采用结构化的方法? 谢谢。 – AmineP90X

+0

我没有其他的解决方案...一个想开发的应用程序需要照顾设置Id .. –

回答

0

我已经与GWT/Selenium/Cucumber合作过。对于整个应用程序中使用的每个ID,我们有一个包含public static String字段的单个类文件。这些ID的设置为ensureDebugId。然后在Selenium/Cubumber测试中使用这个相同的类文件通过id查找小部件。我不知道这是否适合你。但在我们的例子中,测试人员是在控制身份证的。

+0

感谢您的回复。我想知道你是否在你的project.gwt.xml文件中添加了行 ** 或者你使用** Maven **说您可以使用Debug模式,而无需在您的** project.gwt.xml **中引用它。就我而言,我想在持续集成中仅在部署(如Maven)中使用模式调试,而不是在project.gwt.xml文件中使用。 – AmineP90X

+0

我不明白你为什么使用封装所有ID的类。这个类是否包含一些方法? – AmineP90X

+0

是的,我们添加了'Debug'。但是在一个单独的'project.gwt.xml'中继承了主'project.gwt.xml'。通过maven配置文件,为测试版本启用调试'project.gwt.xml'。该类不包含方法,只是id的。只是为了让他们在一个地方。 –