我在使用while循环执行一系列BDD步骤时遇到问题。 目标是回答我正在测试的网络应用程序提出的所有问题。
在用户开始回答问题之前,从应用程序获得了总问题。选择答案后,下次单击索引增量。
由于时间问题,这是一个巨大的痛苦。 Thread.Sleep不是一个选项。
我认为使用Polly它不会增加索引,直到两次点击都成功。事实并非如此,我的测试场景很糟糕。
任何想法或建议都将深表感谢。谢谢!
var policy = Policy.Handle<WebDriverException>()
.WaitAndRetry(3, retryAttempt =>
TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)),
(exception, timeSpan) =>
{
Console.WriteLine("Encountered exception {0}",exception.Message);
});
while (index <= totalQuestions)
{
Console.WriteLine(index);
policy.Execute(() => Control<Label>("Choice 1", "DashboardNavigator").ClickByJS());
policy.Execute(() => Control<Label>("Siguiente", "DashboardNavigator").ClickByJS());
index++;
}
在所有问题都得到解答之前,索引就会跑掉,而while循环会中断。