量角器和 oi.select 选项单击
protractor and oi.select options click
这是我的模板 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。谢谢
这是 select 按索引或按 value/string 时的示例代码。
将 selected 的 index/values 在一个数组中。
这样用户就可以 select 多个值。
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);
}
}
});
这是我的模板 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。谢谢
这是 select 按索引或按 value/string 时的示例代码。
将 selected 的 index/values 在一个数组中。
这样用户就可以 select 多个值。
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);
}
}
});