enter link description hereI am very new to selenium web driver. I am automating an application where after clicking a link, a popup window opens up and the rest of the oper
A few words regarding the solution:
imports
minimal.import com.thoughtworks.selenium.webdriven.commands.Click;
driver.findElement(By.id("overridelink")).click();
Thread.sleep(6000);
implicitlyWait
its valid throughout your execution.By.xpath("//Image[@title = 'SEARCH HTTPS']")
Here is your own working code with a few simple tweaks which print text IM sent
on the console at the end:
System.setProperty("webdriver.ie.driver", "C:\\your_directory\\IEDriverServer.exe");
WebDriver driver = new InternetExplorerDriver();
driver.manage().window().maximize();
driver.get("https://194.74.171.122/e-ServiceDesk/frmLogin.aspx?ReturnUrl=/e-ServiceDesk/default.aspx");
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
String window_title1 = driver.getTitle();
if (driver.getTitle().equalsIgnoreCase(window_title1))
{
driver.findElement(By.id("txtUserName")).clear();
driver.findElement(By.id("txtUserName")).sendKeys("RSen");
driver.findElement(By.id("btnLogin")).click();
Thread.sleep(6000);
}
String window_title2 = driver.getTitle();
if (driver.getTitle().equalsIgnoreCase(window_title2))
{
Boolean a = driver.findElement(By.xpath("//Image[@title = 'SEARCH HTTPS']")).isDisplayed() ;
System.out.println(a);
String MainWindow = driver.getWindowHandle();
driver.findElement(By.xpath("//Image[@title = 'SEARCH HTTPS']")).click();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
Set<String> s1=driver.getWindowHandles();
Iterator<String> i1=s1.iterator();
while(i1.hasNext())
{
String ChildWindow=i1.next();
if(!MainWindow.equalsIgnoreCase(ChildWindow))
{
driver.switchTo().window(ChildWindow);
driver.manage().window().maximize();
Thread.sleep(10000);
String c = driver.getTitle();
System.out.println(c);
Thread.sleep(5000);
driver.switchTo().frame("eFormContents");
Thread.sleep(3000);
driver.findElement(By.id("existCallRef")).click();
driver.findElement(By.id("existCallRef")).sendKeys("IM");
System.out.println("text IM sent");
}
}
}
Let me know if this helps you.