我可以使用Selenium在同一浏览器中执行多个测试用例吗?

时间:2018-09-25 09:40:42

标签: selenium

我有多个用户名和密码。我需要在一个Chrome窗口中验证所有测试数据。我需要检查它是否工作正常。可能吗?预先感谢。

public class Wrappers extends GenericWrappers {

    public String browserName;
    public String dataSheetName;
    protected static WebDriver Browser_Session;

    @BeforeSuite
    public void beforeSuite() {
        startResult();
    }

    @BeforeTest
    public void beforeTest() {
        loadObjects();
    }

    @BeforeMethod
    public void beforeMethod() {
        test = startTestCase(testCaseName, testDescription);
        test.assignCategory(category);  
        invokeApp("Chrome");
    }

    @AfterSuite
    public void afterSuite() {
        endResult();
    }

    @AfterTest
    public void afterTest() {
        unloadObjects();
    }

    @AfterMethod
    public void afterMethod() {
        endTestcase();  
    }

    @DataProvider(name = "fetchData")
    public Object[][] getData() {
        return DataInputProvider.getSheet(dataSheetName);
    }
}

public class Login extends PEFWrappers {

    @Parameters("browser")
    @BeforeClass()

    public void setValues(String browser) {
        browserName = browser;
        testCaseName = "TC001 - Login";
        testDescription = "Login and Submit a form";
        category = "smoke";
        dataSheetName = "TC_001";
    }

    @Test(dataProvider = "fetchData")
     public void loginPEF(String LoginId, String Password) throws InterruptedException
    {   
        new LoginPage(driver, test)
        .enterLoginID(LoginId)
        .enterPassword(Password)
        .clickLogin();
    }
}

1 个答案:

答案 0 :(得分:0)

您可以在 DataProvider 方法中指定一组凭据 例如

@DataProvider(name="fetchData")
public Object[][] getData()
{
   Object [][] myData = {{"user1","pwd1"},
                        {"user2","pwd2"}};
   return myData;
}

在这里,我给了2组用户名/密码,因此将使用2组不同的凭据将测试执行2次。

这里您要从外部文件获取值。因此,只需在行中输​​入用户名和密码即可。测试将重复数据表中可用行数的次数

相关问题