【问题标题】:How to execute for / while loop within Intern test case framework如何在实习生测试用例框架中执行 for / while 循环
【发布时间】:2015-02-20 11:41:55
【问题描述】:

如何在 Intern 测试用例框架中执行 for / while 循环?例如,我有一个下拉列表,我想浏览每个列表项,保存配置并重新进入配置页面以验证项目。

例子:

    'verify Project Status drop-down test': function () {

        var projStatusList = ['Draft','Active','Archived'];


        return remote

            // for loop
            .then(function(){
              for(var i=0; i < projStatusList.length; i++){
                //console.info('list item: ' + projStatusList[i]);

                // open list

                // select list item

                // save page

                // re-enter config page

                // verify correct selected list item after save

                }
            })

            .end();

    }, // complete test case

或者这个答案类似于中级问题'Writing better functional tests with Page objects'

注意:我意识到 2014 年 8 月有一个类似/重复的问题没有答案。

谢谢, 布拉德

【问题讨论】:

    标签: intern


    【解决方案1】:

    你可以这样做:

    'verify project status': function () {
        var projStatusList = [ 'Draft', 'Active', 'Archived' ];
        return projStatusList.reduce(function (chain, status) {
            return chain
                .findByCssSelector(<list>)
                .click()
                .end()
                .findByCssSelector(<list item>)
                .click()
                .end()
                .findByCssSelector(<save button>)
                .click()
                .end()
                .sleep(1000)
                .findByCssSelector(<list item>)
                .end();
        }, remote);
    }
    

    【讨论】:

    • chain 表示什么。
    • chain 是一个承诺链。链头是remote,传入reduce。 reduce 回调的每次调用都会扩展链。所以第一次调用reduce返回remote.findByCssSelector(&lt;list&gt;).click()...,第二次调用真的返回remote.findByCssSelector(&lt;link&gt;).click()...findByCssSelector(&lt;list&gt;).click()...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-23
    • 1970-01-01
    • 2018-07-28
    • 1970-01-01
    • 2014-02-15
    • 1970-01-01
    • 2021-12-25
    相关资源
    最近更新 更多