1. 程式人生 > >使用Mocha+spectron測試Electron打包的桌面版程式(1)

使用Mocha+spectron測試Electron打包的桌面版程式(1)

當前多是瀏覽器和移動App產品,其相應測試工具也較多,桌面版程式的自動化測試工具較少,本文就介紹一下如何使用Electron的官方測試工具spectron進行Electron打包的桌面版程式的自動化測試。
Electron打包的桌面版程式其實也是一個web的頁面,只是加了一個Electron外殼,把web頁面給包起來。詳細讀者可自行了解Electron,本文不多做介紹。
1. 安裝環境
(1)安裝Nodejs,網上資料較多,自行百度安裝
(2)全域性安裝mocha,網上資料較多,如果失敗,自行百度解決

npm -g install mocha
  1. IDE,與其說是IDE不如說是編輯器,這裡建議使用VSCode,輕量級

下面是官方給的案例程式碼

var Application = require('spectron').Application
var assert = require('assert')

describe('application launch', function () {
  this.timeout(10000)//程式啟動的延時

  beforeEach(function () {//mocha的鉤子函式,類似testNG的註解,想了解更多,自行百度
    this.app = new Application({
      path: '/Applications/MyApp.app/Contents/MacOS/MyApp'
//寫你測試需要的桌面版程式路徑,如:'C:/Program Files (x86)/GF-Global/yourApp.exe' }) return this.app.start() }) afterEach(function () { if (this.app && this.app.isRunning()) { return this.app.stop() } }) it('shows an initial window', function () { return this.app.client.getWindowCount().then(function
(count) {
assert.equal(count, 1) }) }) })

在此補充幾點:spectron的API可以在https://github.com/electron/spectron此連結中找到
其餘定位元素、操作的API在此連結http://webdriver.io/
定位元素Selector的寫法在上面連結中Developer Guide中http://webdriver.io/guide/usage/selectors.html
4. 把官方Demo跑起來
將上面程式碼複製到你的txt中,改名未a.js,如下圖所示:
這裡寫圖片描述
5. 使用cmd,切到該目錄,輸入cnpm install spectron(cnpm跟npm功能一樣,cnpm是使用映象安裝,在安裝nodejs環境的時候建議吧cnpm裝上,這樣就不會出現一些因網路原因安裝失敗的問題),如下圖:
這裡寫圖片描述
6. 執行demo
在當前目錄下,輸入mocha a,如下圖所示:
這裡寫圖片描述
這個demo的執行現象就是,開啟你要測試的程式,然後計算開啟的視窗是不是等於1,然後關閉程式。
7. 今天就先寫個引子,後面再詳細寫如何搭建自動化測試PageObject模型以及如何輸出一份測試報告

相關推薦

使用Mocha+spectron測試Electron打包桌面程式1

當前多是瀏覽器和移動App產品,其相應測試工具也較多,桌面版程式的自動化測試工具較少,本文就介紹一下如何使用Electron的官方測試工具spectron進行Electron打包的桌面版程式的自動化測試。 Electron打包的桌面版程式其實也是一個w

使用Mocha+spectron測試Electron打包桌面程式2PO模型

在上一篇文章中,我們運行了一個小的demo,這一篇,我們講一下如何將測試用例做成PO模型,並輸出一份簡單的測試報告。 首先是工程目錄結構,如下圖所示(使用VSCode開啟): 其中node_modules中包含執行指令碼安裝的庫等;pageobjects中

安裝nginx的步驟 樹莓派桌面環境Debian

load install 安裝包 /usr .net nbsp art host style 感謝:http://blog.csdn.net/shennongminblog/article/details/76158397 在此基礎上 使用源碼安裝比較容易 獲取pcre編

sencha touch 擴充套件篇之將sencha touch打包成安裝程式- 使用phonegap打包安裝程式

      這講我們來講解下如何使用phonegapa建立專案環境並通過她們將sencha touch打包成app,這裡我們只講解打包android的apk,打包ios的過程有點類似,但是需要在mac環境下,最後通過xcode匯出成ipa安裝程式;   一、phonega

Python3.5+PyQt5多執行緒+itchat實現微信防撤回桌面程式碼

weChatThread執行緒類 之前一直不會python多執行緒,寫這個程式的時候,發現不用多執行緒會陷入無限未響應狀態。於是學了半天python多執行緒,但是在主函式裡寫的時候,發現一個問題,Ui主執行緒和工作執行緒沒有分離,使用itchat等庫的時候會堵

Windows應用程式打包成exe檔案1- 工具簡單總結

最近有對一個Windows應用程式少許維護和修改。修改之後要釋出新的exe安裝檔案,打包exe檔案時,遇到了很頭疼的問題,還好最後解決了,記錄一下。 Visual Studio版本:Visual Studio 2017 Visual Studio 201

2018-1-15性能測試之虛擬用戶開發1

base window 體系 工作 網絡 平臺 嵌入 class 神馬 1.1Vuser開發前的準備 1)深入了解系統功能:深入了解系統是進行性能需求分析的前提。2)深入了解系統架構:分析系統的架構弄清楚開展測試需要做哪些準備工作,系統潛在的壓力點在哪,確定重點模擬用戶的哪

Linux下一個最簡單的不依賴第三庫的的C程式1

如下程式碼是一段彙編程式碼,雖然標題中使用了C語言這個詞語,但下面確實是一段彙編程式碼,弄清楚了這個程式碼,後續的知識點才會展開。 #PURPOSE: Simple program that exits and returns a # status code back to the Lin

使用Eclipse開發Python程式1

對於有Java、Android或C/C++基礎的小夥伴們該對Eclipse十分熟悉了,這是一個開放原始碼的軟體開發專案,是一個開放原始碼的、基於Java的可擴充套件開發平臺。就其本身而言,Eclipse只是一個框架和一組服務,能夠通過外掛和元件來構建開發環境。 1.2.1  Ecl

使用Microsoft Visual Studio開發Python程式1

如果讀者擁有C、C++或C#語言基礎,那麼一定不會對Microsoft Visual Studio 陌生。Microsoft Visual Studio號稱是程式開發史上最強的開發工具,並且沒有之一。是微軟推出的專業級開發工具,能夠建立適用於Windows、Android和iOS平臺的應用程式,

python程式1獲取一個網頁的所有中文字元

所有的中文字元都是在html的各種標籤之中,因此我們需要拿到html的整個檔案。為此我們匯入requests庫,再者,我們需要去除標籤將全部內容進行文字化,此處是中英文都有的文字,為此我們引入beautifulsoup,因為get_text方法使得我們可以獲取所

資料與簡單程式1

一、寫程式:描述資料的處理 1、描述資料。 2、描述處理過程。 第1節 基本字元、識別符號和關鍵字 一、空白符的作用 1、Tab 右縮排 2、shift+Tab鍵 左縮排 二、識別符

mpvue+weui+flyio 開發小程式1

一、引言        為了提高開發效率,決定選用美團的開源框架mpvue來開發微信小程式。在前一個專案中,是通過小程式的原生框架來開發,由於是首次開發小程式,期間也遇到了不少坑,而且原生的框架也存在一些不友好的設計。mpvue是基於Vue的小程式開發框架,詳細此處不多說。

微信小程式1生命週期

一. 小程式App的事件 演示一個小程式生命週期的例子,需要注意的是小程式app的生命週期要與頁面的生命週期區分,因為每個頁面都有相應的生命週期,類似於下面app的生命週期裡的方法之外,也會有頁面特有的方法,例如onLoad以及onUnload方法等,這裡就不一一列舉了。 列舉

軟體測試之實用小工具推薦1

1.Snipaste截圖工具 Snipaste是一款佔用記憶體很小而且免費的截圖軟體,在windows的商城中即可找到這款軟體並下載安裝,安裝後他會一直後臺執行,直到你喚醒他的時候再出現;    使用Snipaste截圖主要有兩種方式,一種是使用快捷鍵截圖,預設操作

[ODBC]讀Excel時報錯:外部資料庫驅動程式1中的意外錯誤解決方案

在MFC下使用ODBC讀取Excel資料庫,之前用著還好好的,突然就用不了了,幾經查詢發現是Windows安全更新的補丁搞的鬼。 出現錯誤: 解決方案: 1. 在控制面板——解除安裝——已

微信小程式1 微信小程式TLS版本大於1.2

我自己的伺服器是windowsserver2008R2的。 1:開始->執行->輸入 PowerShell 2:開始->所有程式->附件 找到 # Enables TLS 1.2 on windows Server 2008 R2

EA&UML日拱一卒-0基礎學習微信小程式1- 開篇

這次選了一個時髦的話題,同時也是一個真正從0開始的話題----微信小程式。說它時髦當然是因為這東西出來沒多長時間,許多開發者不要說做過,恐怕連用都沒有用過。說從0開始是因為作者本人不光是對微信小程式沒有概念,恐怕對開發中用到的技術,手法同樣沒有經驗。 選題的目的 第一當

第十四周----閱讀程式12

/* * 程式的版權和版本宣告部分 /* Copyright (c)2013, 煙臺大學計算機學院學生 * All rightsreserved. * 檔名稱: object.cpp * 作者:趙曉晨 * 完成日期: 2013年05月31日 * 版本號: v1.0 * 輸入

第16周-閱讀程式1

#include <iostream> #include <fstream> using namespace std; int main() { fstream out