Mein Xpath ist korrekt & kein iFrame und ich kann Element in Chrome-Konsole suchen, aber mein Programm schlägt immer noch fehl. Ich habe explizit auch gewartet.Xpath ist richtig, immer noch kein solches Element: Konnte Element nicht finden
Website http://newtours.demoaut.com/ Ich versuche Login-Seite zu finden und Login-ID senden.
Fehlermeldung:
GEFÜHRT: openURL FAILED: loginToTours ** org.openqa.selenium.NoSuchElementException **: ** kein solches Element: Kann Element finden: { "Methode":“ xpath "," selector ":" // input [@ name = 'userName'] "} ** *** Elementinfo: {Using = xpath, value = // input [@ name = 'userName']}
package SeleniumPracticePackage;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait ;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.List;
import java.util.Properties;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class CallUrl {
WebDriver driver;
Properties prop;
@BeforeTest
public void openBrowser() throws IOException
{
// driver = new ChromeDriver();
ChromeOptions options = new ChromeOptions();
options.addArguments("chrome.switches","--disable-extensions");
System.setProperty("webdriver.chrome.driver","C:\\Users\\Ashish\\Documents\\Selenium\\drivers\\chromedriver_win32\\chromedriver.exe");
//System.setProperty("webdriver.chrome.driver",(System.getProperty("user.dir") + "//src//test//resources//chromedriver_new.exe"));
driver = new ChromeDriver(options);
}
@Test
public void openURL() throws IOException
{
//call URL from properties file
prop = new Properties();
FileInputStream urlFile = new FileInputStream("C:\\Users\\Ashish\\Documents\\Selenium\\SeleniumPracticeSite\\src\\URL.properties");
prop.load(urlFile);
driver.get(prop.getProperty("URL"));
WebDriverWait myDynamicElement = new WebDriverWait(driver,30);
myDynamicElement.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//input[@name='userName']")));
}
@Test
public void loginToTours() throws InterruptedException
{
driver.findElement(By.xpath("//input[@name='userName']")).click();
//sendKeys(prop.getProperty("login"));
}
}
TestNG XML
<?xml version="1.0" encoding="UTF-8"?>
<suite name = "Automation Practice Test">
<test name ="smoke test">
<groups>
<run>
<include name="Priority2" />
</run>
</groups>
<classes>
<class name ="SeleniumPracticePackage.CallUrl" />
</classes>
</test>
</suite>
Webseite HTML-Quellcode
<tr>
<td align="right"><font face="Arial, Helvetica, sans-serif" size="2">User
Name: </font></td>
<td width="112">
<input type="text" name="userName" size="10">
</td>
</tr>
Ich bin auf der rechten Seite in Ordnung arbeiten werden. Ich habe meinen XPath getestet, sobald Selen die Seite geladen hat. Methode zum Laden der URL ist openURL() ... driver.get (prop.getProperty ("URL")); – Tokci
Welcher XML-Code erzeugt diese Nachricht? –
hinzugefügt xml in der letzten – Tokci