【发布时间】:2015-04-28 12:46:55
【问题描述】:
我有这么大的问题,我真的需要你的帮助。
基本上,我正在做一个核心技术是GWT的项目,我必须进行功能测试和UI测试。其实我也得用Cucumber这个基于BDD的框架。
现在我来解决主要问题:确实,在每个 Maven 构建中,GWT 都会自动生成小部件的 ID。然后,Selenium 找不到这些小部件,因为它们的 ID 最近更新/更改。此外,我无法使用 (findByName/xPath/cssSelector 等) 方法找到一些小部件。我现在正在研究 FluentLenium,它是 Selenium 的一个覆盖层。我不知道如何解决这个问题,因为我无法控制 GWT 如何在后面生成 Id。
有没有人遇到过同样的问题?
非常感谢。
【问题讨论】:
-
设置 Widget 的 Id..
-
这个应用真的很大。该项目始于 1.5 年前,并非所有小部件都有 Id。后面的 Gwt 会在每个 maven 构建 ID 时生成,并且很难处理这个问题。您是否有使用结构化方法管理此问题的解决方案?谢谢。
-
我没有其他解决方案...有人认为在开发应用程序时需要注意设置 Id ..
-
这个问题太笼统了!答案是:您需要使用正确的 XPath 或 CSS 定位器,无论哪个您觉得更舒服。
-
我尝试在 Google 等网站上使用 XPath 和 CssSelector,但 Selenium 无法找出我在测试中使用 XPath 或 CssSelectors 选择的小部件。真正有效的是当我使用 id 进行搜索时,否则,像 Xpath 或 css 或 name 这样的定位器不可靠(根据我的小经验)。是否有任何工具可以帮助我通过单击小部件(例如萤火虫)来为我提供小部件的路径?谢谢
标签: maven selenium gwt cucumber fluentlenium