自动化 End-End 测试 Nightwatch.js 与 BrowserStack

BrowserStack 一个提供各式浏览器、移动装备的平台,前面虽然有稍微提到这个东西,不过都没什麽详细介绍,最後一周来写一下 Nightwatch 与 BrowserStack 相关的文章

BrowserStack

使用 BrowserStack 最大的好处就是支援各式浏览器、装置。试想如果要准备 Windows/OS X 作业系统,每个都还要装上 Chrome / Firefox / Edge / Safari,然後可能还要分版本,相当麻烦。

虽然 BrowserStack 不是免费的,但新帐号还是有 100 小时的试用

而如果要与 Nightwatch 串接,只要在 Nightwatch config 中设定即可:

//nightwatch.conf.js

selenium: {
    start_process: false,
    host: 'hub-cloud.browserstack.com',
    port: 443,
},

但只有这样还不够,我们需要针对 BrowserStack 去做一些设定:

//nightwatch.conf.js

desiredCapabilities: {
    build: `${process.env.TEST} / ${
      process.env.CASE ? process.env.CASE : 'ALL'
    }`,
    ...CAPABILITIES_OS_MAP[process.env.OS],
    ...CAPABILITIES_BROWSER_MAP[process.env.BROWSER],
    'browserstack.user': process.env.BROWSERSTACK_USER,
    'browserstack.key': process.env.BROWSERSTACK_PASSWORD,
    'browserstack.local': 'false',
    'browserstack.debug': true,
    'browserstack.timezone': 'Taipei',
  },

更多详细的设定可以从这里看到:https://www.browserstack.com/docs/automate/selenium/select-browsers-and-devices#browserstack-specific-capabilities-desktop

而上面的 CAPABILITIES 设定,BrowserStack 也提供了一个小工具:
https://www.browserstack.com/automate/capabilities?tag=selenium-4

只要选择想要的测试环境,他就会自动生成出来:

https://ithelp.ithome.com.tw/upload/images/20211007/20120250jbKjbY0dWx.png

最後执行 Nightwatch 时,他就会使用 BrowserStack 的 selenium 去做测试:

https://ithelp.ithome.com.tw/upload/images/20211007/20120250QNBKgRdOYI.png

https://ithelp.ithome.com.tw/upload/images/20211007/20120250tZz2ez2f6P.png


<<:  Day22 浏览器上检查你的React - React developer Tool

>>:  Re: 新手让网页 act 起来: Day22 - React Hooks 之 useCallback

day15 : NATS 、NATS Streaming、JetStream服务应用 on K8S (上)

k8s只是一个平台,要发挥他的价值就要让适合的服务运行在上面,所以从今天开始就会介绍一些有趣的服务(...

[25] 用 python 刷 Leetcode: 155 min-stack

原始题目 Design a stack that supports push, pop, top, ...

轻松易懂的目标设定框架-SMART

在软件开发流程的开头,确定要进行某一项开发,一定都是基於要达到某一个特定的目标,而此目标不能设定的太...

Day16 vue.js之我有帐户了!!!

延续昨日 我们今天的目标是获取帐户讯息以及修改帐户资料 首先先去views 里面创一个Account...

从零开始的8-bit迷宫探险【Level 2】Xcode 开发环境介绍

今日目标 安装 Xcode 使用模拟器执行游戏专案 认识 Xcode 的开发环境 使用 Playgr...