Java 如何处理自填充列表的超时异常?

Java 如何处理自填充列表的超时异常?,java,webdriver,testng,Java,Webdriver,Testng,在我的申请中,如果我必须选择一所大学的名称,我只需要输入前三个字母(不少于这三个字母),它就会生成一个大学列表。现在的问题是,有时生成列表花费的时间太长,有时根本不生成列表,测试失败并出现TimeOutException错误。为了处理这个问题,我把它放在了一个试捕区,在捕捕区,我正在清除这些字母并将其重新输入到那个大学的盒子里。但这使得代码非常难看/笨重,并且不能确保放入内部捕获不会失败。 所以我想循环它直到成功,它将继续清除并输入Univ字母,直到它填充列表。为什么我要这样做,因为它是实时、手

在我的申请中,如果我必须选择一所大学的名称,我只需要输入前三个字母(不少于这三个字母),它就会生成一个大学列表。现在的问题是,有时生成列表花费的时间太长,有时根本不生成列表,测试失败并出现TimeOutException错误。为了处理这个问题,我把它放在了一个试捕区,在捕捕区,我正在清除这些字母并将其重新输入到那个大学的盒子里。但这使得代码非常难看/笨重,并且不能确保放入内部捕获不会失败。 所以我想循环它直到成功,它将继续清除并输入Univ字母,直到它填充列表。为什么我要这样做,因为它是实时、手动工作的(没有WebDriver/自动化)?这是正确的方法吗?如果不是,那么如何解决这个问题。如果是,如何使之成为可能? 我认为它可以这样工作:

#1 while (particular univ name is not visible)
#2 .clear
#3 .sendkeys first 3 letters
#4 wait till elelment is visble >> select >> pass
#5 if not visible >> repeat 2 & 3

我正在使用java在ubuntu上编写脚本。

建议需要等待一段时间。将.sendkeys与sleep分开。因此,可以正确地累积列表。 .sendkeys 睡觉 发送键 睡觉
sendkeys

我认为这不是一个正确的方法。这是应用程序中的一个bug

如果输入的数据不正确,并且没有匹配列表,那么这是唯一一种不应返回结果的情况。在这种情况下,您的验证是:结果不会返回,您可以自动执行


如果您有有效的数据,并且结果没有返回,那么我会将其视为一个应用程序错误,并与开发人员交谈。理想情况下,您不应该尝试在代码中处理,因为在这种情况下隐藏错误。

嗯,您是对的,但我不能报告它,因为它不可复制,它是间歇性发生的。有时没有清单,有时很快就会出现。因此,如果我想迭代它直到成功,我该如何做(不过与开发人员讨论这一点是肯定的)这没有什么不同,只是放了这么多的try-catch块,我想迭代它直到成功。如果你想做循环,只需将try-catch设置为“condition”。isVisible==true。对于sleep methode,您可以尝试在一个方法(void)中捕获它,并尽可能多地使用它…谢谢大家。我认为这种方法是不对的,在这里讨论我会得到更好的想法。但我不断重复直到成功。