【发布时间】:2018-01-09 02:34:43
【问题描述】:
请参考下面的数据驱动框架代码,我在下面的错误消息中遇到
类型webelement中的方法sendkeys(charsequence)不是 适用于参数 (int)。
已用关键字将它们评论为问题。
浏览过包括stackoverflow在内的网络,以下解决方案是共享的。
- 将编译器版本从旧版本更改为 1.5 或更高版本。 - 已经有高于 1.5 的编译器版本。
- 将 JRE 版本从 JRE8 更改为 JRE7。 - 已尝试使用 JRE8 和 JRE7,但仍然存在错误。见下图:
这是代码:
package datadrivenframework;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.Test;
import org.testng.annotations.DataProvider;
public class SnapDealLogin
{
@Test(dataProvider = "ABN")
public void Snap_Login(int UserID) throws InterruptedException
{
System.setProperty("webdriver.chrome.driver","C:\\Users\\hp\\workspace\\Selenium\\browser\\chromedriver.exe");
WebDriver Snap = new ChromeDriver();
Snap.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
Snap.get("https://www.snapdeal.com/");
Thread.sleep(3000);
Snap.manage().window().maximize();
Thread.sleep(2000);
Snap.findElement(By.xpath(".//*[@id='sdHeader']/div[4]/div[2]/div/div[3]/div[3]/div/span[1]")).click();
Snap.findElement(By.xpath("//a [@href='https://www.snapdeal.com/login']")).click();
Snap.switchTo().frame("loginIframe");
Snap.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
Snap.findElement(By.id("userName")).sendKeys(UserID); // PROBLEM
Snap.findElement(By.id("checkUser")).click();
Snap.quit();
}
@DataProvider(name = "ABN")
public Object [] Snap_Data()
{
Object [] login = new Object[3];
login[0] = 777777;
login[1] = 888888;
login[2] = 984149104;
return login;
}
}
【问题讨论】:
-
请提供错误日志。
-
@badri,如果任何答案对您有帮助,请点击答案右勾标记为
accepted