您的位置:首页 > Web前端 > AngularJS

使用Protractor进行AngularJS e2e测试案例

2015-11-29 13:23 666 查看
环境:

y@y:karma-t01$ protractor --version
Version 3.0.0
y@y:karma-t01$ node -v
v4.2.2
y@y:karma-t01$


y@y:karma-t01$ webdriver-manager update
y@y:karma-t01$ webdriver-manager start


安装http-server:

y@y:karma-t01$ npm install -g http-server
y@y:karma-t01$ http-server    -p    8080


浏览器:Chrome 版本 46.0.2490.86 (64-bit)

目录结构:

y@y:karma-t01$ tree -L 2
.
├── client
│   ├── app
│   ├── bower_components
│   └── bower.json
├── e2e
│   └── todo
├── karma.conf.js
├── protractor.conf.js
└── readme


(1)e2e/todo/todo.spec.js

'use strict';

describe('',function(){

beforeEach(function(){
browser.get('/client/app/todo/todo.html');
});

it('',function(){
var todoListItems = element.all(by.repeater('item in list'));

expect(todoListItems.count()).toBe(3);
});
});


(2)client/app/todo/todo.js

'use strict';

var app = angular.module('Application',[]);

app.controller('TodoCtrl',function($scope){
$scope.list = ['user1','user2','user3'];

});


(3)client/app/todo/todo.html

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body ng-app="Application">

<div ng-controller="TodoCtrl">
<ul ng-repeat="item in list">
<li>{{item}}</li>
</ul>
</div>

<script src="../../bower_components/angular/angular.js"></script>
<script src="todo.js"></script>
</body>
</html>


(4)protractor.conf.js

'use strict';

exports.config = {
allScriptsTimeout: 110000,

baseUrl: 'http://localhost:8080',

chromeOnly: true,

specs: [
'e2e/**/*.spec.js'
],

exclude: [],

capabilities: {
'browserName': 'chrome'
},

framework: 'jasmine',

jasmineNodeOpts: {
defaultTimeoutInterval: 30000
}
};


进行测试:

(1)启动webdriver构建测试工程

y@y:karma-t01$ webdriver-manager start
seleniumProcess.pid: 27021
13:17:58.939 INFO - Launching a standalone Selenium Server


(2)启动http服务

y@y:karma-t01$ http-server -p 8080
Starting up http-server, serving ./
Available on:
http:127.0.0.1:8080
http:192.168.0.177:8080
Hit CTRL-C to stop the server


(3)运行测试脚本

y@y:karma-t01$ protractor protractor.conf.js
Starting selenium standalone server...
[launcher] Running 1 instances of WebDriver
Selenium standalone server started at http://192.168.0.177:47286/wd/hub Started
.

1 spec, 0 failures
Finished in 1.207 seconds
Shutting down selenium standalone server.
[launcher] 0 instance(s) of WebDriver still running
[launcher] chrome #1 passed
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: