Я работаю над приложением Node Js и хочу запустить кипарисовый тест после вызова API узла. возможно ли это в Node Js и кипарисе.
код файла сервера
const express = require('express')
const cypress = require('cypress')
const app = express()
const testModel = [
{ xpath:'//*[@id="email"]',action:"type", value:'habbas@devfactori.com'},
{ xpath:'//*[@id="password"]',action:"type", value:'HELLOADMIN'},
{ xpath:'//*[@id="login"]/div/div/div/div/div[2]/div/form/div[4]/div/button',action:"click",
value:''},
]
app.post('/firstTest',async (req, res) => {
cypress.run({
spec: './cypress/integration/test.spec.js',
})
.then((response) => {
console.log(response)
})
.catch((err) => {
console.log(err)
})
})
app.listen(3000);
Cypress spe c код файла
<reference types="cypress" />
require('cypress-xpath')
const testModel = [
{ xpath:'//*[@id="email"]',action:"type", value:'hello@admin.com'},
{ xpath:'//*[@id="passwords"]',action:"type", value:'HELLOADMIN'},
{ xpath:'//*[@id="login"]/div/div/div/div/div[2]/div/form/div[4]/div/button',action:"click",
value:''},
]
describe('First test suite', () => {
it('First test', () => {
cy.viewport('macbook-15')
cy.visit('https://testsite.com')
testModel.forEach(element => {
if(element.action === 'type') {
cy.xpath(element.xpath).type(element.value)
} else if(element.action === 'click') {
cy.xpath(element.xpath).click({force:true})
}
cy.screenshot()
})
})
})
Когда я запускаю свой node app и нажмите этот (/ firstTest) API, файл test spe c запустит выполнение, видео и скриншоты, созданные в папке. Я хочу ввести массив testModel в этот файл spe c. Есть ли способ ввести некоторые значения при запуске файла spe c из маршрута в кипарисе и Node js.