J'essaie d'envoyer une chaîne à la méthode sendkeys (), mais elle n'accepte pas et ne génère pas d'erreur en tant que
mes codes suivent:
package healthcare;
import org.openqa.Selenium.By;
import org.openqa.Selenium.WebDriver;
import org.openqa.Selenium.chrome.ChromeDriver;
import org.openqa.Selenium.firefox.FirefoxDriver;
import org.openqa.Selenium.support.ui.Select;
import com.thoughtworks.Selenium.Selenium;
import com.thoughtworks.Selenium.webdriven.WebDriverBackedSelenium;
public class MailRegister_Webdriver {
public WebDriver driver;
public Selenium selenium;
public void openURL(){
//System.setProperty("webdriver.chrome.driver", "F:\\Library\\chromedriver.exe");
driver=new FirefoxDriver();
Selenium=new WebDriverBackedSelenium(driver, "http://mail.in.com");
driver.get("http://mail.in.com");
}
public void register() throws Exception{
//driver.findElement(By.cssSelector("input.registernow")).click();
Selenium.click("css=input.registernow");
Thread.sleep(3000);
driver.findElement(By.id("fname")).sendKeys("Nagesh");
Selenium.select("day", "10");
Selenium.select("month", "Jun");
new Select(driver.findElement(By.id("year"))).selectByVisibleText("1999");
Thread.sleep(1000);
driver.findElement(By.xpath("(//input[@name='radiousername'])[5]")).click();
Thread.sleep(2000);
driver.findElement(By.id("password")).sendKeys("nag123");
driver.findElement(By.id("repassword")).sendKeys);
driver.findElement(By.id("altemail")).sendKeys();
driver.findElement(By.id("mobileno")).sendKeys("7894561230");
driver.findElement(By.id("imageField")).click();
}
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
MailRegister_Webdriver m=new MailRegister_Webdriver();
m.openURL();
m.register();
}
}
Quelqu'un peut-il aider à ce sujet, pourquoi la méthode Sendkeys () ne prend pas les valeurs String comme arguments?
Il a une solution simple. Changez le niveau de conformité de votre compilateur de 1,4 à 1,7.
Suivez ces étapes dans votre Eclipse:
Maintenant, vérifiez votre code. il ne montrera jamais la même erreur.
element.sendKeys(new String[]{"Hello, Selenium"});
Mon code ressemble à ceci, ça marche.
Il y a deux solutions possibles pour cela
1- Changer la version du compilateur de l'ancienne version à 1.5 ou plus.
2- Changez la version de JRE de JRE8 en JRE7.
J'ai créé un article détaillé sur cela peut être que cela aidera.
http://learn-automation.com/solution-for-sendkeyscharsequence-in-Selenium/
Définissez à nouveau la bibliothèque système JRE. Si vous utilisez Eclipse, suivez les étapes ci-dessous:
Au lieu de modifier, vous pouvez également supprimer et ajouter des éléments. Les étapes sont les suivantes:
Selon la version de Java, vous devez convertir la primitive (c.-à-d. Char) en String (regardez ici: http://tech.deepumohan.com/2013/03/Java-how-to-convert-primitive-char -to.html )
Ou passez à une version Java qui le ferait pour vous (voir ici: http://Java-performance.info/changes-to-string-Java-1-7-0_06/ )
Essayez de cliquer sur le WebElement avant de lui envoyer des clés:
public static void login(WebDriver driver, String userName, String password) {
driver.get("loginPage.html");
Thread.sleep(3000);
driver.findElement(By.id("username")).click();
driver.findElement(By.id("username")).clear();
driver.findElement(By.id("username")).sendKeys(userName);
Thread.sleep(TestConfiguration.time);
driver.findElement(By.id("password")).click();
driver.findElement(By.id("password")).clear();
driver.findElement(By.id("password")).sendKeys(password);
Thread.sleep(3000);
driver.findElement(By.name("login")).click();
Thread.sleep(3000);
}
Vous devez utiliser la méthode clear () pour effacer le champ de saisie avant d'utiliser sendKeys ().
Vous pouvez essayer en remplaçant vos lignes de code suivantes:
driver.findElement(By.id("password")).sendKeys("nag123");
driver.findElement(By.id("repassword")).sendKeys);
driver.findElement(By.id("altemail")).sendKeys();
driver.findElement(By.id("mobileno")).sendKeys("7894561230");
driver.findElement(By.id("imageField")).click();
à
driver.findElement(By.id("password")).sendKeys("nag123");
driver.findElement(By.id("repassword")).sendKeys("");
driver.findElement(By.id("altemail")).sendKeys("");
driver.findElement(By.id("mobileno")).sendKeys("7894561230");
driver.findElement(By.id("imageField")).click();