2010-09-08 2 views
0

У меня есть приложение, в котором вы выбираете область карты и наших цены продукта список изменений (в зависимости от зоны карты, размера и т.д.)Assert.AreEqual() не распознает динамически обновляются значениями

Так в моем test, я использую runScript() для вызова метода JS, лежащего в основе карты , обновление цен, и я делаю простую проверку цены, которая равна set ala Assert.AreEqual (priceValue, selenium.GetText (priceElement));

Я использую RC и C# для запуска тестов.

Проблема в том, что, когда я не запускаю тест с моей отладкой, включен, проверка цены не срабатывает.

Я уверен, что эта проблема является проверка выполняется до цена обновляется, однако, если я ставлю в selenium.WaitForPageToLoad() в любое значение времени ожидания.

Учитывая, что сценарий, который я вызываю, выбирает область на карте и обновляет цену плюс я могу видеть ее на экране, почему не могу мой тест?

ответ

1

Thread.sleep (5000) - Это не лучшая практика, потому что ваши тесты будут проходить медленно. Вам нужно попробовать waitForElementPresent лучше

+0

Да, мне не понравился вариант thread.sleep, поэтому используйте selenium.WaitForCondition ("selenium.getText ('price2048')! = '--.--'", "60000"); вместо. – DazManCat

0

Простой ответ на самом деле.

WaitForPageToLoad не работает, поскольку скрипт не вызывает загрузку страницы.

Таким образом, используя thread.Sleep (5000) дает элементу возможность обновиться, а затем Assert получил его работу.

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