1

请您指教,如何验证非角度网站搜索结果是否按排序顺序显示?

我试图在一个数组中捕获所有列出的项目,然后验证它们是否按排序顺序。但是无法将测试结果推送到数组中。请您查看以下代码片段并就此提出建议。

//element locator for all funds.
var fundingOpportunityList = element.all(by.css('#search-results-list li a article h3'));

//page object
var fundingOpportunityPage = function(){

this.checkFundingItemsSorted = function() {
        //temporary array to store results
         var temp = [];

        //check 10 funding opportunities shown in first pagination tab
        fundingOpportunityList.then(function(items) {
          //Following section working i.e. 10 items shown in each page.
          expect(items.length).toBe(10);  

        }); 

        //This section is not working, unable to save results in Array
        fundingOpportunityList.each(function(elem,index){
            //retrieve all funding opportunities and store in an array
              elem.getText().then(function (text) {
                expect(text).toMatch('junk');  //this line added for debugging
                temp.push(text);    //trying to push text into an array

            });


        }); 

        expect(temp.length).toBe(10);  //length shown as 0
        expect(temp).toEqual('hello'); 

    }

以下是测试结果输出。

1)测试网站-资金机会列表-检查资金列表是否按排序顺序显示消息:预期0为10。堆栈跟踪:错误:预期0为10。

2) 测试网站 - 资金机会列表 - 检查资金列表是否按排序顺序显示 消息:预期 [ ] 等于“你好”。Stacktrace:错误:预期 [] 等于“你好”。3) 测试网站 - 资助机会列表 - 检查资助列表是否按排序顺序显示 消息:预计 '15 for 2015' 匹配 'junk'。4) 测试网站 - 资助机会列表 - 检查资助列表按排序顺序显示 消息:预期“3Rs Prize”与“junk”匹配。5) 测试网站 - 资助机会列表 - 检查资助列表是否按排序顺序显示 消息:预期“3Rs 研究资助计划 - 项目资助”与“垃圾”匹配。

4

1 回答 1

0

而不是each(),使用map()

var fundingOpportunityList = element.all(by.css('#search-results-list li a article h3'));

var opportunities = fundingOpportunityList.map(function(elem) {
    return elem.getText();
});

expect(opportunities).toEqual(['hello1', 'hello2']); 
于 2015-06-05T21:50:18.080 回答