java - Selenium 和 TestNG 中的参数化

标签 java selenium testng

我正在自学 Selenium。我不确定在将 Selenium 与 TestNG Framework 一起使用时参数化测试用例的正确方法。 在 TestNG.XML 文件中传递参数还是保留一个单独的电子表格更好。例如,我需要使用 100 个不同用户的登录详细信息来参数化登录功能。将 100 个用户的用户名/密码详细信息保存在哪里?

如果通过电子表格进行参数化最有效,那么拥有 testng.xml 文件的确切目的是什么?

最佳答案

对于参数化,Testng 为您提供了两种方法。

  1. By TestNG XML file.
  2. By Using @DataProvider

什么时候使用 TestNG XML 文件?

当您想要为决策定义简单的参数时,您可以使用 XML 文件。

示例: 简单地从 .xml 文件传递​​浏览器值,如 ff、chrome,即决定用于执行测试用例的浏览器。

什么时候使用@DataProvider?

特别是在数据驱动测试中,即当需要使用不同的数据集多次运行相同的测试方法时,您可以使用 DataProvider 并且它还用于处理复杂的参数或复杂的对象,例如从属性文件或数据库中读取,等等

  • 在您的情况下,需要传递大约 100 个不同用户的登录详细信息,以便 我建议将它们放在 excel 文件中并使用 APACHE POI 读取它们 /JXL 为什么不选择@DataProvider 的原因在逻辑上是不好的 练习在您的 DataProvider 类中传递 100 个值,这也可能 导致性能不佳并增加测试的复杂性 代码。

关于java - Selenium 和 TestNG 中的参数化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32602762/

相关文章:

java - 如何在selenium 2 WebDriver中查找当前使用的窗口是最大化还是最小化?

java - selenium PageFactory 与测试类同步失败

java - 开源生成 TestNG 报告

java - Swing HTML 呈现显示非常大的项目符号点

java - 如何调用带有数组参数的方法

python find_element_by_css_selector(value) 返回 None

java - org.testng.TestNGException : sun. 安全.provider.certpath.SunCertPathBuilderException

java - Hibernate: Createsqlquery.. 为我的实体获取一些列时出错

cmd中的Java unicode字符错误

java - 如何在类中使用静态对象以及如何在其他类中继承静态对象