2012-02-02 50 views
3

我已经使用硒2创建了测试,我还使用硒独立服务器来运行测试。硒测试有时会失败,有时会通过

问题是,如果我运行一个测试,它的工作。如果我运行多个测试,其中一些失败。如果我尝试然后运行失败的测试,它就会起作用。

测试是否可以在线程上运行? 我已经使用NUnit GUI和TeamCity来运行测试...都给出相同的结果:不同的测试失败,再次运行,其他测试失败。

有什么想法?

编辑

测试不应该依赖于彼此。数据库被清空并重新填充每个测试。 我想唯一的问题可能是数据库没有正确清空......但如果我多次运行相同的测试,它也应该失败。

EDIT2

测试失败,出现 “未找到元素”。 我会尝试添加一个“WaitForElement”,每隔几毫秒重试一次,也许这会修复它。

+0

测试的性质是什么?他们线程安全吗?彼此依赖? – Randy 2012-02-02 16:57:12

回答

3

不知道被抛出的确切错误难以说出。片状的正常原因往往是等待时间没有设置到适当的时间,或者Web服务器无法处理那么多的请求。

如果数据库与网络服务器位于同一台机器上,为什么它不在构建盒中,则可以密集清除它。

我会建议仔细检查每一个错误,并为此做出防弹,然后转移到下一个。我知道那些在那里跑步的人总是没有片面地测试,所以它肯定是一种可以排序的环境因素。

+0

感谢您的回答,测试失败,出现“找不到元素” – sirrocco 2012-02-03 09:51:08

+0

然后,您的测试对于正在加载的页面运行得太快。 – AutomatedTester 2012-02-03 11:52:13

+0

有没有办法在全球范围内增加延迟?在硒? – sirrocco 2012-02-03 12:03:08

1

我知道我在这里参加派对有点迟,但是您使用单个窗口来运行测试吗?我有一个类似的问题,因为我测试的站点只有一个页面加载事件,所以等待元素或暂停测试变得非常狡猾,我每次都有不同的测试通过。除非我为每个测试打开一个新的“干净”浏览器,否则添加大量的等待时间根本不起作用。测试确实变慢了,但它工作。