我在试着和猎犬做一个整合测试。测试结果如下:
defmodule RedBeardWeb.UserCanRegisterTest do
use RedBeard.DataCase
use ExUnit.Case
use Hound.Helpers
hound_session()
...
name = find_element(:class, "header__user_name")
name_text = visible_text(name)
assert name_text == "John D."
end
当我运行测试时,会得到以下错误:
1) test user can register with valid credentials (MyAppWeb.UserCanRegisterTest)
test/red_beard_web/integration/user_can_register_test.exs:30
Assertion with == failed
code: assert name_text == "John D."
left: ""
right: "John D."
stacktrace: test/red_beard_web/integration/user_can_register_test.exs:39: (test)
visible_text/1返回一个空字符串。当我手动执行测试中的所有操作时,将正确显示字符串。
如果从模板中删除元素.header__user_name
并运行相同的测试,则会得到以下错误** (Hound.NoSuchElementError) No element found for class 'header__user_name'
。所以元素就被找到了。
为什么visble_text/1
返回一个空字符串?
发布于 2018-03-06 09:36:54
该文本是否确实可见,或者是否有一些CSS隐藏了它?
如果您使用inner_text
而不是visible_text
呢?
https://stackoverflow.com/questions/49096864
复制相似问题