我的页面上有以下设置:
disable xml validation
我想在id
的字段中写一个文本FNAME
我尝试了几个选项,但以下是最后一个选项。
<html>
<body>
<frame name="header" ></frame>
<frame name="footer" ></frame>
<frame name="inline" >
<input type="text" id:"fname">
</frame>
<body>
</html>
代码本身运行成功,没有任何错误。但是它不会填充输入字段。调试也没有提供太多信息。
有没有人知道这里发生了什么。
答案 0 :(得分:0)
Geb内置了可用于填写字段,从列表中选择或选中复选框等的模块。您需要Text Input module
修改您的页面对象,如下所示。这将导入TextInput模块以供使用,然后初始化您的&#39; framefirstname&#39;内容作为一个模块,让您访问Geb提供的各种方法。如前一条评论中所述,请调整您的框架名称&#39;根据{{3}}
的内容<div id="parentId">
<div class="row">
<div class="col-md-4">
<div class="plugin-class-name"></div>
</div>
<div class="col-md-4">
<div class="plugin-class-name"></div>
</div>
<div class="col-md-4">
<div class="plugin-class-name">
<div id="childId1">
<div class="plugin-class-name"></div>
<div class="plugin-class-name"></div>
<div class="plugin-class-name"></div>
<div class="plugin-class-name"></div>
</div>
</div>
<div class="col-md-4">
<div id="childId2">
<div class="plugin-class-name"></div>
<div class="plugin-class-name"></div>
<div class="plugin-class-name"></div>
<div class="plugin-class-name"></div>
</div>
</div>
<div class="plugin-class-name"></div>
</div>
Geb为文本输入模块提供.text函数,因此您在测试中需要做的就是以下内容,它应该设置您的输入字段:
import geb.module.TextInput
framefirstname { $('input', id:'fname').module(TextInput) }
答案 1 :(得分:0)
到目前为止,你做得很好。如果页面在新标签中?如果是,你可以使用NewWindow或withWindow