亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > TestNG
testNG中獨立出公共模塊的做法
作者:網絡轉載 發布時間:[ 2013/12/25 11:41:38 ] 推薦標簽:測試工具 軟件測試 單元測試

近在學習testNG+selenium+java自動化測試工具,但過程中遇到了如下問題,現在已經基本解決,主要是換了一下思路。寫此日志以便日后找出更好的解決方法。
問題:
 在執行測試過程中要執行如下用例:
1.打開網站首頁(如:m.test.com)
2.在首頁的搜索框中輸入某個關鍵詞,如:鞋子
3.檢查打開的鞋子商品列表顯示的數據列表是否為每頁10條。
  以上這個步驟僅僅是眾多用例中的一個,但是對于第一步的這個動作則是眾多測試用例中都要首先進行操作的步驟。我想要把這個步驟獨立出來,做成一個方法,讓這個方法可以返回當前打開的網頁的WebDriver于是我想到了testNG中的dataProvider但是經過N次的測試,此方法都不可以返回WebDriver這種對象類型。
為什么要將這個打開網站的方法參數化:
1.因為多數用例都要使用這個步驟
2.如果重新定義一個WebDriver,則會重新在新的WebDriver中找頁面對象,但是頁面對象卻存在于第一次打開的頁面中。
原本的代碼如下:
@DataProvider(name="driver")
public static WebDriver BaseTest(){
 WebDriver driver=new FirefoxDriver();
 driver.get("http://m.test.com");
 return driver;
}
然后在需要這個webdriver的地方進行調用如下:
@Test(dataprovider="driver")
public openpage(WebDriver driver){
//省略}

語法上沒有問題,但是總是會報錯,大意如:dataprovider只能返回如Object[][]類型的對象。
調了兩天還是不行(由于初學,實在是笨)
后的解決方法是,在另一個類中寫一個方法,每次要用到這個driver時去調用這個方法,這個類中包含眾多方法(如獲取隨機數,查找某個頁面對象…………)后的代碼如下:
   public static  FirefoxDriver OpenWap(String url){
        FirefoxDriver driver=new FirefoxDriver();
        driver.get(url);
        return driver;
    }
  
在另一個類中的調用代碼如下:
  private static WebDriver driver;
   String url="http://m.vancl.com/user/switch/1";
   driver=Utils.OpenWap(url);
于是整個調試順利通過。整體的調用代碼如下:
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.testng.annotations.Test;
import org.testng.internal.thread.TestNGThread;
import web.Util.Utils;
public class ProductList {
    private static WebDriver driver;
    //打開wap站首頁
    @Test
    public void SearchWordClick() throws InterruptedException {
        String url="http://m.vancl.com/user/switch/1";
        driver=Utils.OpenWap(url);
        int i = Utils.getRandom(3);
        // 搜索關鍵詞的xpath string
        String KeyWordString = "//div[@class='nav']/a[" + i + "]";
        WebElement KeywordLink = Utils.getElement(KeyWordString, driver);
        KeywordLink.click();
        TestNGThread.sleep(10000);
  
    }
    @Test(dependsOnMethods="SearchWordClick")
    public void CheckSearchWordList() throws InterruptedException{
        /**
         * 檢查搜索列表頁是否正確加載
         **/
        try {
            WebElement cntchk = driver.findElement(By
                    .xpath("//div[@class='searchorder']/a[1]"));
            String chkstr = cntchk.getText().trim();
            if (chkstr.equals("屬性導航") || chkstr.equals("分類導航")) {
                System.out.println("找到了驗證的標記:" + chkstr);
                System.out.print("已成功加載商品列表頁");
            }
        } catch (Exception e) {
            System.out.println("商品列表頁加載失敗" + e.getMessage());
        }
        TestNGThread.sleep(3000);
        driver.close();
    }
}

初學testNG,一邊翻資料,一邊看API,一邊調試,一邊百度。真是頭大,但是慢慢來吧,點點積累誰讓咱起步晚呢~~~如果有高手有好的解決方法,還請告知我,非常感激。

軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 五月天丁香六月欧美综合 | 久草人体 | 91在线公开视频 | 日韩高清影视 | 欧美日本免费一区二区三区 | 人成午夜性刺激免费 | 一级毛片一级毛片一级毛片aa | 国产香港日本三级在线观看 | 久草免费福利 | 一个人免费观看的www视频 | 可以免费看的黄色网址 | 在线五月婷婷 | 欧美人成一本免费观看视频 | 国产精品黄在线观看免费网站 | 小视频黄色 | 波多野结衣在线视频播放 | 奇米777狠狠色噜噜狠狠狠 | 国产老妇xxxxxbb亚洲老妇 | 视色视频在线 | 九九在线视频 | 爽爽影院在线免费观看 | 欧美在线观看免费一区视频 | 日韩a级毛片 | 免费看欧美一级特黄a大片一 | 在线黄色网页 | 欧美你懂的| 国产成人19禁在线观看 | 麻豆精品国产剧情在线观看 | 亚洲美女福利 | 老扒夜夜春宵粗大好爽aa毛片 | 青青草国产一区二区三区 | 欧美日韩精品乱国产 | 91精品成人| 欧美一级日韩一级亚洲一级va | 中文国产成人精品久久无广告 | 日韩一级精品视频在线观看 | 永久免费在线播放 | 国产网站麻豆精品视频 | 久久七 | 一级特级女人18毛片免费视频 | 免费无毒片在线观看 |