Vaadin TestBench 23.1.15:如何在Vaadin Grid的输入字段中输入内容?
Vaadin TestBench 23.1.15操作Grid内输入字段的方法
因为GridTHTDElement本身没有提供直接操作输入字段的方法,你可以通过定位单元格内的输入组件TestBench元素来完成输入操作,具体步骤如下:
第一步:定位目标Grid和对应的单元格
先获取页面上的Grid元素,再根据行、列索引拿到目标单元格:// 获取页面中的第一个Grid GridElement grid = $(GridElement.class).first(); // 获取指定行、列的单元格(索引从0开始计数) GridTHTDElement targetCell = grid.getCell(1, 2); // 示例:第2行第3列第二步:从单元格中查找输入组件
根据单元格内输入组件的类型,使用$()方法查找对应的TestBench元素,常见的输入组件对应类如下:- 文本框:
TextFieldElement - 数字输入框:
NumberFieldElement - 文本域:
TextAreaElement - 密码框:
PasswordFieldElement
示例代码(以TextField为例):
// 从目标单元格中找到TextField组件 TextFieldElement inputField = targetCell.$(TextFieldElement.class).first();- 文本框:
第三步:执行输入操作
直接调用输入组件的setValue()方法赋值,或者用sendKeys()模拟键盘输入。如果输入框需要先激活才能输入,可以先调用click()方法:// 可选:点击激活输入框(部分组件需要聚焦后才能输入) inputField.click(); // 输入目标内容 inputField.setValue("需要输入的文本内容");
完整示例代码
// 定位Grid和目标单元格 GridElement grid = $(GridElement.class).first(); GridTHTDElement targetCell = grid.getCell(1, 2); // 查找单元格内的输入框并输入内容 TextFieldElement inputField = targetCell.$(TextFieldElement.class).first(); inputField.click(); inputField.setValue("测试输入内容");
如果输入组件有自定义的标识(如ID、CSS类名),可以用更精准的定位方式,比如:
TextFieldElement inputField = targetCell.$(TextFieldElement.class).id("custom-input-id");
内容的提问来源于stack exchange,提问作者gastendonk
相关产品推荐
相关产品推荐

