使用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,轻量级
  2. 某个目录下新建一个文件夹,开始写代码了
    这里贴上该工具GitHub的链接
    https://github.com/electron/spectron

下面是官方给的案例代码

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模型以及如何输出一份测试报告

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值