从 testcafe 中打开的第 N 个模式中选择 OK 按钮

时间:2023-04-21
本文介绍了从 testcafe 中打开的第 N 个模式中选择 OK 按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

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

I open two modals in my testing, and I want to be able to click on the "OK" button in the second modal (the second selected element in the below 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 如下.我正在尝试选择第二个确定按钮:

The html I'm working with is the following. I'm trying to select the second OK button:

推荐答案

你尝试使用 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');

这篇关于从 testcafe 中打开的第 N 个模式中选择 OK 按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:如何使用 Selenium IDE 为自动完成 ul 单击指定的 li? 下一篇:如何用量角器或硒测试@media print?

相关文章