Vcr: VCR لا يلعب بشكل جيد مع السيلينيوم (وكابيبارا)

تم إنشاؤها على ٩ مارس ٢٠١٠  ·  5تعليقات  ·  مصدر: vcr/vcr

عندما أضع علامة كاسيت على خيار مميز تم تمييزه بعلامة javascript (مما تسبب في استخدام

في المرة الأولى التي أقوم فيها بتشغيله ، يحدث كل شيء كما هو متوقع: تسجيلات الكاسيت والبيانات المستخدمة وكل شيء يمر.

في المرة التالية التي أقوم فيها بتشغيله (خارج الكاسيت) ، يفشل مع الطلب غير المسجل: GET http: // localhost : 9887 / تحديد .

يبدو أن السيلينيوم يحتاج إلى التحدث إلى الخادم الخاص به باستخدام هذا المنفذ (اختبار اتصاله لمعرفة ما إذا كان موجودًا ، في هذه الحالة). لست متأكدًا تمامًا من كيفية قيام VCR بعبث ذلك ، ولكنه كذلك.

قد يكون من المفيد السماح بطلبات المضيف المحلي من خلال (إما قابل للتكوين أو بواسطة علامة

التعليق الأكثر فائدة

clyfe - c.ignore_localhost = true بدلاً من ذلك ؛ إنه مصمم خصيصًا لهذا الغرض.

ال 5 كومينتر

يجب حل ذلك عن طريق 2ed9c3c318305ee39fa054997da1b67c1413a408.

أواجه نفس المشكلة في الإصدار 1.11.3 ، مع اختبار طلبات rspec باستخدام: js => true (capybara ، السيلينيوم).

  • في المرة الأولى التي أقوم فيها بتشغيله ، يحدث كل شيء كما هو متوقع: تسجيلات الكاسيت والبيانات المستخدمة وكل شيء يمر.
  • في المرة التالية التي أقوم فيها بتشغيله (خارج الكاسيت) ، يفشل مع الطلب غير المسجل: GET http://localhost:9887/__identify__ .

لقد تجاوزت هذا عن طريق تعيين c.allow_http_connections_when_no_cassette = true في بعض المواقف.

clyfe - c.ignore_localhost = true بدلاً من ذلك ؛ إنه مصمم خصيصًا لهذا الغرض.

myronmarston شكرًا على c.ignore_localhost = true ، لقد ساعدني ذلك. لكنني أردت تسجيل خدمة محلية. لذلك قمت بتسجيله أولاً ثم غيرت المضيف في الكاسيت.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات