1、为什么需要前端测试框架
.编写测试用例,可以避免测试点的遗漏
.也是为了更好的进行测试,可以提高测试效率
.是根据需求来的,开发也是根据需求做的,测试用例完成后,要进行用例评审,还可以减少开发和测试对需求的不同理解造成的缺陷
.有时候需求是一点点来的,不是很系统,测试用例及时更新,可以作为系统的需求
2、了解专业名词selenium-server、nightwatch
selenium-server:能够控制浏览器行为,它是web测试服务器
nightwatch:是一个易于使用的,基于Node.js平台的浏览器自动化测试解决方案,它使用强大的Selenium WebDriver API来在DOM元素上执行命令和断言。只需要使用JavaScript和Css选择器,不需要初始化其他对象和类,您只需要编写测试规范。内置命令行测试运行器,使您能够运行测试。
3、搭建环境所需要的包(npm安装)
"nightwatch": "^0.9.8",
"selenium-server": "2.53.1",
"semver": "^5.3.0",
"chromedriver": "^2.21.2",
"koa": "2.0.0",
"koa-static": "2.0.0"
ChromeDriver:Selenium操作chrome浏览器需要有ChromeDriver驱动来协助。
semver:语义化版本控制作用,在这里需要对node、npm版本进行检测,node>= 4.0.0,npm>= 3.0.0
koa、koa-static:启动一个服务器,可以访问静态资源。
4、大纲列表
. 检查node、npm版本
. koa访问静态资源建立服务器
. 执行nightwatch配置文件nightwatch.conf.js进行自动化测试
4.1 检查node、npm版本,如果版本不满足,终端控制台会输出警告,代码如下图:
4.2 koa访问静态资源建立服务器,如下图:
4.3 执行nightwatch配置文件nightwatch.conf.js进行自动化测试
4.4 终端控制台运行:npm run e2e (==node test/e2e/runner.js)