Ich schreibe ein TestNg
Skript, wo ich die modale Box schließen und die Operationen im Browser ausführen möchten. Ich bin in der Lage, das modale zu schließen, aber nicht in der Lage, etwas im Browser zu tun.Nach dem Schließen Modal Box, wie Sie Operationen auf dem Browser
driver.findElement(By.id("username")).clear();
driver.findElement(By.id("username")).sendKeys(userName1);
driver.findElement(By.id("password")).clear();
driver.findElement(By.id("password")).sendKeys(password1);
driver.findElement(By.id("Login")).click();
Thread.sleep(5000);
switchtoLightining();
driver.findElement(By.linkText("App Launcher")).click();
driver.findElement(By.linkText("ICIX")).click();
driver.findElement(By.linkText("Document Library")).click();
driver.switchTo().frame(driver.findElement(By.id("vfFrameId")));
driver.findElement(By.id("btn_AddDocument")).click();
new Select(driver.findElement(By.id("ddTemplate")))
.selectByVisibleText("GFSI Certification");
driver.findElement(By.id("createButton")).click();
// Get the current window handle
String winHandleBefore = driver.getWindowHandle();
Thread.sleep(5000);
// Get the list of window handles
ArrayList<String> tabs2 = new ArrayList<String>(
driver.getWindowHandles());
System.out.println("size is:" + tabs2.size());
driver.switchTo().window(tabs2.get(0));
Robot rb = new Robot();
rb.keyPress(KeyEvent.VK_TAB);
Thread.sleep(2000);
rb.keyPress(KeyEvent.VK_TAB);
Thread.sleep(2000);
rb.keyPress(KeyEvent.VK_TAB);
Thread.sleep(2000);
rb.keyPress(KeyEvent.VK_TAB);
Thread.sleep(2000);
rb.keyPress(KeyEvent.VK_TAB);
Thread.sleep(2000);
rb.keyPress(KeyEvent.VK_TAB);
Thread.sleep(2000);
rb.keyPress(KeyEvent.VK_TAB);
Thread.sleep(2000);
rb.keyPress(KeyEvent.VK_TAB);
Thread.sleep(2000);
rb.keyPress(KeyEvent.VK_TAB);
Thread.sleep(2000);
rb.keyPress(KeyEvent.VK_TAB);
Thread.sleep(2000);
rb.keyPress(KeyEvent.VK_TAB);
Thread.sleep(2000);
rb.keyPress(KeyEvent.VK_TAB);
Thread.sleep(2000);
rb.keyPress(KeyEvent.VK_ENTER);
Thread.sleep(2000);
// Click on the upload button
// Switch to the parent old window
driver.switchTo().window(winHandleBefore);
Thread.sleep(2000);
driver.findElement(By.xpath("//button[@class='slds-button slds-button--brand slds-m-horizontal--small']")).click();*/
driver.findElement(By.xpath(".//[@id='uploadButton']")).click();
welche Fehler msg Sie –
bekommen werden Ich bekomme diese fehler- org.openqa.selenium.NoSuchElementException: Kann Element finden: { "Methode": "XPath", "Selektor ":" .//**[@ id = 'uploadButton'] "} Befehlsdauer oder Zeitüberschreitung: 25,13 Sekunden – user3168935
Hallo ich bin hier in Ihrem Code verwirrt // Holen Sie sich das aktuelle Fensterhandle String winHandleBefore = driver.getWindowHandle() ; Hier nehmen Sie den Parent-Fenster-Handle nach rechts und dann wechseln Sie zu driver.switchTo(). window (tabs2.get (0)); // aber 0 index ist wieder für das übergeordnete Fenster daher infact Sie wechseln kein Fenster –