Как напечатать строковое значение объекта страницы в Testcafe? - PullRequest
0 голосов
/ 15 октября 2018

Я хочу напечатать строковое значение переменной, которую я найду на веб-странице, используя testcafe console.log.Я пытаюсь получить текстовое значение объекта, который я идентифицирую с помощью селектора (frameSizetext ниже).Сценарий выполняется, и метод .contains () проверяет, что он содержит текст, который я проверяю, но я также хотел бы вывести текстовое значение на консоль, что поможет легче отлаживать сценарии.

 `test('Test ==> Check size details are listed for article ', async t 
=> {

const form = main.searchForm
const list = main.sunglassesList
const firstRow = list.getRowByIndex(0)
const articlesList = main.articlesList
const frameSizeText = articlesList.frameSize.innerText

    await t
    .wait(1000)
    .typeText(form.searchField, '44444')
    .click(form.submitButton)
    .expect(main.sunglassesList.list.innerText)
    .contains('SKODA Bar')
    .click(firstRow.element)
    .expect(frameSizeText, 'Text matches ' +frameSizeText)
    .contains('44/22-144', 'checking framesize text')

   console.log("[DEBUG], Framesize is detailed as:" 
    +frameSizeText.toString())

   })`



 ✓ Test ==> Check frame color is detailed for article 
 [DEBUG], Framesize is detailed as:[object Object]
 ✓ Test ==> Check size details are listed for article 

Текст, который я ищу, в настоящее время распечатывается как «[объект объекта]», см. Выше.Как напечатать строковое значение этого объекта?

Ответы [ 2 ]

0 голосов
/ 02 июля 2019

Вы пробовали использовать await?

fixture `Sample Test`
.page `https://devexpress.github.io/testcafe/example/`

test('Sample test', async t => {
await t
const sometext = await Selector('#main-form > div > div.row > div.column.col-1 > fieldset:nth-child(1) > legend').innerText;
console.log('sometext   -- ' + sometext);
})
0 голосов
/ 15 октября 2018
console.log("[DEBUG], Framesize is detailed as:", frameSizeText)

должен сделать свое дело.

Чтобы получить строковое представление сложного объекта, вы можете использовать функцию JSON.stringify.

...