Elixir Hound:visible_text/1返回一个空字符串

Elixir Hound:visible_text/1返回一个空字符串,elixir,phoenix-framework,Elixir,Phoenix Framework,我正在尝试与hound进行集成测试。 测试如下所示: 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

我正在尝试与hound进行集成测试。 测试如下所示:

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\uu user\u name
,并运行相同的测试,我会得到以下错误
**(Hound.NoSuchElementError)未找到类“header\uu user\u name”的元素
。所以元素被找到了


为什么
visible\u text/1
返回一个空字符串?

该文本真的是可见的,还是有一些CSS隐藏了它


如果您使用
内部文本
而不是
可见文本
,该怎么办?

没有CSS隐藏文本,但使用
内部文本/1
修复了该问题。谢谢