在硒(testng)中如何执行Excel工作表的测试记录(一行)而不导致测试记录失败

时间:2019-03-11 04:56:33

标签: excel selenium automated-tests testng

我有一个要登录的应用程序。登录将成功(提供正确的用户名和密码),并且只有成功登录后,页面才会重定向到主页。 但是,如果登录失败,该页面将不会重定向到另一个页面,只会显示“请输入正确的详细信息”

我有一个具有正确用户名和密码以及不正确用户名和密码的Excel工作表。

请考虑以下顺序:

  1. 更正用户名和密码
  2. 更正用户名和密码
  3. 错误的用户名和密码
  4. 正确的用户名和密码
  5. ...正确的用户名和密码 。 。 。 50 ...正确的用户名和密码

现在,如果我使用excel表格执行程序,则该程序可以很好地用于测试记录1 2,但是由于测试记录3的细节不正确,因此程序停止执行,并且其余3到50条测试记录也不会得到评估。

我想要的是一种机制,如果用户ID和密码不正确,则测试记录将通过(指示TRUE NEGATIVE)。断言可以这样做吗?

1 个答案:

答案 0 :(得分:0)

为此您使用TestNG库,其中xml文件包含套件,它将执行测试用例顺序,如您在文件中提到的那样,请参见下面的内容,它将同样执行“ FirstTestCase”然后“ SecondTestCase”。 因此,您可以做一件事来维护一个文件调用testng.xml,该文件调用包含这样的套件。

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
    <suite name="testng" preserve-order="true">

    <test name="FisrtTestCase_001">
        <parameter name="test-id" value="firsttestcase_001"/>
        <parameter name="test-config" value="LotEntryConfig"/>
        <parameter name="test-config-sheet" value="LotAdd"/>
        <classes>
            <class name="testDrivers.TestDriver"/>
        </classes>
    </test>
    <test name="SecondTestCase_002">
        <parameter name="test-id" value="secondtestcase_002"/>
        <parameter name="test-config" value="FarmerRegConfig"/>
        <parameter name="test-config-sheet" value="NewReg"/>
        <classes>
            <class name="testDrivers.TestDriver"/>
        </classes>
    </test>

 </suite> <!-- testng-->

与明智的做法一样,您可以插入更多套件,因此好处是,如果任何测试用例失败,那么执行将不会停止,但是您需要开发这种逻辑,例如在我的情况下,我得到了三个参数{{1 }}

,以使测试用例以某种方式执行,无论配置文件是否存在(如果存在),则表名称是否存在;如果存在,则列中是否存在测试ID,如果存在,则从该行中获取所有值,并将其存储到数组中,以便您在需要时明智地进行操作。

我已与您共享链接以供参考。

https://www.guru99.com/all-about-testng-and-selenium.html

https://www.toolsqa.com/testng-tutorial/

希望您能理解。.