【发布时间】:2013-03-16 05:28:05
【问题描述】:
给定一个简单的页面:
<form>
<input type="email">
<button>click</button>
</form>
如果我在文本字段中输入任何不是电子邮件的内容并单击按钮,则会出现Please enter an email address 消息。
有没有办法使用 Selenium 或 Watir 检查消息是否出现?据我所知,浏览器 DOM 中没有出现任何新内容。
由于页面使用的是浏览器内置的电子邮件检查功能,因此检查是否出现错误消息是否有意义?它与检查浏览器滚动条是否工作处于同一级别。我们不再检查 Web 应用程序,而是检查平台(浏览器)。
关于 SO 的较早相关问题是:How do I test error conditions in HTML5 pages with cucumber?
【问题讨论】:
-
页面上是否出现警告?我的第一个猜测是通过 firebug 获取它的 ID,然后在以后使用它
-
警告出现在页面上 - 您在浏览器窗口中看到它,但它没有出现在页面上 - DOM 中没有出现任何新内容。魔法。 :)
-
我实际上认为这没有意义,因为这意味着测试第 3 方,而不是 Web 应用程序。
-
好吧,这是否意味着警告始终存在,但页面使其不可见?如果不是,那么我同意@p0deje - 对我来说测试 3rd 方应用程序也没有意义
-
伙计们,这是不同的。这不是 javascript 客户端验证,它是一个新的 HTML5 功能,浏览器根据输入的“类型”以及字段是否定义了新的“必需”属性进行验证。因此,对用户的实际呈现是高度主观的,如果开发人员在其中编写代码(我认为使用 psuedoclasses?),则可以通过 CSS 的东西来加强(我认为使用 psuedoclasses?)有关更多信息,请参阅the-art-of-web.com/html/html5-form-validation/#.UVIWfFtATu0
标签: selenium webdriver watir watir-webdriver browser-automation