2011-09-15 92 views

回答

1

不,Selenium和Seam豆是完全不同的抽象層次。 Seam Bean在JBoss服務器內部運行,而Selenium在Web瀏覽器上運行。

如果您想以某種方式從內部控制應用程序,則必須爲可通過Selenium測試訪問的這些bean提供一些界面。例如,您可能會將某些操作公開爲Web服務或JMX bean,並且如果使用Java編寫,則可以從Selenium測試套件中訪問它們。

但請注意,這不是最佳實踐 - 硒測試只應在用戶界面(端到端)級別上工作。嘗試僅通過用戶界面設置應用程序,而不是手動訪問應用程序內部。

更新:如果您有一些常見設置(如用​​戶,產品等),請將它們作爲常用部署基礎結構的一部分插入到數據庫中。然後,您可以進行單個測試,以創建/接受用戶,添加產品等,然後簡單地重用數據庫中已有的普通用戶。

+0

OP並沒有詢問Spring bean,我想他是在談論POJO。 –

+0

阿什坎雅利安的前提仍然是正確的。硒是關於瀏覽器UI測試的,不應該直接與服務器(及其bean)進行交互。 –

+0

@James DW是的,這是正確的,我在我的答案中指出了相同的內容(見下文),只是指出Spring並不在這裏。 –

0

沒有什麼技術上阻止您將硒的可見性傳遞給您的bean,並直接調用它們的方法。但是,這不是一個好的設計實踐。 Selenium用於測試應用程序的行爲(主要通過GUI),而不應該關注bean級別。也許如果你給我們一個你爲什麼需要這樣做的用例,這可能是有道理的?

在過去,我已經通過selenium公開了Web服務和JDBC測試,作爲QA人員測試應用程序某些部分的快捷方式,如果這就是您正在討論的內容,但最好通過Web服務使用它正如Tomasz所說。

+0

感謝您的回覆。這個用例讓我們思考如果我的問題能夠感覺到:我們有一個貿易應用程序。公司向我們註冊。而一位管理員用戶確認他們。在確認用戶可以登錄後,用戶可以執行我們的應用程序。對於每個關於確認用戶的測試案例,用戶需要先登錄,這會增加我們的測試時間。 (每次測試的登錄時間在10-20秒之間)這讓我們想到也許我們可以像Seam測試一樣跳過這一步。 –

+0

冒着顯而易見的風險:爲什麼您需要在每個測試用例的開頭先登錄?以一種登錄方式重構測試是不可能的?另外一種策略是在測試環境中「模擬」登錄操作​​(在後端使用假控制器或類似的東西),這將會更快地返回。 –

+0

即時糾正「每個測試」的事情。不是每個測試。只是爲了確認用戶操作測試。我們已經寫了西裝,但在西裝測試? –

相關問題