gpt4 book ai didi

java - 数据驱动框架 - SendKeys 错误消息 - eClipse

转载 作者:行者123 更新时间:2023-11-30 10:27:03 25 4
gpt4 key购买 nike

请引用下面的数据驱动程序框架代码,我在下面遇到错误消息

The method sendkeys(charsequence ) in the type webelement is not applicable for the arguments (int).

已用关键字作为问题对其进行评论。

浏览过包括 stackoverflow 在内的网络,并分享了以下解决方案。

  1. 将编译器版本从旧版本更改为 1.5 或更高版本。 - 编译器版本已经高于 1.5。
  2. 将 JRE 版本从 JRE8 更改为 JRE7。 - 已尝试使用 JRE8 和 JRE7,但仍然存在错误。见下图:

enter image description here

这是代码:

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;
}
}

最佳答案

void sendKeys(char sequence) 只接受字符序列/字符串作为参数。

所以你需要这样写UserID+""。 [将其转换为字符串]

您还需要更改数据提供者,如果您返回一维数组,那么它将抛出 TestNG 异常:-

 Data Provider public java.lang.Object[] co.ans.Answer.Snap_Data() must return either Object[][] or Iterator<Object>[], not class [Ljava.lang.Object;

试试这段代码:它在我这边运行良好。

@Test(dataProvider = "ABN")

public void Snap_Login(int UserID) throws InterruptedException{
System.setProperty("webdriver.chrome.driver","D:\\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);
Thread.sleep(1000);
Snap.findElement(By.id("userName")).sendKeys(UserID+""); // PROBLEM
Snap.findElement(By.id("checkUser")).click();
Snap.quit();
}

@DataProvider(name = "ABN")
public Object [][] Snap_Data(){
return new Object[][] {{777777},{888888},{984149104}};
}

输出:-

enter image description here

关于java - 数据驱动框架 - SendKeys 错误消息 - eClipse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45451152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com