如何进行硒网格测试以同时登录

时间:2015-06-29 11:11:49

标签: java selenium selenium-grid

我有一个使用网格运行的测试用例。我想要实现的是执行三个不同的测试用例,所有测试用例都在同一时间单击登录按钮。当我运行纯网格时,浏览器之间总会有延迟。如何使用selenium grid和Java实现这一点?

BR

1 个答案:

答案 0 :(得分:0)

我使用锁定和同步函数解决了这个问题。线程几乎单击“登录”按钮

public class Test extends AstractTest {
 private static int lock = 0;    //Here the lock is initiated once

@DataProvider(name = "Test", parallel = true)
public Object[][] loadInputDataFromExcel() {
    return Taf.files().populateExcelDataProvider(getGlobalInputDataFileName("testsConfig"));
}

@Test(description="Simultaneous Login", dataProvider="Test", enabled=true)
public void SimultaneousLogin(Map<String, String> dp) throws InterruptedException {

    setupThreadedBrowserDriver(dp.get("browser")); 

    actionNavigateToPage(dp.get("url"));

    LoginPage loginPage = new LoginPage();

    loginPage.login(dp.get("PersonalNumber"), "password");
    lock++;
    // surround the login button with synchronized block
    synchronized (this) {
        while (lock < 3)
            this.wait();
        this.notifyAll();
        loginPage.loginBtn.clickButton();
    }