Транспортир Javascript передать аргумент в выражении XPath - PullRequest
0 голосов
/ 27 августа 2018

Я использую Protractor для моих тестов автоматизации.У меня есть метод, который выбирает state:

this.selectState = function() {
    element(by.xpath('//*[@id="eligSelfDetails_selEligStateSlf"]/option[@value="Alabama"]')).click()
}

, и когда я использую этот метод, я хотел бы передать аргумент как state имя, подобное этому El.selectState("Alabama"), но как мне передатьмой аргумент в XPath?

Я пытался так:

this.selectState = function(state) {
    element(by.xpath('//*[@id="eligSelfDetails_selEligStateSlf"]/option[@value="\'+state+\'"]')).click()
}

, но это не работает.Выдает ошибку:

Ошибка: не найден элемент с использованием локатора: By(xpath, //*[@id="eligSelfDetails_selEligStateSlf"]/option[@value="'+state+'"])

1 Ответ

0 голосов
/ 27 августа 2018

Если вы хотите использовать конкатенацию строк ...

Измените

'//*[@id="eligSelfDetails_selEligStateSlf"]/option[@value="\'+state+\'"]'

на

"//*[@id='eligSelfDetails_selEligStateSlf']/option[@value='"+state+"']"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...