selenium webdriver使用的一些小技巧(持續更新中)

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

相關文章
相關標籤/搜索