This repository has been archived by the owner on Jul 20, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
9 changed files
with
91 additions
and
1,778 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,21 +1,25 @@ | ||
var Nemo = require('nemo'); | ||
var fs = require('fs'); | ||
var nemo = Nemo(process.cwd()+'/example',function(err){ | ||
if(!err) { | ||
nemo.driver.get('http://www.paypal.com'); | ||
console.log('Nemo initialized successfully'); | ||
nemo.accessibility.scan().then(function (result) { | ||
console.log('result', result); | ||
var file = process.cwd() + '/example/report/accessibility.json'; | ||
fs.writeFile(file, result, function (err) { | ||
if (err) { | ||
throw err; | ||
} | ||
console.log('Successfully wrote the file ' + file); | ||
}); | ||
}); | ||
nemo.driver.quit(); | ||
} else { | ||
console.log(err); | ||
const Nemo = require('nemo-core'); | ||
|
||
const nemo = Nemo(process.cwd()+'/example', function(err){ | ||
if (err) { | ||
console.log('Error during Nemo setup', err); | ||
} | ||
nemo.driver.get('http://www.paypal.com'); | ||
nemo.driver.getCapabilities().then((cap) => { | ||
console.info('Nemo successfully launched:', cap.get('browserName')); | ||
}) .catch((error) => { | ||
console.log(error); | ||
}) | ||
|
||
const options = { | ||
'page': 'HomePage' | ||
} | ||
|
||
nemo.accessibility.scan(options).then(function (result) { | ||
console.log('Result :' + result); | ||
}).catch((error) => { | ||
console.log(error); | ||
}) | ||
|
||
nemo.driver.quit(); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,111 +1,54 @@ | ||
'use strict'; | ||
var request = require("request"), | ||
debug = require("debug"), | ||
fs = require('fs'), | ||
log = debug("nemo-accessibility:log"), | ||
error = debug("nemo-accessibility:error"), | ||
path = require('path'); | ||
|
||
var jsonOp = {}; | ||
var resultArr = []; | ||
var retStr =''; | ||
var axeResults = require('./src/axe'); | ||
var htmlcsResults = require('./src/htmlcs'); | ||
var chromeResults = require('./src/chrome'); | ||
|
||
module.exports = { | ||
"results":"", | ||
"setup": function (argObj, nemo, callback) { | ||
var returnObj = nemo; | ||
|
||
returnObj.accessibility = { | ||
'scan': function (options) { | ||
var d = nemo.wd.promise.defer(); | ||
// var driver = options && options.element ? options.element : nemo.driver; | ||
var driver = nemo.driver, | ||
const request = require("request"), | ||
debug = require("debug"), | ||
fs = require('fs'), | ||
log = debug("nemo-accessibility:log"), | ||
error = debug("nemo-accessibility:error"), | ||
path = require('path'); | ||
|
||
let jsonOp = {}; | ||
let resultArr = []; | ||
let retStr =''; | ||
const axeResults = require('./src/axe'); | ||
const htmlcsResults = require('./src/htmlcs'); | ||
const chromeResults = require('./src/chrome'); | ||
|
||
|
||
function setup (argObj, nemo, callback) { | ||
nemo.accessibility = { | ||
'scan': async function (options) { | ||
// const driver = options && options.element ? options.element : nemo.driver; | ||
const driver = nemo.driver, | ||
scanElement = options && options.element ? options.element : driver.findElement(nemo.wd.By.tagName('html')), | ||
project = options && options.project || '', | ||
page = options && options.page || '' , | ||
errLevel = options && options.errLevel || '1', | ||
level = options && options.level || 'WCAG2AA'; | ||
|
||
log('api url', argObj.accessibilityApiUrl); | ||
log('engine', argObj.engine); | ||
|
||
if (argObj.accessibilityApiUrl) { | ||
var engine = options && options.engine ? options.engine : '', | ||
output = options && options.output ? options.output : '', | ||
accessibilityApiUrl = argObj.accessibilityApiUrl; | ||
|
||
scanElement.getAttribute('innerHTML').then(function (source) { | ||
|
||
log('Now scanning with error level ', errLevel); | ||
log('API engine', engine); | ||
log('Accessibility url ', accessibilityApiUrl); | ||
|
||
var body = { | ||
'source': source, | ||
'errLevel': errLevel, | ||
'level' : level, | ||
'engine' : engine, | ||
'output': output, | ||
'page' : page, | ||
'project': project | ||
}, | ||
options = { | ||
'headers': { | ||
'Content-Type': 'application/json' | ||
}, | ||
'url': accessibilityApiUrl, | ||
'method': 'POST', | ||
'body': body, | ||
'json': true, | ||
'rejectUnauthorized': false | ||
}; | ||
|
||
request(options, function (err, response, responseBody) { | ||
if (err) { | ||
error(err); | ||
d.reject(err); | ||
} | ||
if (err || response.statusCode !== 200) { | ||
d.reject('Error is ' + err + ' Response code is ' + (response && response.statusCode)); | ||
} | ||
d.fulfill(responseBody); | ||
}); | ||
}); //scanElement.getAttribute | ||
} else { | ||
// console.log('Standalone: ', project, page, argObj.engine); | ||
|
||
jsonOp["project"] = project; | ||
jsonOp["page"] = page; | ||
let results=''; | ||
|
||
switch(argObj.engine) { | ||
case 'htmlcs': | ||
htmlcsResults.getHtmlcsResults(argObj, nemo, callback) | ||
.then(function(results){ | ||
d.fulfill(results); | ||
}) | ||
results = await htmlcsResults.getHtmlcsResults(argObj, nemo, callback) | ||
break; | ||
case 'chrome': | ||
chromeResults.getChromeResults(argObj, nemo, callback) | ||
.then(function(results){ | ||
d.fulfill(results); | ||
}) | ||
results = await chromeResults.getChromeResults(argObj, nemo, callback) | ||
break; | ||
case 'axe': | ||
default: | ||
axeResults.getAxeResults(argObj, nemo, callback) | ||
.then(function(results){ | ||
d.fulfill(results); | ||
}) | ||
results = await axeResults.getAxeResults(argObj, nemo, callback) | ||
// | ||
} //end switch | ||
} // end else | ||
|
||
return d; | ||
return results | ||
} //scan function | ||
} //returnObj | ||
} //nemo.accessibility | ||
callback(null); | ||
} //setup function | ||
}; //module.export | ||
|
||
module.exports = { | ||
"setup": setup | ||
} |
Oops, something went wrong.