0

Я пытаюсь протестировать сайт на ChromDriver. Поскольку он идет на страницу приветствия, он не будет отвечать. Я не получаю исключения, но код ничего не делает. Тот же код работает для FirefoxDriver без изменения кода.тест не работает в ChromeDriver, но отлично работает в FirefoxDriver

Java Code ---- >>

public class Screen_1_Monster { 
WebDriver driver; 
WebElement wb; 

    public void operation() throws InterruptedException,NoSuchElementException{ 
    String lastUpdate, update; 
     try{ 
     // driver = new FirefoxDriver(); 
      System.setProperty("webdriver.chrome.driver","D:\\New Folder\\chromedriver.exe"); 
     //WebDriver driver = new FirefoxDriver(); 
     driver = new ChromeDriver(); 
     //going to the desired website 
     driver.get("https://my.monsterindia.com/login.html?src=http://my.monsterindia.com/my_monster.html&rand=5257"); 
     //maximize 
     driver.manage().window().maximize(); 
     //wait 
     driver.manage().timeouts().implicitlyWait(40 ,TimeUnit.SECONDS); 
     }catch(Exception e){ 
      //Get status of Welcome page 
      driver.get("https://my.monsterindia.com/login.html?src=http://my.monsterindia.com/my_monster.html&rand=5257"); 
      //maximize 
      driver.manage().window().maximize(); 
      //wait 
      driver.manage().timeouts().implicitlyWait(40 ,TimeUnit.SECONDS); 
     }//catch 


    //Entering the UserName 
    try{ 
     wb=driver.findElement(By.id("BodyContent:txtUsername")); 
     wb.click(); 
     wb.sendKeys("[email protected]"); 
    }catch(NoSuchElementException e){ 
     wb=driver.findElement(By.xpath(".//*[@id='BodyContent:txtUsername']")); 
     wb.click(); 
     wb.sendKeys("[email protected]"); 
    }//catch 


    //Entering the Password 
    try{ 
     wb=driver.findElement(By.id("BodyContent_txtPassword")); 
     wb.click(); 
     wb.sendKeys("ari2738"); 
    }catch(NoSuchElementException e){ 
     wb=driver.findElement(By.id(".//*[@id='BodyContent_txtPassword']")); 
     wb.click(); 
     wb.sendKeys("ari2738");  
    }//catch 


    //Clicking on Login button 
    try{ 
     driver.findElement(By.name("submit")).click(); 
     driver.manage().timeouts().implicitlyWait(40 ,TimeUnit.SECONDS); 
    }catch(NoSuchElementException e){ 
     driver.findElement(By.xpath("//input[@name='submit']")).click(); 
     driver.manage().timeouts().implicitlyWait(40 ,TimeUnit.SECONDS); 
    }//catch 


    //if Usename/Password is incorrect 
    try{ 
     wb=driver.findElement(By.className("txt_red")); 
     String error = wb.getText(); 
     String expected="Please recheck, Username/E-mail id/Password is incorrect. Remember you can also login with your E-mail id. (Please check if the box is ticked in case e-mail id is selected)"; 
     if(expected.length()==error.length()){ 
      System.out.println(error); 
      driver.close(); 
     }//if 
    }catch(NoSuchElementException e){ 
    }//catch 


    **//Closing the pop up** 
    try{ 
     driver.navigate().refresh(); 
     driver.findElement(By.xpath("//*[@id='ProfileOverlay_close_other']")).click(); 
     driver.manage().timeouts().implicitlyWait(40 ,TimeUnit.SECONDS); 
     driver.findElement(By.className("flyout_close")).click(); 
     driver.manage().timeouts().implicitlyWait(40 ,TimeUnit.SECONDS); 
    }catch(NoSuchElementException e){ 
    }//catch 

    }//operation 


    public static void main(String args[]) throws InterruptedException { 
     Screen_1_Monster s = new Screen_1_Monster(); 
     s.operation(); 

    } 
}//Screen_1_Monster 

Приведенный выше код работает обыкновение после того, как он идет // Закрытие всплывающего блока поймать попробовать

+0

Какая «всплывающая попытка поймать»? Также кажется, что ваши попытки/уловы просто вызывают одни и те же действия во второй раз, если они не работают в первый раз. –

+0

@Mark Rowlands Только перед основным методом. Я прокомментировал это как // Закрытие всплывающего окна –

ответ

-1

Может быть, стоит попробовать что-то вроде driver.SwitchTo().Window(driver.WindowHandles.Last());
Если это не то какой-то другой вкус, как driver.switchTo().window("<window name>");

Это, как представляется случай окна, которое вы хотите нажать на кнопку закрытия на не получает сфокусированы.

Смежные вопросы