angularjs e2e测试初步学习(一)
e2e测试是从用户角度出发,认为整个系统都是一个黑盒,只有UI暴露出来。
angularjs的测试框架是采用protractor。
1、创建文件
首先创建一个项目文件夹test,然后再创建两个文件,一个是测试文件testbook.spec.js,另一个是配置文件testbook.conf.js
可以先在test文件夹下使用npm init,自动创建package.json文件,文件目录如下:
2、安装测试框架
直接使用npm下载protractor框架以及如下图的所有依赖。
3、直接上代码
配置文件testbook.conf.js
const SpecReporter = require('jasmine-spec-reporter').SpecReporter; exports.config = {
// 测试框架
framework: 'jasmine',
// 测试服务器接入地址
// seleniumAddress: 'http:127.0.0.1:3000',
// 需要运行的测试程序代码文件列表
specs: ['testbook.spec.js'],
baseUrl: 'http://127.0.0.1:3000',
directConnect: true,
chromeDriver: './node_modules/.bin/chromedriver', jasmineNodeOpts: {
print: function () {} // 禁止默认的...输出
}, onPrepare: function () {
let specReporter = new SpecReporter({ // add jasmine-spec-reporter
spec: {
displayPending: true,
displayErrorMessages: true,
displayStacktrace: true
},
summary: {
displayErrorMessages: true
} });
// 初始化必须
// 一个是jasmine的运行环境,是单例模式jasmine.getEnv()
// 还有一个是将测试结果显示出来的addReporter(specReporter)
jasmine.getEnv().addReporter(specReporter);
}
}
测试文件testbook.spec.js
// spec.js // describe定义一个测试案例集,it为单个测试案例
describe('Protractor Demo App', function () {
it('should have some text', function () {
// browser是通过protractor创建expect的全局变量,用于浏览器范围的命令控制,比如tonguebrowser.get进行导航
// browser.get 跳转到指定页面,还会重新刷新整个页面
browser.get('/');
// browser.pause(); // 让浏览器停下来
// 测试两者值是否相等,相等则测试通过,不相等则测试失败
expect(browser.getTitle()).toEqual('Book System');
});
});
上面代码简单测试了跳转到的指定页面的title是否和Book System相等。
运行命令为:./node_modules/.bin/protractor testbook.conf.js
运行成功的截图:
angularjs e2e测试初步学习(一)的更多相关文章
- 使用Protractor进行AngularJS e2e测试案例
环境: y@y:karma-t01$ protractor --version Version y@y:karma-t01$ node -v v4.2.2 y@y:karma-t01$ y@y:kar ...
- Angularjs E2E test Report/CoverageReport
前端Angularjs是一个很热门的框架,这篇是学习基于Angularjs的nodejs平台的E2E测试报告和E2E JS覆盖率报告.用到的都是现有的工具,只是一些配置的地方需要注意. 环境前提: 1 ...
- 老周的ABP框架系列教程 -》 一、框架理论初步学习
老周的ABP框架系列教程 -- 一.框架理论初步学习 1. ABP框架的来源与作用简介 1.1 简介 1.1.1 ABP框架全称为"ASP.NET Boilerplate ...
- e2e 测试(1)
距离上一随笔,已经有一个月没有没写.到今天,刚刚好好,是学习e2e测试的一个月.今天有点时间可以总结一下这个月来的收获. 1.搭建e2e的测试环境 我是使用 Vue 构建项目,所以我也是通过Vue-c ...
- e2e 测试 出现的错误
每次开始学习vue的新知识时,总在环境这一块出现很多坑.这次我来记录一下,我在搭建vue e2e测试框架是踏过的坑吧. 我们都只知道,使用vue init webpack 项目名字<项目名字不能 ...
- 语法分析器初步学习——LISP语法分析
语法分析器初步学习——LISP语法分析 本文参考自vczh的<如何手写语法分析器>. LISP的表达式是按照前缀的形式写的,比如(1+2)*(3+4)在LISP中会写成(*(+ 1 2)( ...
- python预课04 列表,元祖,统计值计算示例,py文件转为EXE文件,爬虫初步学习
列表,元组 #list l1 = [1, 2, 3, '高弟弟'] #定义一个列表 #增 l1.append("DSB") #最后增加"DSB"的元素 #删 l ...
- Angularjs E2E test Report/CoverageReport - 使用Gulp
上一篇(http://www.cnblogs.com/xiaoningz/p/7122633.html)使用grunt-protractor-coverage 做为覆盖率测试插件,如果项目的管理工具刚 ...
- Httprunner初步学习
一:简介 一直在技术博客上看到Httprunner测试框架,但始终不太明白这个框架的具体作用,今天就花点时间来初步学习了解一下. HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架, ...
随机推荐
- Scala学习——操作符(初)
经常看到却反应不出来的(->) val a = 2 val b = a->4 //表示生成一个tuple println(b._1+" "b._2) //2 4
- 演讲:对 2000 多亿条数据做一次 group by 需要多久?
http://2017.qconbeijing.com/presentation/646?utm_source=weibo&utm_medium=infoq&utm_campaign= ...
- javascript 日期月份加减
项目中需要用到,自己写了一个.javascript日期按月加减 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xh ...
- java之数学方法
参考http://how2j.cn/k/number-string/number-string-math/319.html java.lang.Math提供了一些常用的数学运算方法,并且都是以静态方法 ...
- eos管理页面
调用此方法删除需要在po_module_processdef添加数据如下 默认情况下申请页面是有权限的 但是在此表加过之后 管理页面要打开拟稿页面还必须在 系统管理页面(xtgl.jsp ) 分 ...
- VS~通过IIS网站启用"域名"调试
在我们开发网站时,对某些信息进行序列化时,通常使用session,cookies,nosql等技术,而为了安全,我们在服务器上很多情况都做了防止盗链的设计,这给本机调试带来了不便,因为,本机都是以lo ...
- linux端口netstat
netstat -aptn命令行,查看所有开启的端口号 netstat -nupl 查看所有udp端口号 netstat -ntpl 查看所有tcp端口号 查看某服务占用的端口情况,比 ...
- Keras实现CIFAR-10分类
仅仅为了学习Keras的使用,使用一个四层的全连接网络对MNIST数据集进行分类,网络模型各层结点数为:3072: : 1024 : 512:10: 使用50000张图片进行训练,10000张 ...
- org.apache.commons.httpclient和org.apache.http.client区别(转)
官网说明: http://hc.apache.org/httpclient-3.x/ Commons HttpClient项目现已结束,不再开发.它已被其HttpClient和HttpCore模块中的 ...
- cf769D(枚举&位或运算)
题目链接:http://codeforces.com/problemset/problem/769/D 题意:求给出的 n 个数中有多少对数字的二进制形式恰好有 k 位不同 思路:两个数a, b的二进 ...