【问题标题】:Cycle through test data from within a Testcafe test? How to?循环浏览 Testcafe 测试中的测试数据?如何?
【发布时间】:2021-04-20 20:32:11
【问题描述】:

我想登录一个应用程序,从测试数据中运行几次搜索,然后退出。我不想为数据集中的每个项目登录和退出,如果我这样编码就会出现这种情况......

dataSet.forEach(数据 =>{ test('搜索测试', async t => {......

我希望能够...

test('搜索测试', async t => {...... foreeach(数据集中的数据) 调用函数进行搜索 调用一个函数来验证搜索返回。

这样的……

test('Simple Search Test', async t => {
    //await t       
    await loginPage.login(loginName, password);
    await t
        .expect(getURL()).contains('home')

        // Check logged in user display...
        .expect(pageHeader.userName.withText(data.loggedInUser).visible).ok()

        dataSet.forEach(data =>{               
            leftSidebar.searchWithCriteria(data.criteria, 'Filename');
            recordNav.verifyTotal(data.srchresult);  
        });
       
    // Log out
    await pageHeader.logout();
    await t
        .expect(loginPage.copyRight.visible).ok(); 
});
enter code here

我已经尝试了所有方法,但无法正常工作。这是可能的,还是必须为集合中的每个数据记录运行整个测试?

【问题讨论】:

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


    【解决方案1】:

    TestCafe 允许您以任何方式循环测试代码,包括遍历自定义数据。

    为了帮助我们确定为什么这对您不起作用,请提供一个我可以在我的机器上运行的示例(包括测试代码、页面对象和测试页面的 URL)。

    【讨论】:

    • 我发布的是示例。我不想将整个测试块包装在 foreach 中,而是想在单个测试中循环浏览一些数据。因此,上述测试将登录一次,然后循环遍历数据而不是登录,对数据集中的第一项运行测试,注销,登录,对数据集中的第二项运行测试,等等。
    【解决方案2】:

    我用这个让它工作了......

    for (var i = 0; i < dataSet.length; i++){
        leftSidebar.searchWithCriteria(dataSet[i].criteria, 'Filename');
        recordNav.verifyTotal(dataSet[i].srchResult);
    }
    

    【讨论】:

      猜你喜欢
      • 2018-12-10
      • 2020-06-03
      • 1970-01-01
      • 2019-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-08
      • 1970-01-01
      相关资源
      最近更新 更多