我使用Trix Editor在我的表单中使用WISIWIG。我想用RSpec和Capybara进行测试,但trix编辑器会隐藏该字段。Rails - 水豚,从trix编辑器填充隐藏字段
<div class="form-group">
<trix-editor class="formatted_content form-control" placeholder="Description" input="annonce_ad_body_trix_input_annonce_ad"></trix-editor><input type="hidden" name="annonce_ad[body]" id="annonce_ad_body_trix_input_annonce_ad" />
</div>
我需要知道如何用水豚填充这个隐藏的领域,使我的测试通过。我试过这些尝试:
fill_in "annonce_ad[body]", with: "my value"
find(:css, 'trix-editor').set("New text")
find("trix-editor", visible: false).set("my value")
find(:xpath, "//input[@id='annonce_ad_body_trix_input_annonce_ad']", visible: false).set "my value"
find(:xpath, "//*[@id='annonce_ad_body_trix_input_annonce_ad']", visible: false).set("value")
first('input#annonce_ad_body_trix_input_annonce_ad.class', visible: false).set("your value")
这些都不适合我。有人知道我在这种情况下如何填补我的身体(与trix)?
水豚填充在演示TRIX编辑这只不过是使用CSS ID选择(这是更清晰对于大多数人阅读)不同' find('#announce_ad_body_trix_input_announce_ad',visible:false).set(“这里有一些值)”。然而,由于它与一个不可见的元素交互,这意味着你的测试并没有真正测试任何东西,因为它正在做一些用户永远无法做到的事情。 –
那么,他可以测试系统如果用户摆弄浏览器检查器时的行为,但使用控制器规格进行测试会更容易。我同意https://stackoverflow.com/a/45965124/299774 - 这是一个很好的答案。 – meta