在上一篇的page-objects文件夹中放的是每个页面的代码:
页面中的代码如下:
//login_page.js
var login=function(){
var username_input = element(by.id('username'));
var passwd_input = element(by.id('password'));
var login_btn = $('button');
var error_bar=$('.error');
this.opensystemurl=function(base_url){
browser.ignoreSynchronization = true; //这句代码很重要,不写会在11s的时候报错
browser.driver.manage().window().maximize(); //浏览器最大化
browser.get(base_url); //打开url
};
this.loginsystem=function(username,password){ //这个函数是输入密码和用户名
username_input.sendKeys(username);
passwd_input.sendKeys(password);
login_btn.click();
browser.sleep(5000);
};
this.loginpagepresent=function(){
return username_input.isPresent();
};
this.errorinfo=function(){
return error_bar.isPresent();
};
};
module.exports = new login();
还有一些页面一组操作要传入的形参太多,只能把每一个操作写成一个方法,然后在最后的测试脚本中调用,如:
//如以上登陆代码修改如下:
this.setval_username=function(username){
username_input.sendKeys(username);
};
this.setval_password=function(password){
username_input.sendKeys(username);
};
this.click_login_btn=function(){
login_btn.click();
};