AngularJS + Transferidor Como selecionar a opção suspensa com base no texto e não no valor
Quero clicar no item pelo seu texto e não pelo seu valor na caixa suspensa.
Encontrei este ótimo post:https://coderwall.com/p/tjx5zg mas não funciona conforme o esperado, a pesquisa continua para sempre após a correspondência ser encontrada e não está clicando no item,
se alguém tiver um exemplo melhor (um que funcione) ou puder consertar esse código e fazê-lo funcionar,
eu apperciate.
Este é o código Dan Haller do post usado (todos os direitos reservados a ele)
function selectOption(selector, item){
var selectList, desiredOption;
selectList = this.findElement(selector);
selectList.click();
selectList.findElements(protractor.By.tagName('option'))
.then(function findMatchingOption(options){
options.some(function(option){
option.getText().then(function doesOptionMatch(text){
if (item === text){
desiredOption = option;
return true;
}
});
});
})
.then(function clickOption(){
if (desiredOption){
desiredOption.click();
}
});
}
Esta é uma função de item selecionado que eu posso usar assim:
var browser = protractor.getInstance();
browser.selectOption = selectOption.bind(browser);
browser.selectOption(protractor.By.id('my-dropdown'), 'My Value');