测试用例放在page-specs文件夹中:
因为用例太多了,所以在page-specs目录下又新建了二级目录:
登陆正常用例:
//login_normal.js
var env = require('../../environment.js');
var loginpage=require("../../page-objects/login_page.js"); //login的页面
var dashbord=require("../../page-objects/dashboard_page.js");
var using=require('jasmine-data-provider');
var loginparam=require('../../testdata/login.json'); //json文件作为数据驱中的数据文件
describe('test normal Login_specs ',function() {
beforeEach(function(){
loginpage.opensystemurl(env.urladdress);
expect(loginpage.loginpagepresent()).toBe(true);
});
using(loginparam.normal_login,function(nm_data,descrp){
it(descrp, function () {
loginpage.loginsystem(nm_data.username,nm_data.password);
expect(dashbord.dashpagepresent()).toBe(true);
});
});
afterEach(function(){
dashbord.logoutsystem();
});
});
登陆异常用例:密码错误
//login_errorpasswrod.js
var env = require('../../environment.js');
var loginpage=require("../../page-objects/login_page.js");
var using=require('jasmine-data-provider');
var loginparam=require('../../testdata/login.json');
describe('test error password Login_specs ',function() {
beforeEach(function(){
loginpage.opensystemurl(env.urladdress);
expect(loginpage.loginpagepresent()).toBe(true);
});
using(loginparam.errorpswd_login,function(ep_data,descrp){
it(descrp, function () {
loginpage.loginsystem(ep_data.username,ep_data.password);
expect(loginpage.errorinfo()).toBe(true);
});
});
afterAll(function(){
browser.close();
});
});
登陆页面Layout测试:
var env = require('../../environment.js');
var loginpage=require("../../page-objects/login_page.js");
var BlinkDiff=require('blink-diff'); //
const PixDiff = require('pix-diff');
describe('test normal Login_specs ',function() {
beforeEach(function(){
browser.pixDiff = new PixDiff({
basePath: './Layoutcomparision/login/',
diffPath: './Layoutcomparision/login/',
baseline:true,
formatImageName:'{tag}-{browserName}-{width}x{height}-dpr-{dpr}'
});
loginpage.opensystemurl(env.urladdress);
});
it("test loginpage layout",()=> {
browser.pixDiff.checkScreen('loginpage')
.then(result => {
expect(result.code).toEqual(PixDiff.RESULT_IDENTICAL);
});
});
});