應用表面積

在最基本的層面上,驗收測試基本上是黑盒測試,它從根本上關注測試封閉系統的輸入和輸出。因此,驗收測試有三個基本功能:定位資源,讀取資料和寫入資料。對於瀏覽器和 Web 應用程式,這三個功能基本上歸結為以下內容:

  1. 載入網頁或應用程式檢視
  2. 檢查使用者介面元素(即 DOM)
  3. 觸發事件/模擬使用者互動

我們稱之為應用程式的表面區域。表面區域是使用者看到或體驗的任何東西。它是黑盒系統的外部。由於使用者使用 Web 瀏覽器在視訊螢幕上與現代 Web 應用程式互動,因此我們的表面覆蓋範圍由通用資源定位器(URL)和視口定義。所以我們的第一次演練開始時看起來如下:

module.exports = {
  "Hello World" : function (client) {
    client
      // the location of our Meteor app
      .url("http://localhost:3000")

      // the size of the viewport 
      .resizeWindow(1024, 768)

      // test app output
      .verify.elementPresent('h1')
      .verify.containsText('h1', "Welcome to Meteor!")
      .verify.containsText('p', "You've pressed the button 0 times")
      .verify.elementPresent('button')

      // simulate user input
      .click('button').pause(500)

      // test app output again, to make sure input worked
      .verify.containsText('p', "button 1 times")

      // saving a copy of our viewport pixel grid
      .saveScreenshot('tests/nightwatch/screenshots/homepage.png')
      .end();
  }
};