J'essaie de valider l'ensemble des éléments du tableau et je veux renvoyer le tableau sous forme de tableau, puis accéder à chaque élément.
Réponse
Trop de publicités?
aleks-pro
Points
1364
Veuillez consulter l'exemple suivant qui montre comment utiliser TestCafe pour vérifier l'état d'une table :
import { Selector, ClientFunction } from 'testcafe';
fixture `fixture`
.page `https://jsfiddle.net/gv69jqrx/1/`;
test('Obtain array', async t => {
await t
.switchToIframe(Selector('#editor').find('[name="result"]'));
const getCountries = ClientFunction(() => {
const countries = [];
const columnKeys = ['country', 'capital', 'population', 'language'];
const rows = document.getElementsByTagName('tr');
for (let i = 0; i < rows.length; i++) {
const cells = rows[i].getElementsByTagName('td');
const country = {};
if (!cells.length) continue;
for (let j = 0; j < cells.length; j++)
country[columnKeys[j]] = cells[j].textContent;
countries.push(country);
}
return countries;
});
await t
.expect(getCountries()).eql([
{
country: 'USA',
capital: 'Washington, D.C.',
population: '309 million',
language: 'English'
},
{
country: 'Sweden',
capital: 'Stockholm',
population: '9 million',
language: 'Swedish'
}
]);
});
Si votre scénario est différent, décrivez-le plus en détail. Le code de test et l'exemple de page de test seraient très utiles.