2016-01-15 2 views
0

Я очень новичок в транспортиртере и тестировании приложений .NET. Я пытаюсь создать скрипт автоматизации тестирования с нуля. Ниже HTML:Как проверить веб-формы asp.net (не угловые) с помощью Protractor?

<div class = "top"> 
<span id = "welcome"> 
<em>Hi</em> 
"," 
<strong> 
<span id = "user">MyName</span></strong> 
"|" 
</span>' 

Мой транспортир код:

var greet = element(by.id('user')); expect(greet.getText()).toBe('MyName'); 

Я уже сделал этот код:

var greet = element(by.id('welcome')).element(by.id('user')); 
expect(greet.getText()).toBe('Hi, MyName'); // or toEqual("Hi, MyName"); 

Но я все еще получаю сообщение об ошибке, говорящее

Не удалось: ни один элемент не найден с использованием локатора: by.id ("welcome")

или

Ошибка: Нет элемент найден с помощью локатора: by.id ("пользователь")

В надежде услышать от всех опытных тестеров транспортира.

+0

ли вы какой-либо IFrame элементов на странице? – alecxe

+0

@alecxe Я не вижу никаких элементов iframe на веб-странице. я вижу ajaxsetup, jquery. Я не уверен, связано ли это с ними? – Marj

ответ

1

Это действительно похоже на проблему с синхронизацией. Давайте попробуем засады элемент стать настоящей:

var EC = protractor.ExpectedConditions; 
var greet = element(by.id('user')); 

browser.wait(EC.presenceOf(greet), 5000); 

expect(greet.getText()).toBe('MyName'); 
+0

ничего себе, спасибо! это сработало! Я увеличил его до 20000. Могу ли я также использовать это приложение, основанное на угловом? – Marj

+0

@Marj, если есть проверенное угловое приложение, обычно нет необходимости в явных ожиданиях, поскольку транспортир держит вещи в синхронизации с угловыми и знает, когда она будет готова. Иногда, хотя ожидания нужны. – alecxe

+0

есть. У меня был один тестовый скрипт, который периодически срабатывает, и даже если я должен был на него ждать, он все равно не работает из-за не найденного элемента. – Marj

Смежные вопросы