Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Selenium和TestNG中的参数化_Java_Selenium_Testng - Fatal编程技术网

Java Selenium和TestNG中的参数化

Java Selenium和TestNG中的参数化,java,selenium,testng,Java,Selenium,Testng,我正在自学硒。在将Selenium与TestNG框架一起使用时,我不确定参数化测试用例的正确方法。 最好是在TestNG.XML文件中传递参数,还是保留一个单独的电子表格。例如,我需要使用100个不同用户的登录详细信息参数化登录功能。在哪里保存100个用户的用户名/密码详细信息 如果通过电子表格进行参数化效果最好,那么创建testng.xml文件的目的到底是什么 最好保持@Test方法不带任何参数。但要回答这个问题,您可以将测试参数化为 在这里解释 如果您试图传递100个不同的登录详细信息,请建

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

如果通过电子表格进行参数化效果最好,那么创建testng.xml文件的目的到底是什么

  • 最好保持@Test方法不带任何参数。但要回答这个问题,您可以将测试参数化为 在这里解释
  • 如果您试图传递100个不同的登录详细信息,请建议您将其保存在单独的电子表格中
    对于参数化Testng提供两种方法

  • 通过测试XML文件
  • 通过使用@DataProvider
  • 何时使用TestNG XML文件?

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

    示例:只需从.xml文件ie中传递诸如ff、chrome之类的浏览器值,即可确定用于执行测试用例的浏览器

    何时使用@DataProvider?

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

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

    谢谢您的回答。我在这里有点困惑,如果通过电子表格进行参数化效果最好,那么拥有testng.xml文件的实际目的是什么?我可以在没有testng.xml文件的情况下构建完整的项目/框架吗?testng.xml的目的是更好地控制测试用例的执行。当有n个测试要运行的套件时,您会发现它很有用。您可以在不使用testng.xml的情况下运行项目,但它可能需要在测试代码方面做更多的工作。我认为,正如鲁佩什·辛德所回答的那样,其余的问题可以解决大部分问题。:)非常感谢。我看了一些例子,我有另一个疑问,当使用@-DataProvider并将值传递给测试时,我可以在例子中看到,如果通过@-DataProvider传递6个值,没有循环,@-Test将执行6次。没有循环,这是怎么发生的?结果显示运行了6个测试。请提供一些意见。TIA@-DataProvider将数据作为对象数组(对象[][])发送到测试方法。然后,测试方法执行(这里)6次,每行对象[]执行一次。这是隐式处理的。作为测试用例编写者,您需要确保测试参数的数量=DataProvider返回的数组的第二维度。非常感谢Rupesh。我看了一些例子,我有另一个疑问,当使用@-DataProvider并将值传递给测试时,我可以在例子中看到,如果通过@-DataProvider传递6个值,没有循环,@-Test将执行6次。没有循环,这是怎么发生的?结果显示运行了6个测试。请提供一些意见。TIA@mk08请您输入。