使用Mocha+spectron測試Electron打包的桌面版程式(1)
當前多是瀏覽器和移動App產品,其相應測試工具也較多,桌面版程式的自動化測試工具較少,本文就介紹一下如何使用Electron的官方測試工具spectron進行Electron打包的桌面版程式的自動化測試。
Electron打包的桌面版程式其實也是一個web的頁面,只是加了一個Electron外殼,把web頁面給包起來。詳細讀者可自行了解Electron,本文不多做介紹。
1. 安裝環境
(1)安裝Nodejs,網上資料較多,自行百度安裝
(2)全域性安裝mocha,網上資料較多,如果失敗,自行百度解決
npm -g install mocha
- 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打包的桌面版程式(2)PO模型
在上一篇文章中,我們運行了一個小的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開始是因為作者本人不光是對微信小程式沒有概念,恐怕對開發中用到的技術,手法同樣沒有經驗。 選題的目的 第一當
第十四周----閱讀程式(1)(2)
/* * 程式的版權和版本宣告部分 /* 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