我已经使用selenium 2创建了测试,我也使用selenium独立服务器来运行测试。
问题是,如果我运行一个测试,它就可以了。如果我运行多个测试,其中一些测试失败。如果我尝试运行失败的测试,它就会起作用。
测试是否可以在线程上运行? 我使用了NUnit GUI和TeamCity来运行测试......两者都给出了相同的结果:不同的测试失败,再次运行,其他测试失败。
有什么想法吗?
修改
测试不应该相互依赖。每次测试都会清空并重新填充数据库。 我想唯一的问题可能是数据库没有正确清空......但是如果我多次运行相同的测试它也应该失败。
EDIT2
测试因“未找到元素”而失败。 我将尝试添加一个“WaitForElement”,每隔几毫秒重试一次,也许会修复它。
答案 0 :(得分:3)
不知道所引发的确切错误很难说。片状的正常原因往往是等待没有设置到合适的时间,或者Web服务器无法处理那么多请求。
如果数据库与网络服务器在同一台机器上,为什么它不应该在构建盒上,那么清除它可能是非常密集的。
我建议您仔细检查每个错误并使其成为防弹,然后转移到下一个错误。我知道在那里跑步的人一直都没有考试,所以它绝对是一个可以分类的环境因素。
答案 1 :(得分:1)
我知道我在这里参加派对有点晚了,但你是否正在使用一个窗口来运行测试?我有一个类似的问题,因为我正在测试的网站只有一个页面加载事件,所以等待元素或暂停测试变得非常狡猾,我每次都有不同的测试通过。在我为每个测试打开一个新的“干净”浏览器之前,添加大量的等待时间根本不起作用。测试确实变慢了,但它确实有效。