nightwatch+selenium做e2e自动化测试采坑小计

1. 安装配置nightwatch  和 selenium  

> npm install nightwatch --save-dev

> npm install selenium-standalone --save-dev

编写配置文件:

> selenium-conf.js      

https://selenium-release.storage.googleapis.com/index.html  查看 selenium 的最新版本号

如果执行 node ./build/selenium-setup.js  安装selenium 时发现装不上的话,可以尝试修改版本号。本文编写时,用的版本是:version: '3.9.0' 。 可以正常安装。

通过 https://chromedriver.storage.googleapis.com/index.html   查看 Chrome 的 Driver 最新版本号

chrome版本号对应表:

chrome Driver chrome
v2.38 v66
v2.33 v60-62
v2.32 v59-61
... ...

以此类推,如出现安装不上的情况,可以尝试更改版本号,尽量跟测试环境上装的chrome版本保持匹配。

我这边就出现过测试用例可以正常跑起来,但是尝试给输入框赋值的时候,setValue方法却始终无效。原因是driver版本跟本机chrome不一致导致。

更改版本号,重新 setup后,跑测试用例,一切ok。

 

默认使用的是css selector, 如果没有id之类的,不方便写选择器的话,可以使用Xpath ,不过需要先使用 browser.useXpath()

附上 nightwatch 官方文档  http://nightwatchjs.org/api 
 
当然,你也可以使用 尤雨溪大神的nightwatch-helpers 更佳

Assertions

  • count(selector, count)

  • attributePresent(selector, attr)

  • evaluate(fn, [args], [message])

  • checked(selector, expected)

  • focused(selector, expected)

  • hasHTML(selector, html)

  • notVisible(selector)

Commands

  • dblClick(selector)

  • waitFor(duration)

  • trigger(selector, event, [keyCode])

  • enterValue(selector, value)

 
 

 

posted @ 2018-05-10 14:15  米豆  阅读(606)  评论(0编辑  收藏  举报