Обработка всплывающих окон в Selenide с помощью браузера Internet Explorer - PullRequest
0 голосов
/ 20 сентября 2018

Мой базовый код выглядит следующим образом: открытый класс RegressionTestSuite {

    @BeforeSuite
    public void setup() {
        String     sUrl    = "http://csa-test:28280/sems_intranet";
        System.setProperty("webdriver.ie.driver", "ie_driver/IEDriverServer.exe");
        Configuration.browser = WebDriverRunner.INTERNET_EXPLORER;        
        open(sUrl);
    }

    @AfterSuite
    public void closeBrowser(){
        getWebDriver().close();
    }    

}

В моем тестовом примере это выглядит следующим образом:

Когда я используюgetWebDriver (). getWindowHandle (), он изменяется на firefox, и программа выполняет другие классы, но не выполняет этот класс.

открытый класс Profile_PasswordAwaressTestNGTests extends RegressionTestSuite {

@BeforeClass
public void navigateToPasswordAwareness() throws Exception {
    //login and navigation to functionality
}
@Test (priority = 5)    
public static void passwordWithoutAlphabet()throws Exception{                

    String newParentHandle = getWebDriver().getWindowHandle();        

    System.out.println("<<<TEST CASE 2>>>------Confirm that the system displays correct validation message password without alphabet characters (e.g. 12345$#67)------");

    $(Selectors.byCssSelector("input[type='password'][name='password']")).setValue("12345$#67");

    $(Selectors.byCssSelector("input[value='Test']")).click();

    int i = 2;
    int[] iWithoutAlphabetCharacters = newWindowNegative(newParentHandle, i);

    switchTo().window(newParentHandle);
    //switchTo().frame($(Selectors.byName("frmcontent")));
}
public static int[] newWindowNegative(String parentHandle, int i)throws Exception{

    int iPassCount = 0;
    int iFailCount = 0;

    Set<String> handles = getWebDriver().getWindowHandles();

    for(String handle: handles){            

        if (!handle.equals(parentHandle)){

            switchTo().window(handle);

            /*Test case execution*/                                             
            //i++;
            $(Selectors.byCssSelector("input[value='Try again']")).click();
        }            
    }
    return new int[]{iPassCount, iFailCount};
}

}

...