您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
搭建自己的前端自動化測試框架
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2016/8/3 16:02:56 ] 推薦標(biāo)簽:Selenium,Nightwatch

  在這一章我們將安裝之前提到的 Selenium 與 Nightwatch 然后并正確配置它倆,讓它倆能正常的運(yùn) ♂ 作起來,趕緊搞 ♂ 起!
  不過首先 ……
  首先要安裝 Java 7 或更高 ,并且 java 命令可正常執(zhí)行才能測試噢~~ 簡單的判斷方法是打開自己的終端,輸入 java 并回車,看看是不是有 Java 運(yùn)行。如果有命令不存在之類的提示,請重新安裝 Java 運(yùn)行環(huán)境 (???)
  Node.JS , 而且要確保 npm 命令可用,我想應(yīng)該其實(shí)不用提醒的 ~

  開始搭建!
  1. 創(chuàng)建項(xiàng)目
  我們來找個地方新建一個目錄,起名為 "my-test-toolkit",然后在目錄內(nèi)使用終端運(yùn)行 npm init -y 生成項(xiàng)目配置文件package.json。

  2. 安裝工具
  然后我們將安裝 Selenium 與 Nightwatch。
  安裝 selenium-standalone:
  npm install selenium-standalone --save-dev
  安裝 Nightwatch:
  npm install nightwatch --save-dev

  還記得嗎?上一章提到我們將使用 selenium-standalone 而不是直接手動配置 Selenium 喔!
  3. 項(xiàng)目配置
  So Easy 不是嗎!不過接下來的配置可能要花點(diǎn)功夫,但是也不是很麻煩啦,一步步來還是很容易的~
  我們先開始配置 Nightwatch,之前提到這是一款 Test Runner 來著,它負(fù)責(zé)讀取我們的測試腳本,為我們提供 API 來操作瀏覽器,幫我們控制 Selenium。
  一. 配置 Nightwatch
  首先,在項(xiàng)目根目錄建立文件 "nightwatch.json",這個文件用來存放 Nightwatch 的配置信息。創(chuàng)建完畢之后,在文件內(nèi)寫入以下內(nèi)容:
{
"src_folders": ["tests"],
"output_folder": "reports",
"custom_commands_path": "",
"custom_assertions_path": "",
"page_objects_path": "",
"globals_path": "",
"selenium": {
"start_process": true,
"server_path": "",
"log_path": "",
"host": "127.0.0.1",
"port": 4444,
"cli_args": {
"webdriver.chrome.driver": ""
}
},
"test_settings": {
"default": {
"launch_url": "http://localhost",
"selenium_port": 4444,
"selenium_host": "localhost",
"silent": true,
"screenshots": {
"enabled": false,
"path": ""
},
"desiredCapabilities": {
"browserName": "firefox",
"javascriptEnabled": true,
"acceptSslCerts": true
}
},
"chrome" : {
"desiredCapabilities": {
"browserName": "chrome",
"javascriptEnabled": true,
"acceptSslCerts": true
}
}
}
}
  nightwatch.json 的文件名是 不可以 修改的,因?yàn)?Nightwatch 每次啟動的時候都是從它讀取配置喔!這里的配置項(xiàng)很多,不過先不管它,我們接著創(chuàng)建文件。如果您希望查看 Nightwatch 的詳細(xì)配置,請點(diǎn) 這里。
  接著在項(xiàng)目根目錄下創(chuàng)建文件 "nightwatch.conf.js" ,同樣此文件名也是不可以修改的,因?yàn)?Nightwatch 每次啟動也會從它這里讀取配置喔~ (′?_?`)
  創(chuàng)建完畢后,打開文件,并寫入如下內(nèi)容:
  const path = require('path')
  module.exports = (function (settings) {
  return settings;
  })(require('./nightwatch.json'))
  /*
  *  Nightwatch 會從 nightwatch.json 中讀取配置。
  *  不過如果存在 nightwatch.conf.js,將會變?yōu)槭紫葟暮笳咧凶x取配置。
  *  nightwatch.conf.js 存在的意義是使用 JavaScript 動態(tài)生成配置信息。
  *  如果配置信息是不需要代碼修改的,直接使用 nightwatch.json 可以啦。
  */
  再次在項(xiàng)目根目錄建立文件 "startup.js",然后在文件內(nèi)部寫入:
  require('nightwatch/bin/runner.js')
  這個文件是我們測試的入口文件,以后我們要執(zhí)行測試要運(yùn)行這個文件,命令為 node ./startup。入口文件的名字是可以按照喜好更改的,只要運(yùn)行它好啦。不過每次輸入 node ./startup 太麻煩了,所以我們將這條命令寫入 npm scripts 中 ~~~ 打開 "package.json",在 JSON 對象中建立 "script" 屬性,并寫入內(nèi)容:
  {
  ...
  "scripts": {
  "start": "node ./startup.js"
  },
  ...
  }
  以后每次運(yùn)行測試只要在項(xiàng)目根目錄中執(zhí)行 npm start 好了!(???)
  Nightwatch 的配置暫時告一段落(其實(shí)馬上會回來………),接下來我們來處理 Selenium.

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