我有一个令人不安的弹出窗口打破了自动化测试。它是附加到只接受数字的文本字段的客户端验证弹出窗口,如果我输入文本并单击提交按钮,弹出窗口将突然出现并停止测试。我该如何克服这个问题?欣赏。它是一个带有感叹号的黄色bos,上面写着“请输入一个数字”。当我查看页面的来源时,我发现此弹出窗口没有任何内容可供参考。
既然你提到它不是一个弹出窗口,我认为将焦点转移到activeElement就足够了。
Driver.SwitchTo().ActiveElement();
出现弹出窗口是因为您在“机构代码”的输入字段中输入的文本是字母(o),而它需要一个数字。基本上,您的脚本会将“机构代码”的编号放入“用户名”字段中。尝试更正您发送的字符串。
对于否定测试,如果要删除弹出窗口,则需要强制“机构代码”的输入值为数字,然后触发onBlur()事件。这样,验证就会通过。
首先,把你的测试代码放在一边是个好主意,因为我认为主要的问题就在那里。但是如果你想删除这个黄色警告弹出窗口:
添加到“提交按钮”属性“formnovalidate”
f.e:
<input type="submit" value="submit" formnovalidate />
此警告弹出窗口是由提交操作调用的本机浏览器HTML5验证。
参考: