Elixir Hound:visible_text/1返回一个空字符串
我正在尝试与hound进行集成测试。 测试如下所示: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
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
修复了该问题。谢谢