Windows7(32bit) + Cygwin(32bit) + ruby 1.9.3p484 + gem 2.2.2 です。
gem がエラーに..。
$ gem install selenium-webdriver test-unit
ERROR: While executing gem ... (ArgumentError)
invalid byte sequence in UTF-8
うーん..。と悩んで以下の記事を読みました。
Cygwin - Ruby-1.9.3p327 - win32/registry - PIB
とても詳しく書かれていてすっきり理解できました!
でも個別パッチになってしまうのですね..。
記事を参考に win32/registry.rb を直接編集して修正するとうまくいきました!
追記(12/29)
毎回編集内容を忘れるのでパッチ内容を追記します。
該当箇所は167行目から174行目にかけてです。
コメントアウトしているのが変更前です。
#FormatMessageA = Kernel32.extern "int FormatMessageA(int, void *, int, int, void *, int, void *)", :stdcall
FormatMessageW = Kernel32.extern "int FormatMessageW(int, void *, int, int, void *, int, void *)", :stdcall
def initialize(code)
@code = code
#msg = "\0".force_encoding(Encoding::ASCII_8BIT) * 1024
msg = "\0\0".force_encoding(Encoding::UTF_16LE) * 1024
#len = FormatMessageA.call(0x1200, 0, code, 0, msg, 1024, 0)
len = FormatMessageW.call(0x1200, 0, code, 0, msg, msg.size, 0)
#msg = msg[0, len].force_encoding(Encoding.find(Encoding.locale_charmap))
msg = msg[0, len].encode(Encoding.find(Encoding.locale_charmap))
#super msg.tr("\r", '').chomp
super msg.tr("\r".encode(msg.encoding), '').chomp
end
selenium-webdriver がエラーに..。
test-unit(2.5.5) と selenium-webdriver(2.39.0) で、あるサイト向けの簡単な回帰テストのコードを書いていまして。
$ rake test
Loaded suite /usr/lib/ruby/gems/rake-10.1.1/lib/rake/rake_test_loader
Started
E
===================================================================
Error: test_sample(Sample)
Selenium::WebDriver::Error::WebDriverError: unexpected response, code=502, content-type="text/html"
...
うーん..。と悩んで以下の記事を見ました。
えっまさか、と思って、設定していた http_proxy の環境変数を unset して再実行すると..動くではありませんか!
普段の開発では proxy 使ってないので、気が付かなかった..。
なぜだー、という気持ちはあるのですが、今日は深堀する気力はもうないです。