Assert.AreEqual()无法识别动态更新的值

时间:2010-09-08 11:44:51

标签: selenium selenium-rc

我有一个应用程序,您可以在其中选择地图区域和我们的区域 产品价格表变化(取决于地图区域,大小等)

所以在我的测试中,我使用runScript()来调用底层的JS方法 地图,价格更新,我做了一个简单的价格检查 设置ala Assert.AreEqual(priceValue,selenium.GetText(priceElement));

我使用RC和C#来运行测试。

问题是当我不通过调试运行测试时 开启价格检查失败。

我很确定问题是在价格之前运行检查 但是如果我放入了selenium.WaitForPageToLoad(),那就更新了 无论它超时的价值。

鉴于我调用的脚本选择了地图上的区域并进行更新 价格加我可以在屏幕上看到为什么我的测试不能?

2 个答案:

答案 0 :(得分:1)

Thread.sleep(5000) - 这不是最佳做法,因为您的测试运行缓慢。 你应该尝试更好的waitForElementPresent

答案 1 :(得分:0)

真的很简单。

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

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