頁面等待
頁面的操作比較慢,通常需要等待一段時間,頁面元素才出現,但webdriver沒有提供現成的方法,需要自己寫。
等一段時間再對頁面元素進行操作:
public void waitForPageToLoad(longtime) {
try {
Thread.sleep(time);
} catch (Exceptione) {
}
}
在找WebElement的時候等待:
public WebElementwaitFindElement(By by) {
returnwaitFindElement(by, Long.parseLong(CommonConstant.GUI_FIND_ELEMENT_TIMEOUT),Long
.parseLong(CommonConstant.GUI_FIND_ELEMENT_INTERVAL));
}
public WebElementwaitFindElement(By by, long timeout, long interval) {
long start = System.currentTimeMillis();
while (true) {
try {
return driver.findElement(by);
} catch(NoSuchElementException nse) {
if (System.currentTimeMillis()- start >= timeout) {
throw newError("Timeout reached and element[" + by + "]not found");
} else {
try {
synchronized(this) {
wait(interval);
}
} catch(InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
4.selenium注意點
1.啟動瀏覽器,如果不是默認安裝需要指定啟動路徑 System.setProperty("webdriver.firefox.bin", PrivateDataSource.fireFoxPath);
2.driver在每次結束的時候都需要退出使用driver.quit();可以把driver產生的零時文件刪除掉,如果直接關閉瀏覽器或driver.close();那么零時文件不會被刪除,會
一直存在在你的C盤中,非常耗資源。
5.自動化測試策略
目前項目繁多而非產品那樣的專業化,如果每一個項目都做自動化測試那么相對的工作量繁重,質量參差不齊無法很好的控制。
自動化測試針對項目應注重以下點進行實施:
1.項目進度督促使用自動化測試核心模塊核心流程是否正常。
2.把控自動化測試質量,如果質量不過關還不如不做自動化測試。
3.進行并行開發策略,開發人員根據界面設計進行功能開發,測試人員根據界面設計進行自動化腳本開發。
4.通過jenkins持續集成平臺,每次開發人員或測試人員提交代碼都會自動去執行一偏測試腳本,把執行中出現的問題暴露出來,讓開發人員及時修改。
通過學習使用selenium自動化測試框架,了解到測試不是簡單的測試工作,她摻雜了項目管理,需求分析,人際溝通協調等等技能,需要不斷的實踐增強能力勝任更加嚴峻的項目工作。