Testcafe - заполнить поле ввода на основе выпадающего списка - PullRequest
0 голосов
/ 20 апреля 2020

Я ни в коем случае не эксперт по Javascript, а просто разбираюсь в тестовом кафе, которое мне действительно нравится.

Однако в качестве простого теста я пытаюсь заполнить поле ввода на основе того, что было выбрано из выпадающего списка. На самом деле это поле заголовка, поэтому Mr, Mrs и т. Д. c .. Основываясь на том, что если выбрано «Mr», заполните имя мужчины. Если 'Mrs', то заполняется будет женское имя.

Однако я не могу прочитать выбранное значение после того, как оно было выбрано для передачи в мой оператор If ... else, и оно всегда переходит к последней опции по умолчанию , Кто-нибудь может мне помочь?

Мой код:

import { Selector } from 'testcafe';

const TitleSelect = Selector('#title');
const TitleOption = TitleSelect.find('option');
const FirstName = Selector('#firstname');

fixture `Getting Started`
.page //any page with a Title dropdown and Firstname input field;

test('My first test', async t => {
await t
    .click(TitleSelect)
    .click(TitleOption.withText('Mrs'))

    if (TitleOption === 'Mr') {
        await t
        .wait(1000)
        .typeText(FirstName, "Wayne")

    } else if (TitleOption === 'Mrs') {
        await t
        .wait(1000)
        .typeText(FirstName, "Waynetta")

    } else {
        await t
        .typeText(FirstName, "something else");
    } 

    await t
    .takeScreenshot({
        path: 'If_else_statment.jpg',
        fullPage: true
      })
    .wait(2000)   
    ;        
  });

1 Ответ

2 голосов
/ 21 апреля 2020

Вы можете использовать следующий код для получения состояния входа:

const value = await TitleSelect.value;

Для получения дополнительной информации, пожалуйста, обратитесь к https://devexpress.github.io/testcafe/documentation/test-api/selecting-page-elements/selectors/using-selectors.html#obtain -element-state

...