JavaScript -WebdriverIO - 函数不将元素作为参数
JavaScript -WebdriverIO - function does not take the element as argument
我有以下功能,我用它来 运行 页面或单个组件的可访问性测试。该函数适用于页面,但当我将元素作为参数之一传递给该函数时,它会失败。我在这里做错了什么
以下工作正常
function runAccessibilityTest(fileName) {
const fileDelimiter = ",";
fileName = fileName.split(".")[0] + "_" + getDateTime() + ".csv";
browser.execute(axeSource);
const options = { runOnly: { type: "tag", values: ["wcag2aa"] } };
let results = browser.executeAsync(function (options, done) {
// run axe on our site
axe.run(
{
include: [["css.elementpath"]],
},
function (err, results) {
if (err) done(err);
done(results);
}
);
}, options);
}
但这不起作用
function runAccessibilityTest(fileName, elem) {
const fileDelimiter = ",";
fileName = fileName.split(".")[0] + "_" + getDateTime() + ".csv";
browser.execute(axeSource);
const options = { runOnly: { type: "tag", values: ["wcag2aa"] } };
let results = browser.executeAsync(function (options, done) {
// run axe on our site
axe.run(
{
include: [[elem]],
},
function (err, results) {
if (err) done(err);
done(results);
}
);
}, options);
}
我意识到我实际上并没有传递 elem 值,这就是我收到错误 elem not defined 的原因。我已将其修复如下:
function runAccessibilityTest(fileName, elem) {
const fileDelimiter = ','
fileName = fileName.split('.')[0] + '_' + getDateTime() + '.csv'
browser.execute(axeSource);
const options = { runOnly: { type: 'tag', values: ['wcag2aa'] } }
const elemToTest = elem.selector
let results = browser.executeAsync(function (options, elemToTest, done) {
// run axe on our site
axe.run({
include: [[elemToTest]]
},function (err, results) {
if (err) done(err)
done(results);
});
}, options, elemToTest);
我有以下功能,我用它来 运行 页面或单个组件的可访问性测试。该函数适用于页面,但当我将元素作为参数之一传递给该函数时,它会失败。我在这里做错了什么
以下工作正常
function runAccessibilityTest(fileName) {
const fileDelimiter = ",";
fileName = fileName.split(".")[0] + "_" + getDateTime() + ".csv";
browser.execute(axeSource);
const options = { runOnly: { type: "tag", values: ["wcag2aa"] } };
let results = browser.executeAsync(function (options, done) {
// run axe on our site
axe.run(
{
include: [["css.elementpath"]],
},
function (err, results) {
if (err) done(err);
done(results);
}
);
}, options);
}
但这不起作用
function runAccessibilityTest(fileName, elem) {
const fileDelimiter = ",";
fileName = fileName.split(".")[0] + "_" + getDateTime() + ".csv";
browser.execute(axeSource);
const options = { runOnly: { type: "tag", values: ["wcag2aa"] } };
let results = browser.executeAsync(function (options, done) {
// run axe on our site
axe.run(
{
include: [[elem]],
},
function (err, results) {
if (err) done(err);
done(results);
}
);
}, options);
}
我意识到我实际上并没有传递 elem 值,这就是我收到错误 elem not defined 的原因。我已将其修复如下:
function runAccessibilityTest(fileName, elem) {
const fileDelimiter = ','
fileName = fileName.split('.')[0] + '_' + getDateTime() + '.csv'
browser.execute(axeSource);
const options = { runOnly: { type: 'tag', values: ['wcag2aa'] } }
const elemToTest = elem.selector
let results = browser.executeAsync(function (options, elemToTest, done) {
// run axe on our site
axe.run({
include: [[elemToTest]]
},function (err, results) {
if (err) done(err)
done(results);
});
}, options, elemToTest);