Можем ли мы запустить тестовый файл кипариса с входными данными в Node Js - PullRequest
0 голосов
/ 09 июля 2020

Я работаю над приложением 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...