May*_*aya 5 c# selenium automated-tests
我正在使用Selenium和C#在VS 2010中编写一些单元测试.我有几个测试用例.例如,我的一些测试用例是:
启动网站:http:// localhost:8080.验证登录页面是否存在.输入用户名和密码,然后登录.
检查是否存在"搜索"选项卡.单击"搜索"选项卡.验证标签搜索图书,搜索图像和搜索网络是否存在.
单击"搜索书籍".输入"C-Sharp for Dummies".单击搜索.确认返回适当的结果.
现在,我的问题是:为上述每个测试用例创建单独的类是一个更好的主意,还是将它们组合到一个类更好,并且只有单独的方法?
所有三个测试用例都是相互关联的.我的意思是,执行#2要求#1首先完成,#3要求#2首先完成.如果我创建单独的类,我相信我需要调用类#2中的#1中的方法,并调用类#3中的#1和#2中的方法.
我不太确定这对此有什么好主意.提前致谢.
如果您使用NUnit之类的东西来控制您的 selenium 测试,那么第 1 点可以位于 a 内SetUp,因为我们可以假设所有(或大多数)测试都需要登录才能执行任何操作。由于如果失败,所有测试都会失败,因此实际上不需要独立测试。
如果考虑第 2 点和第 3 点之间的相互作用,就会出现一些交叉并且存在一些独立测试。
如果您考虑交叉测试(单击“搜索图书”链接),则点 3 依赖于点 2 在运行之前运行,因此没有必要进行两个单独的测试,如果测试 2 失败,则测试 3 将始终失败。
在第 2 点中,您正在测试是否出现三个链接,但在测试 3 中,您仅单击其中一个链接,因此第 2 点可能会失败,但第 3 点会成功,因此它们应该是单独的测试。但是,第 3 点并不完全依赖于第 2 点。
就个人而言,您有两个选择,如果您还打算测试“搜索图像”和“搜索网页”,那么您根本不应该选择第 2 点。链接可见性的断言和链接的点击都应该合并到第 3 点中。
如果您不打算测试“搜索图像”和“搜索网页”,那么使用第 2 点就可以了。但是测试 3 不应该调用第 2 点的方法,因为它测试第 3 点不关心的额外功能。它应该假定“搜索图书”链接存在并独立于第 2 点单击它。
| 归档时间: |
|
| 查看次数: |
695 次 |
| 最近记录: |