好的,也许我错过了一些东西,但是我真的看不到Selenium的意义。使用代码打开浏览器,使用代码单击按钮以及使用代码检查文本的目的是什么?我阅读了该网站,然后看到从理论上讲,自动对Web应用程序进行单元测试将是一件好事,但是最后,编写所有这些代码不仅需要花费更多的时间,而不仅仅是四处浏览并目视验证工作是否正常?
我不明白…
它允许您在“单元”测试框架中编写功能测试(问题是后面的命名)。
通过浏览器测试应用程序时,通常是在测试完全集成的系统。考虑到您已经在提交更改之前(烟熏测试)对其进行了测试,因此您不想一遍又一遍地手动进行测试。
真正令人高兴的是,您可以自动化烟雾测试,而质量检查可以增强这些效果。非常有效,因为它减少了重复工作,并使整个团队更加紧密。
ps作为您第一次使用的任何练习都具有学习曲线,因此通常第一次需要更长的时间。我还建议您查看Page Object模式,它有助于保持测试的清洁。
更新1: 请注意,测试还将在页面上运行javascript,这有助于测试高度动态的页面。另外请注意,您可以在不同的浏览器上运行它,因此可以检查跨浏览器的问题(至少在功能方面,因为您仍然需要检查外观)。
还要注意,随着测试所覆盖的页面数量的增加,您可以快速创建具有完整交互周期的测试。使用页面对象模式,它们看起来像:
LastPage aPage = somePage .SomeAction() .AnotherActionWithParams("somevalue") //... other actions .AnotherOneThatKeepsYouOnthePage(); // add some asserts using methods that give you info // on LastPage (or that check the info is there). // you can of course break the statements to add additional // asserts on the multi-steps story.
重要的是要了解您对此逐步进行。如果它是已构建的系统,则可以为正在使用的功能/更改添加测试。不断增加覆盖范围。改为手动,通常会隐藏您遗漏的测试内容,因此,如果您进行的更改会影响每个页面,并且您将检查一个子集(时间不允许),那么您就会知道实际测试过的内容以及质量检查可以从中进行那里(希望通过添加更多测试)。