2017-05-09 62 views
1

這是我的oi.select的模板html。量角器和oi.select選項點擊

<oi-select class="oi-select" 
    oi-options="group.name for group in groups track by group._id" 
    multiple placeholder="" ng-model="selectedGroups"> 
</oi-select> 

我試着在test.js

element(by.model('selectedGroups')).click().then(function() { 
    element.all(by.repeater("(group, options) in groups")) 
     .then(function (guests) { 
      guests[0].click(); 
     }); 
}); 

只點擊一個選項下面的代碼。 guests[0].getText()給出所有組名稱標籤。如果你之前解決它,請幫助我。我嘗試了很多select的例子,但沒有找到具體的oi.select。謝謝。

+0

有什麼問題,你有什麼,因爲如果我看https://tamtakoe.github.io/oi.select/並創建一個例子測試我能打開選擇並選擇一個選項。 – wswebcreation

+0

你想要點擊所有可用選項嗎? –

+0

@wswebcreation是的,我只能選擇一個選項。這就像隨機。 –

回答

0

以下是通過索引或值/字符串進行選擇時的示例代碼。
將要選擇的索引/值位於數組內。
以便用戶可以選擇多個值。

describe('test', function() { 
    var arrIndex = [2, 0]; 
    var arrString = ['jeans', 'belt']; 
    var elmModel = element(by.model('query')); 

    it('open browser', function() {  
     browser.get('https://tamtakoe.github.io/oi.select/#/select/#multiple'); 
    }); 

    it('test index', function() {  
     browser.get('https://tamtakoe.github.io/oi.select/#/select/#multiple'); 
     var elmRptr = element.all(by.repeater('option in options')) 
     selectByIndex(0, arrIndex, elmRptr); 
    }); 

    it('test string', function() {  
     selectByString(0, arrString); 
    }); 

    function selectByString(i, arrTemp) { 
     if (i < arrTemp.length) { 
      elmModel.click(); 
      var elmString = element(by.cssContainingText('[ng-repeat="option in options"]', arrTemp[i])); 
      elmString.click(); 
      selectByString(i + 1, arrTemp); 
     } 
    } 

    function selectByIndex(i, arrTemp, elmTemp) { 
     if (i < arrTemp.length) { 
      elmModel.click(); 
      elmTemp.get(arrTemp[i]).click(); 
      selectByIndex(i + 1, arrTemp, elmTemp); 
     } 
    } 
}); 
+0

感謝您的時間。太奇妙了。它適合我的項目。 –