【问题标题】:Testcafe - Populate input field based on dropdown selectionTestcafe - 根据下拉选择填充输入字段
【发布时间】:2023-03-21 23:57:01
【问题描述】:

无论如何,我都不是 Javascript 方面的专家,只是在我非常喜欢的 testcafe 中转转。

但是,作为一个简单的测试,我尝试根据从下拉列表中选择的内容填充输入字段。真的很简单,它是一个 Title 字段,所以是 Mr、Mrs 等。根据是否选择了“Mr”,然后用男性姓名填充。如果是“夫人”,则填写女性姓名。

但是,一旦选择了要传递给我的 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)   
    ;        
  });

【问题讨论】:

    标签: javascript testing automated-tests e2e-testing testcafe


    【解决方案1】:

    您可以使用以下代码获取输入的状态:

    const value = await TitleSelect.value;
    

    更多信息请参考 https://devexpress.github.io/testcafe/documentation/test-api/selecting-page-elements/selectors/using-selectors.html#obtain-element-state

    【讨论】:

    • 非常感谢,我已经查看文档很长时间了,但是我的测试却没有 const。现在搬进去了,现在可以按预期工作了,再次感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-21
    • 2017-08-03
    • 1970-01-01
    • 2015-08-12
    • 1970-01-01
    • 1970-01-01
    • 2012-02-25
    相关资源
    最近更新 更多