TestCafe - 您可以将 ctx(上下文)变量传递给记者吗?
TestCafe - Can You Pass ctx (Context) Variables to reporter?
我想知道我是否有像 t.ctx.data
这样的上下文变量,是否有办法将 t.ctx.data
的值写入 TestCafe JSON 报告器(或任何记者)?
我的代码:
// Called within Express.js by a request coming from req
const testMySite = (req, res) => {
process.env.PARAMS = JSON.stringify(req.body)
let testcafe = null;
console.log(`Running test on ports 1341 and 1342`)
createTestCafe('localhost', 1341, 1342, void 0, true)
.then(tc => {
testcafe = tc;
const runner = testcafe.createRunner()
return runner
.src(`${path.dirname(__filename)}/tests/gisTest.js`)
.browsers('firefox:headless')
.reporter('json', 'report.json')
.run()
})
.then(failedCount => {
testcafe.close()
})
res.json({message: `Success! Scraper has begun to process ${req.body}`});
}
我的测试代码:
import { ClientFunction, Selector } from 'testcafe';
const doc = process.env.PARAMS
const newDoc = JSON.parse(process.env.PARAMS)
console.log(`newDoc (from test)`, newDoc)
// const _id = newDoc._id
let data = newDoc.mydata
fixture `My Fixture`
.page('https://www.mysite.co')
.afterEach(async t => {
await t
// how do I get t.ctx.myData into the reporter??
console.log(`t.ctx.myData: `, t.ctx.myData)
})
test(`My Test`, async t => {
const photoIcon = Selector('div#sbtc div.LM8x9c > span')
const photoFieldForPaste = Selector('input#Ycyxxc')
const searchByImageButton = Selector('td#aoghAf > input')
const targetElement = Selector('div#jHnbRc span:nth-child(2) > a')
await t
.wait(1000)
.click(photoIcon)
.typeText(photoFieldForPaste, data, {paste: true})
.click(searchByImageButton)
if(await targetElement.exists && await targetElement.visible) {
await t.ctx.finalData = targetElement.innerText;
}
await t.ctx.finalData = null;
})
请参阅// how do I get t.ctx.myData into the reporter??
部分。
我假设这是我唯一可以将测试数据输入报告器的地方,但我不确定具体方法。
如果您知道如何将上述代码中显示的 t.ctx.myData 变量写入 JSON 记者,我将不胜感激。
更好的方法是将 t.ctx.myData 值发送到响应中。
目前,您只能向测试和固定装置添加静态元数据。此元数据在报告中可用。详情请参考以下文章:https://devexpress.github.io/testcafe/documentation/guides/basic-guides/organize-tests.html#specify-test-metadata
关于向记者发送动态数据,我们牢记这一点,但我们无法对此做出任何估计。请跟踪以下问题:https://github.com/DevExpress/testcafe/issues/3584
我想知道我是否有像 t.ctx.data
这样的上下文变量,是否有办法将 t.ctx.data
的值写入 TestCafe JSON 报告器(或任何记者)?
我的代码:
// Called within Express.js by a request coming from req
const testMySite = (req, res) => {
process.env.PARAMS = JSON.stringify(req.body)
let testcafe = null;
console.log(`Running test on ports 1341 and 1342`)
createTestCafe('localhost', 1341, 1342, void 0, true)
.then(tc => {
testcafe = tc;
const runner = testcafe.createRunner()
return runner
.src(`${path.dirname(__filename)}/tests/gisTest.js`)
.browsers('firefox:headless')
.reporter('json', 'report.json')
.run()
})
.then(failedCount => {
testcafe.close()
})
res.json({message: `Success! Scraper has begun to process ${req.body}`});
}
我的测试代码:
import { ClientFunction, Selector } from 'testcafe';
const doc = process.env.PARAMS
const newDoc = JSON.parse(process.env.PARAMS)
console.log(`newDoc (from test)`, newDoc)
// const _id = newDoc._id
let data = newDoc.mydata
fixture `My Fixture`
.page('https://www.mysite.co')
.afterEach(async t => {
await t
// how do I get t.ctx.myData into the reporter??
console.log(`t.ctx.myData: `, t.ctx.myData)
})
test(`My Test`, async t => {
const photoIcon = Selector('div#sbtc div.LM8x9c > span')
const photoFieldForPaste = Selector('input#Ycyxxc')
const searchByImageButton = Selector('td#aoghAf > input')
const targetElement = Selector('div#jHnbRc span:nth-child(2) > a')
await t
.wait(1000)
.click(photoIcon)
.typeText(photoFieldForPaste, data, {paste: true})
.click(searchByImageButton)
if(await targetElement.exists && await targetElement.visible) {
await t.ctx.finalData = targetElement.innerText;
}
await t.ctx.finalData = null;
})
请参阅// how do I get t.ctx.myData into the reporter??
部分。
我假设这是我唯一可以将测试数据输入报告器的地方,但我不确定具体方法。
如果您知道如何将上述代码中显示的 t.ctx.myData 变量写入 JSON 记者,我将不胜感激。
更好的方法是将 t.ctx.myData 值发送到响应中。
目前,您只能向测试和固定装置添加静态元数据。此元数据在报告中可用。详情请参考以下文章:https://devexpress.github.io/testcafe/documentation/guides/basic-guides/organize-tests.html#specify-test-metadata
关于向记者发送动态数据,我们牢记这一点,但我们无法对此做出任何估计。请跟踪以下问题:https://github.com/DevExpress/testcafe/issues/3584