Какую функцию вы используете, чтобы подождать несколько секунд, прежде чем запускать следующий шаг в транспортир. У меня есть диапазон с текстом, и я хочу дождаться, когда текст будет изменен из внешнего источника, прежде чем я его снова проверю.подождите несколько секунд, прежде чем запускать следующий шаг. Protractor
HTML:
<div class="panel">
<button type="submit" onclick="promptTransaction()">Load Transaction</button>
<button type="submit" onclick="handleMessage()">Post Message</button>
<select name="messageType" class="messageType">
<option>Submit</option>
<option>Amount</option>
</select>
<div class="message-box"><b>Sending message to hosted page:</b><span class="message-out">waiting...</span></div>
<div class="message-box"><b>Receiving message from hosted page:</b><span class="message-in">waiting...</span></div>
</div>
так, когда я нажимаю кнопку «пост» сообщение, я должен получить новый текст от внешнего источника и изменить интервал с именем класса "сообщение-в.
В настоящее время мой тест выглядит следующим образом:
element(by.cssContainingText('button','Post Message')).click().then(function() {
//WAIT FOR 10 seconds
element(by.css('.message-box .message-in')).getText().then(function (text) {
var response = JSON.parse(text);
expect(response.type).toBe('msax-cc-result');
expect(response.value.Transaction).toBe('Tokenize');
expect(response.value.CardToken).not.null();
})
});
Кроме того, в тексте результата, который возвращается из внешнего источника, я преобразовал его в объект JSON, но не может, так как есть «\» на нем есть способ удалить его, прежде чем преобразовать его в объект.
прошли данные:
{"type":"msax-cc-result","value":"{\"Transaction\":\"Tokenize\",\"CardToken\":\"ba9c609f-45fc-49aa-b8b2-ecaffbc56d43\"}"}
Возможный дубликат [В тесте для протранграфа есть способ подождать между тестовым прогоном] (http://stackoverflow.com/questions/25301587/in-protractor-test-is-there-a-way-to-wait -between тест-прогон) – SlashmanX