当我从命令行与实习生一起运行功能测试并且它失败时,几乎不可能看到它失败的测试的行号。我得到的只是一堆内部模块的堆栈跟踪:
其他人如何解决这个问题?我真的必须在测试运行时观察它并尝试猜测它失败的地方吗?
当我从命令行与实习生一起运行功能测试并且它失败时,几乎不可能看到它失败的测试的行号。我得到的只是一堆内部模块的堆栈跟踪:
其他人如何解决这个问题?我真的必须在测试运行时观察它并尝试猜测它失败的地方吗?
抱歉,我们现在使用的几个底层库在提供可靠的错误信息和将完整的堆栈跟踪记录回测试模块方面并不是很好。这是我们希望在未来改进的东西,但可能需要一些重写才能停止使用这些外部组件。
如果您从 Selenium 服务器收到错误响应,最好的办法是查看服务器的命令日志。他们将向您显示当时正在执行的命令,并提供有关导致它失败的原因的更多详细信息。假设您的测试具有适当的单元大小,那么查看哪个命令无法正常工作应该相当简单。
在这种情况下,错误 7是找不到元素的错误,因此您可能正在elementBy*
为页面上不存在的元素调用方法,或者您elementBy*
在命令链中调用了较早的方法并且没有完成使用后调用end
,以便您的代码尝试在旧元素中搜索新元素。