vue unit及e2e问题记录
为了快速上手vue项目,一般我们会使用脚手架vue-cli帮助我们创建项目模板。
vue init webpack my-project // 创建 my-project项目npm install // 下载依赖包npm run dev // 编译开发环境npm run unit // 启动单元测试npm run e2e // 启动端到端测试npm run build // 编译生成环境
一般dev 和build命令都可以正常执行,但是在unit和e2e环节会遇到一些比较奇怪的问题。
unit单元测试
运行单元测试时,可能出现的问题是PhantomJS(http://phantomjs.org/)下载失败,到是单元测试运行失败,可以多运行几次npm install,如果还是不行,自行手动下载。
PhantomJS是一个无界面的、可脚本编程的WebKit浏览器引擎。它原生支持多种Web标准:Dom操作、CSS选择器,JSON、Canvas以及SVG。
Karma 会自动加载karma-phantomjs-launcher来引导PhantomJS启动,我们不需要改动karma.conf.js的任何配置。
e2e端到端测试
运行e2e时报如下错误:
F:\learn\vue\my-project>npm run e2e> my-project@1.0.0 e2e F:\learn\vue\my-project
> node test/e2e/runner.js> Starting dev server...
> Listening at http://localhost:8080Starting selenium server... started - PID: 7760[Test] Test Suite
=====================Running: default e2e testsError retrieving a new session from the selenium serverConnection refused! Is selenium server started?{ value: { stacktrace: 'org.openqa.selenium.SessionNotCreatedException: Unable to create new service: ChromeDriverService\nBuild info: version: \'3.7.1\', revision: \'8a0099a\', time: \'20
17-11-06T21:07:36.161Z\'\nSystem info: host: \'PC-20160906QJYJ\', ip: \'192.168.10.162\', os.name: \'Windows 7\', os.arch: \'amd64\', os.version: \'6.1\', java.version: \'9.0.1\'\nDr
iver info: driver.version: unknown\r\n\tat org.openqa.selenium.remote.server.ServicedSession$Factory.lambda$get$0(ServicedSession.java:194)\r\n\tat org.openqa.selenium.remote.server.
ServicedSession$Factory.apply(ServicedSession.java:204)\r\n\tat org.openqa.selenium.remote.server.ActiveSessionFactory.lambda$apply$11(ActiveSessionFactory.java:167)\r\n\tat java.bas
e/java.util.stream.........
npm ERR! Windows_NT 6.1.7601
npm ERR! argv "D:\\Program Files\\nodejs\\node.exe" "D:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "e2e"
npm ERR! node v6.10.1
npm ERR! npm v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! my-project@1.0.0 e2e: `node test/e2e/runner.js`
npm ERR! Exit status 1
尝试了很多方法,后来发现是npm 下载chromedriver的时候出现了问题,手动删除node_modules\chromedriver ,运行命令。
chromedriver是一个二进制运行库,供Nightwatch驱动Chrome浏览器,加载测试。
F:\learn\vue\my-project>npm install chromedriver --chromedriver_cdnurl=https://npm.taobao.org/mirrors/chromedriver> chromedriver@2.33.2 install F:\learn\vue\my-project\node_modules\chromedriver
> node install.jsDownloading https://npm.taobao.org/mirrors/chromedriver/2.33/chromedriver_win32.zip
Saving to C:\Users\ADMINI~1\AppData\Local\Temp\chromedriver\chromedriver_win32.zip
Received 790K...
Received 1580K...
Received 2370K...
Received 3154K...
Received 3942K...
Received 4125K total.
Extracting zip contents
Copying to target path F:\learn\vue\my-project\node_modules\chromedriver\lib\chromedriver
Done. ChromeDriver binary available at F:\learn\vue\my-project\node_modules\chromedriver\lib\chromedriver\chromedriver.exe
my-project@1.0.0 F:\learn\vue\my-project
`-- chromedriver@2.33.2npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
chromedriver 下载成功:)
重新运行npm run e2e,端到端测试已经可以成功运行。
F:\learn\vue\my-project>npm run e2e> my-project@1.0.0 e2e F:\learn\vue\my-project
> node test/e2e/runner.js> Starting dev server...
> Listening at http://localhost:8080Starting selenium server... started - PID: 5300[Test] Test Suite
=====================Running: default e2e tests√ Element <#app> was visible after 53 milliseconds.√ Testing if element <.hello> is present.√ Testing if element <h1> contains text: "Welcome to Your Vue.js App".√ Testing if element <img> has count: 1OK. 4 assertions passed. (3.284s)
vue unit及e2e问题记录相关推荐
- fabricJs 在vue项目中的实战记录(四)添加文字以及文字的操作[字体大小、颜色、字间距、行间距、透明度、加粗、斜体、下划线、删除线、对齐方式、字体设置]
在阅读以下文章的基础上查看本篇笔记: 第一篇:fabricJs 在vue项目中的实战记录(一)引入以及初始化 第二篇:fabricJs 在vue项目中的实战记录(二)fabricjs设置海报背景(图片 ...
- koa2 mysql_koa2+vue+mysql 全栈开发记录
koa2+vue2+mysql 全栈开发记录 基于想要自己制作一个个人项目为由,于是有了这么一个开发记录(梳理开发过程也是一个知识巩固的过程) koa2+vue2+mysql 个人的一个通用DEMO( ...
- vue + typescript 父子组件传值记录
为什么80%的码农都做不了架构师?>>> typescript 使用 vue-property-decorator 插件后 组件通信 做一个记录 1. 父传子 父: <s ...
- vue中使用echarts 使用记录
仅以此记录下个人使用echart的方法,毕竟好记性不如烂笔头. 参考资料 手摸手,带你用vue撸后台 系列三(实战篇) 安装echarts npm install echarts --save ech ...
- vue项目接入e2e自动化测试
文章目录 1.安装night-watch 2.安装浏览器驱动 3.关于Selenium(音译:斯利涅姆) Server 4.配置文件 5.修改配置文件 5.1 更新默认使用chromedriver 5 ...
- VUE项目的e2e自动化测试超详细安装过程(保姆级)
目录 一.创建测试项目 二.配置Nightwatch(以chrome为演示) 一.创建测试项目 首先通过@vue/cli创建一个基于nightwatch的测试项目.(我这里使用的是@vue/cli 3 ...
- vue跳转后不记录历史记录
vue路由跳转一般情况下是使用push, this.$router.push({path: "/testTeam/testTeam",}); 若是特殊需求,页面跳转后不记录到历史记 ...
- vue创建项目踩坑记录 443 ECONNRESET
安装nodejs 并创建vue 项目的记录 首先安装nodejs 是傻瓜式操作,配置环境变量的可以参考这个博文: 点击跳转安装教程 查看node版本和npm 版本 使用淘宝镜像cnpm 第二步项目初始 ...
- vue 情侣空间 代办模块 记录
待办事项 感觉实现过程比较愚蠢 唉- 没办法this指向问题太懵了 功能: 录入信息 点击添加 会添加到数据库 然后再自动渲染到页面显示 页面显示 分两种 一种是未完成的 一种是已完成的 点击清空可以 ...
最新文章
- 使界面里的组件更圆滑
- 使用 Tye 辅助开发 k8s 应用竟如此简单(三)
- 实时监听输入框值变化的完美方案:oninput onpropertychange
- SAP License:供应链管理和ERP的关系?
- jetson nano 在opencv拉流的视频上显示中文汉字(含c++完整源码)
- Activities
- 互联网光环下的新金融群像:运营最重要的是说人话
- 阿里巴巴Java编程规范考试
- openwrt1907使用mt7621+mt715 5G wifi吞吐量低问题解决方法
- PHP 网页支付支付宝支付接口对接
- windows虚拟机给C盘扩容
- 微信公众号接口开发--回复消息
- C语言人五英尺七英寸,5尺7寸(5尺7寸是多高美国)
- 实锤了,尤大妥妥的二次元迷弟 —— 聊聊 Vue 的进化历程
- 文章转载-狂人日记-鲁迅
- 计算在一起的天数html,记录情侣在一起天数的软件 很火的情侣天数记录软件
- 如何获取手机根目录和sdcard的根目录
- 个性化智能推荐技术研究总结
- QNX4系统启动过程
- SQL Server 事务日志已满的解决方案