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