Skip to content

Commit 40fc703

Browse files
author
PinkyJie
committed
add common e2e function to helper.js
1 parent 45cb768 commit 40fc703

File tree

2 files changed

+53
-7
lines changed

2 files changed

+53
-7
lines changed

app/templates/client/source/app/layout/_header.jade

+7-7
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,21 @@
55
button.btn.btn--l.btn--white.btn--icon.hide-gt-sm(lx-ripple, ng-if="hasSidebar", ng-click="vm.switchSidebar()")
66
i.mdi.mdi-menu
77
img.logo(src="static/images/layout/logo.png")
8-
.toolbar__label.fs-title
8+
.toolbar__label.fs-title.header-title
99
a.tc-white(ui-sref="root.home") <%= appDesc %>
1010
.toolbar__right
11-
a.btn.btn--l.btn--white.btn--icon(ui-sref="root.login", lx-ripple="white", ng-if="!vm.isLoggedIn")
11+
a.btn.btn--l.btn--white.btn--icon.header-login(ui-sref="root.login", lx-ripple="white", ng-if="!vm.isLoggedIn")
1212
i.mdi.mdi-login
13-
span.hide-sm(ng-if="vm.isLoggedIn") {{vm.userInfo.name}}
14-
lx-dropdown(position="right", from-top, ng-if="vm.isLoggedIn")
15-
button.btn.btn--xl.btn--white.btn--icon(lx-ripple, lx-dropdown-toggle)
13+
span.header-user-name.hide-sm(ng-if="vm.isLoggedIn") {{vm.userInfo.name}}
14+
lx-dropdown.header-dropdown(position="right", from-top, ng-if="vm.isLoggedIn")
15+
button.btn.btn--xl.btn--white.btn--icon.dropdown-toggle(lx-ripple, lx-dropdown-toggle)
1616
i.mdi.mdi-dots-vertical
1717
lx-dropdown-menu
18-
ul
18+
ul.header-dropdown-menu
1919
li.hide-gt-sm.text-center.tc-grey-500(ng-if="vm.isLoggedIn")
2020
span {{vm.userInfo.name}}
2121
li.hide-gt-sm.dropdown-divider
2222
li
23-
a.dropdown-link(ui-sref="root.login({action: 'logout'})")
23+
a.dropdown-link.logout-link(ui-sref="root.login({action: 'logout'})")
2424
i.mdi.mdi-logout.mr
2525
| Logout
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
/* global $ */
2+
'use strict';
3+
4+
module.exports = function () {
5+
return {
6+
gotoUrl: gotoUrl,
7+
getHeader: getHeader,
8+
takeScreenshotIfFail: takeScreenshotIfFail
9+
};
10+
11+
//////////
12+
13+
function gotoUrl (url) {
14+
browser.get(browser.baseUrl + '/' + url);
15+
}
16+
17+
function getHeader () {
18+
return {
19+
'title': $('.header-title > a'),
20+
'loginBtn': $('.header-login'),
21+
'userName': $('.header-user-name'),
22+
'dropdown': $('.header-dropdown'),
23+
'dropdownToggle': $('.dropdown-toggle'),
24+
'dropdownMenu': $('.header-dropdown-menu'),
25+
'logoutLink': $('.logout-link')
26+
};
27+
}
28+
29+
function takeScreenshotIfFail () {
30+
var fs = require('fs');
31+
var currentSpec = jasmine.getEnv().currentSpec;
32+
var passed = currentSpec.results().passed();
33+
if (!passed) {
34+
browser.takeScreenshot().then(function (png) {
35+
browser.getCapabilities().then(function (capabilities) {
36+
var browserName = capabilities.caps_.browserName;
37+
var filename = browserName + '-' +
38+
currentSpec.description.replace(/[ :]/, '-') + '.png';
39+
var stream = fs.createWriteStream(browser.params.screenShotDir + filename);
40+
stream.write(new Buffer(png, 'base64'));
41+
stream.end();
42+
});
43+
});
44+
}
45+
}
46+
};

0 commit comments

Comments
 (0)