1、报告在protractor.conf.js中配置后会自动生成,保存在如下目录 :
会自动生成html报告,用例执行失败的时候会有截图放在screenshots目录下
2、公共方法,如node.js读写excel的方法:
//functionlib.js
//读取excel表格内容的函数:excelPath:excel的路径,如:xxx.xlsx,sheetName:sheet的名称,如sheet1,cell:单元表名称,如:A1\C2
function readExcel(excelPath,sheetName,cell){
var XLSX = require('xlsx');
var workbook = XLSX.readFile(excelPath);
var worksheet=workbook.Sheets[sheetName];
var celldata=worksheet[cell];
var result=celldata.v;
return result;
}
//浏览器等到element出现为止,如果一直没有出现,到time时超时报错;
function browserwait(Element,time){
browser.wait(function () {//然后等待这个网页出现了element这个选择器,再执行其他的操作
return browser.isElementPresent(element);//直到这个选择器的元素存在的时候
},time);
}
//a command to make the driver sleep for the given amount of time.
function browsersleep(time){
browser.sleep(time);
console.log("sleep"+time+"ms");
}
// abstract writing screen shot to a file
function writeScreenShot(data, filename) {
var fs = require('fs');
var stream = fs.createWriteStream(filename);
stream.write(new Buffer(data, 'base64'));
stream.end();
}
function doubleclick(Element){
browser.actions().mouseMove(Element).doubleClick().perform();
console.log(Element+"is doubleclicked!")
}
/*
// within a test:
browser.takeScreenshot().then(function (png) {
writeScreenShot(png, 'exception.png');
});
*/
module.exports = {readExcel,browserwait,browsersleep,doubleclick,writeScreenShot}
3、 公共变量,每个页面或者测试用例都可以调用的变量或者参数:
//environment.js
var webServerDefaultPort = 8081;
module.exports = {
// The address of a running selenium server.
seleniumAddress:
(process.env.SELENIUM_URL || 'http://localhost:4444/wd/hub'),
// Capabilities to be passed to the webdriver instance.
capabilities: {
'browserName':
(process.env.TEST_BROWSER_NAME || 'chrome'),
'version':
(process.env.TEST_BROWSER_VERSION || 'ANY')
},
// Default http port to host the web server
webServerDefaultPort: webServerDefaultPort,
// Protractor interactive tests
interactiveTestPort: 6969,
// A base URL for your application under test.
/*
baseUrl:{
'http://' + (process.env.HTTP_HOST || 'localhost') +
':' + (process.env.HTTP_PORT || webServerDefaultPort)
},*/
excelpath:
(process.env.EXCEL_PATH || './lib/parameters.xlsx'),
urladdress:
(process.env.URL_VALUE || 'https://xxx.xx.xxx.xxx:xxxxx/login '),
defaultusername:"xxxxx",
defaultpassword:"xxxxx",
};