1.開始結束時間只支持控件選擇,不支持填寫,怎麼辦?java
以下圖:web
解決方案:ajax
用javaScipt把開始結束時間的reaonly屬性去除,而後再輸入,舉例以下瀏覽器
/**
* 輸入開始日期
*
* @param startDate
*/
public void inputStartDate(String startDate) {
String startjs = "document.getElementById('startDate').removeAttribute('readonly');";
((JavascriptExecutor) webdriver).executeScript(startjs);
webdriver.typeById("startDate", startDate);
}測試
2.由於新需求的加入,致使頁面元素路徑變動,本來好好的自動化測試用例執行失敗blog
解決方案:ip
定位元素時,儘量用id,name等定位,儘量不用xpath定位。ci
若是你所測的系統不少元素id或name等等不惟一甚至沒有,致使必需要用xpath定位,那麼能夠和開發同窗協商。讓他們之後開發新代碼時儘量給元素加上id或name這些屬性,並取名惟一。開發
用id和name定位還有些好處就是:1.可讓你的代碼可讀性變強,若是在頁面源代碼中的ID或name屬性被友好命名的話。2.xpath定位須要更長的時間來處理,由於瀏覽器必須運行它的XPath處理器。rem
3.如何判斷瀏覽器是否加載完畢
若是是簡簡單單的等一段時間,這不是一個很好的解決方法,一方面浪費了時間,另外一方面,咱們也沒法知道應該等多久,致使咱們的測試程序不夠穩定。
我經常使用的一個方法就是判斷某個元素是否已加載,固然這個的前提是你的頁面沒有使用ajax