【问题标题】:Selenium Webdriver Testing Framework SetupSelenium Webdriver 测试框架设置
【发布时间】:2014-07-26 19:11:00
【问题描述】:
我是 Selenium Web 驱动程序自动化爱好者,刚刚开始学习(我没有编程背景)。我已经完成了通过 Eclipse 使用 Selenium 运行测试所需的初始设置。
我有以下问题。
我很想知道如何设置一个测试框架来管理我的所有测试,以及基本上 eclipse/Selenium 如何根据正在执行的测试输出结果。
任何帮助将不胜感激。
亲切的问候-Navdeep
【问题讨论】:
标签:
java
eclipse
automation
selenium-webdriver
【解决方案1】:
有几件事我会根据自己在行业中的经验推荐。
-
使用页面对象设计模式。 您可以在此处为您正在测试的 Web 应用程序的每个页面或页面的重要部分创建一个 java 类。这将有助于使您的 Selenium 测试具有可读性和可维护性,并避免代码中的重复。
-
并行运行测试。 Selenium 测试可能需要很长时间才能运行,并且会花费宝贵的时间等待 WebElement 出现或可点击。 (这些秒数加起来!)对于 Selenium,并行运行测试是有意义的。您可以设置 JUnit 或 TestNG 来处理并行测试。我个人会推荐 TestNG,尽管如果你刚刚开始 JUnit,学习曲线会稍微少一些。
-
不要满足于使用测试运行程序(JUnit、TestNG 等)进行输出。虽然在 eclipse 中使用测试运行程序是一个很好的起点,但您不想被卡住当您开始积累大量测试并且必须保持结果井井有条时,请使用它。我建议您通过将结果输出到 HTML 文件来设计自定义报告框架。
-
不要抛出断言错误,而是将结果保存在 String 或 Map 中。 Selenium 的棘手之处在于,与单元测试不同,每次启动新的 WebDriver 并导航到您正在测试的页面。因此,您很可能希望在一次测试中验证或“断言”多个事物。但是,如果您使用传统的断言方法,第一个断言错误将停止您的测试,并且您将无法让浏览器继续运行并测试其他内容。 (有时这是可取的,但通常不是。)因此,您应该做的是将测试结果存储在地图中。这给你两个好处:
- 您可以在测试结束时运行一个最终断言,以检查您存储在地图中的故障
- 您可以将地图结果打印到 html 文件中,并通过浏览器查看硒测试的结果。
希望这会有所帮助,并让您朝着正确的方向开始。