2015-07-21 23 views
0

我仍然試圖讓這個東西啓動和運行,我目前的問題是我不能在我所有的測試用例中使用相同的瀏覽器。例如:摩卡與硒,如何在所有情況下使用瀏覽器?

describe('Check the website', function() { 
    var driver: Driver = new Driver(); 

it('Check website title', function() { 
    this.timeout(0); 

    driver.Firefox.get("http://google.com"); 
    driver.Firefox.getTitle().then(function(title){ 
     expect(title).to.equal('Google'); 
    }); 
}); 

it('Second test', function() { 
    this.timeout(0); 

    driver.Firefox.get("http://google.bg"); 
    driver.Firefox.getTitle().then(function(title) { 
     expect(title).to.equal('Google24'); 
    }); 
    }); 
}); 

我想在所有測試中使用相同的瀏覽器,我該怎麼做?

如果我在測試用例中放入var driver: Driver = new Driver();一切正常,問題是在第一次測試完成後關閉瀏覽器,然後再次打開第二次測試,這會花費很多時間。

P.S. Driver是我爲初始化瀏覽器而創建的一個類,我希望它可以在整個項目中使用,我使用的是TypeScript,但我想我會在JS中遇到同樣的問題,如何在所有測試用例中使用相同的變量?

回答

-1

我想在所有測試中使用相同的瀏覽器,我該怎麼做?

不要這樣做..這是不好的測試設計。

爲什麼?自動化測試是每個測試的新實例開始的常見做法。測試依賴通常是不被接受的。考慮以下幾點:

TestSuite 
    TestCase1 
    TestCase2 
    TestCase3 
    TestCase4 

TestCase2失敗..現在34將失敗。

開始瀏覽器很便宜,您應該在共享瀏覽器之前考慮冪等性和可維護性。

+0

例如:我想有一個檢查頁面標題的測試,檢查是否有幾個元素可用,測試檢查其他東西(全部在同一個網頁上),這些測試可以使用相同的瀏覽器。我不認爲我應該啓動3個瀏覽器只是在同一個網頁上檢查3件事情。 例如: 描述了(「檢查是否所有的登錄表單元素存在」 ...... 它(「存在X元素」) 它(「這個稱號正確」) 它(「一些其他的事情目前「) 等 – Darkbound

+0

那麼那些不是測試」案件「,那些是測試」步驟「。你可以有多個步驟(檢查)肯定。 – sircapsalot

+0

回到我原來的問題,我如何使用瀏覽器所有這些步驟?檢查我的代碼,這是做到這一點的正確方法嗎? – Darkbound

相關問題