Cucumber/Capybara:期待 "Alert" 文本(淡出)
Cucumber/Capybara: expecting "Alert" text (that fades out)
我正在寻找一种好方法来期待来自 "alert" 的特定文本在 5 秒后淡出。
这是一个基本的登录测试(我对自动化还很陌生)。我一直在使用 cucumber/capybara 并且我将它与 poltergeist 一起用于无头测试(主要用于 CI)。
我正在使用 chrome 开发工具来尝试查找有关元素本身(警报)的信息。这不是弹出式警报,而是屏幕顶部的淡入式警报。但是所有 chrome returns 也是它所属的 class(这是一个 rails 网络应用程序)和警报中包含的文本。
我对 rails 不是很熟悉,所以有什么方法可以只按文本搜索吗?这似乎是最简单的方法?
编辑:显然它们是 rails 使用 :flash 的警报,它们只是使用 jquery.
淡入淡出
假设 "alert" 的元素具有 'alert' 的 class,类似于
expect(page).to have_selector('.alert', text: 'The text in the alert')
应该做你想做的。你也可以这样做
expect(page).to have_text('The text in the alert')
这会降低针对性,只是验证文本显示在页面上,而不是它确实在 'alert'
我正在寻找一种好方法来期待来自 "alert" 的特定文本在 5 秒后淡出。
这是一个基本的登录测试(我对自动化还很陌生)。我一直在使用 cucumber/capybara 并且我将它与 poltergeist 一起用于无头测试(主要用于 CI)。
我正在使用 chrome 开发工具来尝试查找有关元素本身(警报)的信息。这不是弹出式警报,而是屏幕顶部的淡入式警报。但是所有 chrome returns 也是它所属的 class(这是一个 rails 网络应用程序)和警报中包含的文本。
我对 rails 不是很熟悉,所以有什么方法可以只按文本搜索吗?这似乎是最简单的方法?
编辑:显然它们是 rails 使用 :flash 的警报,它们只是使用 jquery.
淡入淡出假设 "alert" 的元素具有 'alert' 的 class,类似于
expect(page).to have_selector('.alert', text: 'The text in the alert')
应该做你想做的。你也可以这样做
expect(page).to have_text('The text in the alert')
这会降低针对性,只是验证文本显示在页面上,而不是它确实在 'alert'