- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
请引用下面的数据驱动程序框架代码,我在下面遇到错误消息
The method sendkeys(charsequence ) in the type webelement is not applicable for the arguments (int).
已用关键字作为问题对其进行评论。
浏览过包括 stackoverflow 在内的网络,并分享了以下解决方案。
这是代码:
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}};
}
输出:-
关于java - 数据驱动框架 - SendKeys 错误消息 - eClipse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45451152/
其使用格式为: object.SendKeys string "object":表示WshShell对象 "string":表示要发送的按键指令字符串,需要放
如何使用命令 sendKeys(Keys.TAB) 和 sendKeys("text") 填写列中的几个字段。例如:页面底部的“联系我们”表单中有 3 个字段: 姓名 电子邮件 留言和“提交”按钮。
sendkeys(keys.Down) 和 sendkeys(keys.Arrow_Down) 之间有什么区别在 Selenium java中 最佳答案 没有区别,在以前版本的 selenium 中,
我的测试是在搜索文本框中输入键(主要是ajax),然后按键盘上的回车键。没有“开始”搜索的按钮,因此我们使用 Enter 键。 我使用 ChromeDriver,因为我们的应用程序在此流程中不支持 F
我试图在 sendKeys 方法 [type WebElement] 中将“String”作为参数发送,但系统将其用作 char 序列,所以我没有得到正确的输出。 public static
我想在新窗口中打开应用程序的链接。使用操作类在我当前所在的同一窗口中打开链接。 我尝试在多个应用程序的 Chrome 驱动程序和 Firefox 驱动程序上使用带有以下代码的 Actions 类,但没
据我所知,有两种使用 Selenium 进行输入的方法: new Actions(webDriver).sendKeys("text to send").perform(); webElement.s
我正在使用 Selenium 通过 VS Code 用 Java 进行编写。 我无法编译这行代码,因为 sendKeys 方法下有一条红线。 代码行是: driver.findElement(By
我正在使用以下过程作为 OnTime 方法的一部分: Public Sub Countdown() ThisWorkbook.Activate SendKeys ("{ESC}")
我是 VBA 的新手,我的研究表明我不应该使用 .SendKeys,因为它不可靠。我应该为以下使用什么替代代码? Application.SendKeys ("{Home}") 最佳答案 这看起来选择
我正在使用 .SendKeys()在 Excel VBA 中将击键发送到我正在使用 shell .AppActive 激活的外部窗口方法。问题是 SendKeys只是行为不一致,有时发送 key ,有
我正在使用 (new Actions(driver).sendKeys(String).perform() 将输入发送到 webdriver。但是,我一直得到不一致的结果。有时 String 会完美发
我用 Java 编写了脚本,它正在 Chrome 浏览器中运行。我有一个用户名字段、密码字段和一个登录按钮。甚至在完成用户名字段中的输入之前,它就开始在密码字段/登录按钮上执行操作。 这是我的代码,
我使用 sendkey 访问 Power Query 并连接到 SharePoint 文件夹。一切都很顺利,直到出现 Power Query 数据预览对话框。 如何允许 sendkey 在对话框出现后
我在输入一些特殊字符时遇到了一些问题 SendKey.Send("~!@#$%^&*()_+|") . 当我尝试输入 ~!@#$%^&*()_+| 时, 只有 !@#$*_|已输入。 有办法解决这个问
我创建了一个键盘应用程序,它保持在顶部,但不获取焦点,因此在触摸屏上它会通过 SendKeys 将您按下的任何键转发到事件应用程序。 它与我尝试过的每个应用程序都完美配合……当然,除了我实际需要它使用
我正在尝试使用 sendkeys,但将它发送到一个非焦点程序。例如,我想使用 sendkeys 到 Notepad - Untitled,但它没有被聚焦。抱歉,如果不清楚,我会详细说明。我当前的代码是
我希望我的 C# 程序在继续之前关闭某个遗留应用程序。使用 ctrl+x 可以立即关闭旧版应用程序。我可以使用 Sendkeys 来做到这一点,但我听说 sendkeys 可能有点不稳定。有没有其他方
您好,我已经在 login-page.js 中编写了这段代码 我不知道为什么会出现错误 失败:无法读取未定义的属性“sendKeys” 我在 login_spec.js 上调用了这个页面 我无法在 P
我在表单中有两个输入字段,它们的来源在下面提到 我正在尝试在 selenium 网络驱动程序 (Firefox) 中使用以下命令发送输入 driver.findElement(By.cssSele
我是一名优秀的程序员,十分优秀!