小编use*_*847的帖子

无法通过Capybara(v2)与Bootstrap模态进行交互

在Rails应用程序我想测试一个引导模式jQuery的TokenInput场使用水豚用在Rspec的capybara-webkit驱动程序.有问题的部分如下:

click_link 'Create Team Modal'
sleep 1

within('div#modal_popup') do
  fill_in 'input#token-input-team_name', with: 'Fancy team name'
  sleep 1
  fill_in 'input#token-input-team_name', with: '\t'
  sleep 1

  click_button 'Create Team'
end

page.should have_content('Fancy team name')
Run Code Online (Sandbox Code Playgroud)
  • 单击按钮以获取模态
  • 使用团队名称填写TokenInput
  • 模拟Tab键 - 按下以选中它
  • 创建团队
  • 验证页面上显示的名称

这只适用于所有这些sleep 1; 否则Capybara崩溃have_content,最终导致服务器错误,因为团队名称永远无法正确选择.但是,没有 TokenInput字段的其他Bootstrap模式sleep 1在加载之前不需要.

尽管如此,有没有办法摆脱睡眠并让这一切正常进行?Capybara 2取出wait_until(有充分的理由),因为它将在默认的等待时间内等待测试某些东西......但这似乎没有反映在我的上述测试中; 就好像Capybara在进入/退出这个模态时没有参与等待期.有人对此有经验吗?使用Rails 3.2.10,Rspec 2.12,Capybara 2,capybara-webkit 0.14.0,TokenInput 1.6.

ruby-on-rails capybara jquery-tokeninput twitter-bootstrap capybara-webkit

14
推荐指数
2
解决办法
6234
查看次数

将 UTF-16LE Elixir 位串转换为 Elixir 字符串

给定一个以 UTF-16LE 编码的 Elixir 位串:

<<68, 0, 101, 0, 118, 0, 97, 0, 115, 0, 116, 0, 97, 0, 116, 0, 111, 0, 114, 0, 0, 0>>
Run Code Online (Sandbox Code Playgroud)

我怎样才能把它转换成一个可读的 Elixir 字符串(它拼出“毁灭者”)?我得到的最接近的是将上面的内容转换为 Unicode 代码点列表 ( ["0044", "0065", ...]) 并尝试将\u转义序列添加到它们之前,但 Elixir 抛出一个错误,因为它是一个无效序列。我没有想法了。

utf-8 utf-16 elixir utf-16le

4
推荐指数
1
解决办法
1717
查看次数