Возможно, есть лучший подход к этой проблеме, но ниже от моей мысли.Если количество defect Id
записей меньше и является статическим, я имею в виду из таблицы, вы, вероятно, могли бы передать эти идентификаторы дефекта в массив и вернуть defect id
случайным образом.
Опция: 1 У меня есть файл sample.js
в папке /support
, в который я добавил функцию randomDefectId
.
module.exports ={
randomDefectId: function(){
var defect= ['10756', '10780', '19001', '21007', '25001', '27001'];
var item = defect[Math.floor(Math.random()*defect.length)];
return item;
}
}
Затем яимпортировать их в мою тестовую спецификацию
var rand = require('../../support/sample.js');
Ниже приведен мой тест, где я получаю rand.randomDefectId()
в const
ranNumber
describe('Get the defect id', function(){
it('Check whether the defect id', function(){
const ranNumber = rand.getRandomNumber();
cy.visit('/');
console.log("Some number:"+ranNumber );
cy.get('#tableID>tbody>tr>td').contains(ranNumber).click()
// rest of the test step continues here...
})
})
Опция:2 Но если внутри таблицы большой список defect id
, вам нужен динамический способ получения идентификатора дефекта, я не пробовал приведенный ниже скрипт, но вы можете попробовать ...
randomDefectId: function(){
let table = undefined;
Cypress.$("#tableID>tbody>tr").each(function() {
var newArr = Cypress.$(this).find("td:last-child").html();
table = newArr;
});
return table;
}
Если есть лучший способ добиться этого, я хотел бы узнать и поделиться