Я пишу приемочные тесты, используя Selenium + WebdriverIO. И у меня есть некоторые проблемы с этим - я не могу перейти по этой ссылке
client.click('a[href=#admin/'+ transactionId + ']')
transactionId - это переменная, которая содержит ID транзакции. Мой HTML-код:
<div class="ui-data-table">
<thead>...</thead>
<tbody>
<tr><td class="tac">
<span class="tooltip" title="Transaction"><i class="icon-transaction"></i></span>
</td>
<td class="tac no-break">Today 10:23</td>
<td class="break-all"></td>
<td class="tac">
N/A
</td>
<td>Artem</td>
<td class="tac">
<span class="tooltip" title="Pending">
<i class="icon-clock"></i>
</span>
</td>
<td class="break-all">Artem Arsenowitch</td>
<td class="tac">
<a href="#admin/aceb3f65-4078-4f47-8850-95ac9135fad3"><i class="icon-arrow-circle-right"></i></a>
</td></tr>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
</tbody>
</div>
Каждый тег «tr» имеет ту же структуру, что и выше, и тег «a» с соответствующим идентификатором внутри атрибута href. Основная проблема заключается в этом коде:
('a[href=#admin/'+ transactionId + ']')
потому что он возвращается
(a[href=#admin/undefined])
Girish Sortur Спасибо за ответы, но я нашел только одно решение, используя этот код:
.getAttribute("p.tac", "transaction-id")
.then(function(attr){
transactionId = attr;
transactionURL = 'a[href="#admin/'+ transactionId + '"]';
})
.click('a[href="#admin"]')
.waitForExist("div.ui-data-table", 10000).then(function(){
client.click(transactionURL)//That is working now
})
no such element ("a[href="#admin/undefined"]")
, но должен возвращать что-то вроде("a[href="#admin/"665f5344-b4e8-44e3-ab51-893dcf7bcec1""]")
- person Arsenowitch   schedule 02.09.2015transactionId
? - person Girish Sortur   schedule 02.09.2015.waitForExist("p.tac", 10000) .getAttribute("p.tac", "transaction-id").then(function(attr){ transactionId = attr; }) .click('a[href="#admin"]') .waitForExist("div.ui-data-table", 10000) .click('a[href=#admin/'+ transactionId + ']')
Но когда я его запускаю - этот код возвращает undefined для переменной transactionId - person Arsenowitch   schedule 02.09.2015