2015-04-28 71 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的。只是爲了讓他們在一個地方。 –