應用Selenium和Ruby進(jìn)行面向領(lǐng)域的Web測試[4] 軟件測試
結論
Selenium是一個(gè)讓人又愛(ài)又恨的東西,錯誤地使用Selenium會(huì )給整個(gè)敏捷團隊的開(kāi)發(fā)節奏帶來(lái)災難性的影響。不過(guò)值得慶幸的是正確地使用Selenium的原則也是相當的簡(jiǎn)單:
通過(guò)將脆弱易變的頁(yè)面元素和測試分離開(kāi),使得頁(yè)面的變化不會(huì )對測試產(chǎn)生太大的影響。
明確指定測試數據的意圖,不在測試用使用任何具體的數據。
盡一切可能,明確地表達出測試的意圖,使測試易于理解。
當然,除了遵循這幾個(gè)基本原則之外,使用page object或其他domain based web testing技術(shù)是個(gè)不錯的選擇。它們將會(huì )幫助你更容易地控制Selenium測試的規模,更好地平衡覆蓋率和執行效率,從而更加有效地交付高質(zhì)量的Web項目。
此文中涉及的都是我最近幾周以來(lái)對Selenium測試進(jìn)行重構時(shí)所采用的真實(shí)技術(shù)。感謝Nick Drew幫助我清晰地劃分了Driver、 Page、Nagivator和Shortcut的層次關(guān)系,它們構成我整個(gè)實(shí)踐的基石;感謝Chris Leishman,在和他結對編程的過(guò)程中,他幫助我錘煉了Ruby DSL;還有Mark Ryall和Abhi,是他們第一次在項目中引入了Test Data Fixture,使得所有人的工作都變得簡(jiǎn)單起來(lái)。
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/