需要一些编写自动化测试的想法

本文关键字:自动化测试 | 更新日期: 2023-09-27 17:59:19

我正在VS2010中使用Selenium和C#编写一些单元测试。我有几个测试用例。例如,我的一些测试用例是:

  1. 启动网站:http://localhost:8080.验证登录页面是否存在。输入用户名和密码,然后登录。

  2. 检查"搜索"选项卡是否存在。单击"搜索"选项卡。验证"搜索图书"、"搜索图像"answers"搜索网站"选项卡是否存在。

  3. 单击"搜索图书"。键入"傻瓜C竖琴"。单击"搜索"。验证是否返回了适当的结果。

现在,我的问题是:为上面的每个测试用例创建单独的类是更好的主意,还是将它们组合到一个类中,只使用单独的方法更好?

所有三个测试用例都是相互关联的。我的意思是,执行#2需要#1先完成,#3需要#2先完成。如果我制作单独的类,我相信我需要在类#2中调用#1中的方法,并在类#3中调用#1和#2中的方法。

我不太确定什么是好主意。提前谢谢。

需要一些编写自动化测试的想法

如果您使用类似NUnit的东西来控制硒测试,那么点1可以在SetUp中,因为我们可以假设您的所有(或大多数)测试都需要登录才能执行任何操作。由于如果失败,所有的测试都会失败,所以实际上不需要独立的测试。

如果你考虑第2点和第3点之间的相互作用,就会有一些交叉,也会有一些独立的测试。

如果您考虑交叉测试(单击Search Books链接),第3点取决于第2点在运行之前要运行,因此没有必要进行两个单独的测试,如果测试2失败,那么测试3将始终失败。

在第2点中,您正在测试出现了三个链接,但在测试3中,您只点击了其中一个链接,因此第2点可能失败,但第3点成功,因此它们应该是单独的测试。,然而,点3并不完全取决于点2。

就个人而言,你有两个选择,如果你还要测试"搜索图像"answers"搜索网络",那么你根本不应该有第2点。链接可见性的断言和链接的点击都应该融入到第3点中。

如果你不打算测试"搜索图像"answers"搜索网络",那么有第2点就可以了。然而,测试3不应该调用点2的方法,因为它测试点3不关心的额外功能。它应该假设"搜索图书"链接在那里,并独立于第2点单击它。

如果测试是相关的,我会将它们保存在一个文件中,但这是基于您有多少测试的假设,因为我不希望只有一个文件包含大量测试,所以我会从逻辑上将相关测试放在单独的文件中。我不会对此感到太困惑,尤其是如果你现在没有太多测试的话。

你也可以试试WatiN作为硒的替代品。