2010-09-08 74 views
0

我在其中选择一个地图的一个区域,我们的产品 价格表的变化(取决于地图区域,大小等)的Assert.AreEqual()不能识别动态更新值

因此应用程序我测试,我使用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 2010-09-09 09:40:59

0

真的很简单的答案。

WaitForPageToLoad超时,因为脚本不会触发页面加载。

所以使用thread.Sleep(5000)为元素提供了刷新机会,然后执行Assert使其工作。