Ketika saya meletakkan tag kaset pada fitur Mentimun yang ditandai dengan @javascript (menyebabkan Capybara menggunakan driver Selenium), hal-hal aneh mulai terjadi ...
Pertama kali saya menjalankannya, semuanya terjadi seperti yang diharapkan: kaset, data digunakan, dan semuanya berlalu.
Lain kali saya menjalankannya (dari kaset), gagal dengan permintaan Tidak Terdaftar: GET http://localhost :9887/ identifikasi .
Tampaknya Selenium perlu berbicara dengan servernya menggunakan port itu (ping untuk melihat apakah ada, dalam hal ini). Saya tidak begitu yakin bagaimana VCR mengacaukannya, tapi memang begitu.
Mungkin akan berguna untuk mengizinkan permintaan localhost melalui (baik dapat dikonfigurasi atau dengan tag @allow_localhost , atau keduanya).
Ini harus diselesaikan dengan 2ed9c3c318305ee39fa054997da1b67c1413a408.
Saya mengalami masalah yang sama pada versi 1.11.3, dengan tes permintaan rspec dengan :js => true (capybara, Selenium).
GET http://localhost:9887/__identify__
.Saya mengatasi ini dengan menetapkan c.allow_http_connections_when_no_cassette = true
dalam beberapa situasi.
@clyfe -- Saya sarankan Anda menggunakan opsi konfigurasi c.ignore_localhost = true
sebagai gantinya; itu khusus ditujukan untuk ini.
@myronmarston Terima kasih untuk c.ignore_localhost = true
, itu membantu saya. Tapi saya ingin merekam layanan lokal. Jadi pertama-tama saya merekamnya dan kemudian mengubah host di kaset.
Komentar yang paling membantu
@clyfe -- Saya sarankan Anda menggunakan opsi konfigurasi
c.ignore_localhost = true
sebagai gantinya; itu khusus ditujukan untuk ini.