为了快速上手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问题记录相关推荐

  1. fabricJs 在vue项目中的实战记录(四)添加文字以及文字的操作[字体大小、颜色、字间距、行间距、透明度、加粗、斜体、下划线、删除线、对齐方式、字体设置]

    在阅读以下文章的基础上查看本篇笔记: 第一篇:fabricJs 在vue项目中的实战记录(一)引入以及初始化 第二篇:fabricJs 在vue项目中的实战记录(二)fabricjs设置海报背景(图片 ...

  2. koa2 mysql_koa2+vue+mysql 全栈开发记录

    koa2+vue2+mysql 全栈开发记录 基于想要自己制作一个个人项目为由,于是有了这么一个开发记录(梳理开发过程也是一个知识巩固的过程) koa2+vue2+mysql 个人的一个通用DEMO( ...

  3. vue + typescript 父子组件传值记录

    为什么80%的码农都做不了架构师?>>>    typescript 使用 vue-property-decorator 插件后 组件通信 做一个记录 1. 父传子 父: <s ...

  4. vue中使用echarts 使用记录

    仅以此记录下个人使用echart的方法,毕竟好记性不如烂笔头. 参考资料 手摸手,带你用vue撸后台 系列三(实战篇) 安装echarts npm install echarts --save ech ...

  5. vue项目接入e2e自动化测试

    文章目录 1.安装night-watch 2.安装浏览器驱动 3.关于Selenium(音译:斯利涅姆) Server 4.配置文件 5.修改配置文件 5.1 更新默认使用chromedriver 5 ...

  6. VUE项目的e2e自动化测试超详细安装过程(保姆级)

    目录 一.创建测试项目 二.配置Nightwatch(以chrome为演示) 一.创建测试项目 首先通过@vue/cli创建一个基于nightwatch的测试项目.(我这里使用的是@vue/cli 3 ...

  7. vue跳转后不记录历史记录

    vue路由跳转一般情况下是使用push, this.$router.push({path: "/testTeam/testTeam",}); 若是特殊需求,页面跳转后不记录到历史记 ...

  8. vue创建项目踩坑记录 443 ECONNRESET

    安装nodejs 并创建vue 项目的记录 首先安装nodejs 是傻瓜式操作,配置环境变量的可以参考这个博文: 点击跳转安装教程 查看node版本和npm 版本 使用淘宝镜像cnpm 第二步项目初始 ...

  9. vue 情侣空间 代办模块 记录

    待办事项 感觉实现过程比较愚蠢 唉- 没办法this指向问题太懵了 功能: 录入信息 点击添加 会添加到数据库 然后再自动渲染到页面显示 页面显示 分两种 一种是未完成的 一种是已完成的 点击清空可以 ...

最新文章

  1. 使界面里的组件更圆滑
  2. 使用 Tye 辅助开发 k8s 应用竟如此简单(三)
  3. 实时监听输入框值变化的完美方案:oninput onpropertychange
  4. SAP License:供应链管理和ERP的关系?
  5. jetson nano 在opencv拉流的视频上显示中文汉字(含c++完整源码)
  6. Activities
  7. 互联网光环下的新金融群像:运营最重要的是说人话
  8. 阿里巴巴Java编程规范考试
  9. openwrt1907使用mt7621+mt715 5G wifi吞吐量低问题解决方法
  10. PHP 网页支付支付宝支付接口对接
  11. windows虚拟机给C盘扩容
  12. 微信公众号接口开发--回复消息
  13. C语言人五英尺七英寸,5尺7寸(5尺7寸是多高美国)
  14. 实锤了,尤大妥妥的二次元迷弟 —— 聊聊 Vue 的进化历程
  15. 文章转载-狂人日记-鲁迅
  16. 计算在一起的天数html,记录情侣在一起天数的软件 很火的情侣天数记录软件
  17. 如何获取手机根目录和sdcard的根目录
  18. 个性化智能推荐技术研究总结
  19. QNX4系统启动过程
  20. SQL Server 事务日志已满的解决方案

热门文章

  1. matlab var历史模拟法,关于VaR历史模拟法的两个程序
  2. 对偶性的实质,向量内积就是矩阵叉乘
  3. LevelDb日知录(Leveldb 实现原理)
  4. 机器学习常见的数学符号表
  5. Swagger接口文档
  6. 参考基因组下载和建立索引
  7. Angular 服务的创建及使用
  8. 杭电计算机学院教师待遇,杭电:职称改革让教师有了更多获得感
  9. 曲线拟合 公式已与excel2007直线趋势图对比过。
  10. linux目录共享配置文件,NFS共享目录配置