您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
Selenium自動化測試用例設計注意事項
作者:網絡轉載 發(fā)布時間:[ 2013/1/25 14:02:31 ] 推薦標簽:

  封裝Selenium調用

  與任何編程一樣,你需要使用工具函數來處理在測試代碼中重復的函數。避免重復的方法之一是封裝常用的Selenium方法的調用。例如,測試時經常點擊頁面上的元素,等待頁面加載。

selenium.click(elementLocator);
selenium.waitForPageToLoad(waitPeriod);

  為了不重復上述代碼,你可以寫一個包裝方法實現(xiàn)這兩個功能。

/**
 * Clicks and Waits for page to load.
 *
 * param elementLocator
 * param waitPeriod
 */
public void clickAndWait(String elementLocator, String waitPeriod) {
        selenium.click(elementLocator);
        selenium.waitForPageToLoad(waitPeriod);
}

  ● 判斷元素存在的“安全操作”

  另一種常見的封裝Selenium的方法,在執(zhí)行進一步操作前檢查頁面上的元素存在性。這有時被稱為“安全操作”。例如,下面的方法可用于實現(xiàn)一個依賴期望的元素存在的安全操作。

/**
 * Selenum-RC -- Clicks on element only if it is available on page.
 *
 * param elementLocator
 */
public void safeClick(String elementLocator) {
        if(selenium.isElementPresent(elementLocator)) {
                selenium.click(elementLocator);
        } else {
                // Using the TestNG API for logging
                Reporter.log("Element: " +elementLocator+ ", is not available on page - "
                                +selenium.getLocation());
        }
}

  上述例子使用的是Selenium 1.0 API,Selenium 2.0同樣支持安全操作。

/**
 * Selenium-WebDriver -- Clicks on element only if it is available on page.
 *
 * param elementLocator
 */
public void safeClick(String elementLocator) {
        WebElement webElement = getDriver().findElement(By.XXXX(elementLocator));
        if(webElement != null) {
                selenium.click(elementLocator);
        } else {
                // Using the TestNG API for logging
                Reporter.log("Element: " +elementLocator+ ", is not available on page - "
                                + getDriver().getUrl());
        }
}

  在第二個例子中,’XXXX’方法是一個占位符,可以用元素定位方法進行替換。

  使用安全方法取決于測試開發(fā)人員的決定。因此,如果測試需要繼續(xù)執(zhí)行,即使知道頁面上一些元素沒有發(fā)現(xiàn),這時可以使用安全方法,并發(fā)送一條缺少元素的消息到日志文件。這基本上等于實現(xiàn)了帶報告機制的驗證,而不是一個失敗終止執(zhí)行的斷言。但是,如果元素必須在頁面上出現(xiàn),以便能夠執(zhí)行進一步的操作(如一個門戶網站主頁上的登錄按鈕),這時安全方法技術不應該被使用。

  本文轉載自:http://www.loggingselenium.com/

上一頁1234下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd