在更新'之后推迟硒测试步骤linq查询

时间:2016-09-15 15:17:43

标签: linq selenium-webdriver

我正在使用c#处理selenium。在测试脚本中,我需要重置数据库中未完成的帐户余额,然后通过UI购买交易,看到UI上显示的最终余额减少了。 我运行了更新linq查询,在接下来的步骤中,我编写了代码来购买产品和结帐。此测试用例在调试模式下传递但在运行模式下失败。在运行测试用例时,最终的平衡不会减少,而在调试测试用例时它会减少。问题是什么。

1 个答案:

答案 0 :(得分:0)

您可以设置标准等待时间,但是您可能会发现等待的时间太长,使您的测试停滞不前,或者如果您的服务器速度变慢,您的测试将会失败。

尝试循环检查是否已进行更新:

var iterationCount = 10;
var iterationWaitTime = 250;
var hasChanged = false;
var currentValue = /*get current value*/;
var i = 0;

while (!hasChanged && i++ < iterationCount)
{
    var newValue = /*get new value*/;

    hasChanged = object.Equals(currentValue, newValue);
    currentValue = newValue;
}

Assert.IsTrue(!hasChanged && i++ < iterationCount, "No update detected");

/* do test on currentValue here */

(P.S。这是徒手的,所以可能不完全正确)

相关问题