我在测试中打开了两个模态,我希望能够单击第二个模态(以下html中的第二个所选元素)中的“确定”按钮。

我当前的代码是:

import { waitForReact } from 'testcafe-react-selectors';
import { Selector } from 'testcafe';

fixture `App tests`
    .page('http://localhost:3000/')
    .beforeEach(async () => {
        await waitForReact();
    });

test('Can open and accept all pop ups', async t => {

    //open first modal
    await t
        .click('#LayerAddingPopUpButtonID');

    //select OK button from first modal
    const modalOKButton = Selector('div.ant-modal')
        .find('div.ant-modal-footer')
        .find('button.ant-btn-primary');

    //click OK button from first modal
    await t
        .expect(modalOKButton.with({visibilityCheck: true}).exists)
        .ok({timeout: 30000})
        .hover(modalOKButton)
        .click(modalOKButton);

    //open second modal
    await t
        .click('#LayerDeletingPopUpButtonID');

    //select OK button from second modal
    const secondModalOKButton = Selector(??);
});


我正在使用的html如下。我正在尝试选择第二个“确定”按钮:

javascript - 从在testcafe中打开的第N个模式中选择“确定”按钮-LMLPHP

最佳答案

您是否尝试使用nth

const modalOKButton = Selector('div.ant-modal').nth(1)
        .find('div.ant-modal-footer')
        .find('button.ant-btn-primary');


或者尝试通过aria-labelledby使用选择器

const modalOKButton = Selector("[aria-labelledby='rcDialogTitle1']")
        .find('div.ant-modal-footer')
        .find('button.ant-btn-primary');

关于javascript - 从在testcafe中打开的第N个模式中选择“确定”按钮,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55364138/

10-10 00:42