سؤال

وأضفت بعض الاختبارات WatiN بسيطة لدينا التطبيق اليوم للتأكد من أن يتم تخزين قيمة الكعكة بشكل صحيح.

والاختبارات تمر محليا على جميع الآلات في الفريق. ومع ذلك، عند تشغيل CruiseControl الاختبارات على الخادم البناء لدينا هذه التجارب الجديدة تفشل في السطر الذي يحتوي

وbrowser.GetCookie(url, cookieName)

والخطأ الوارد في السجل CruiseControl هو الكستناء القديم:

وObject reference not set to an instance of an object.

وأنا قد قمت بتسجيل الدخول إلى ملقم بناء مع سطح المكتب البعيد، وذلك باستخدام نفس حساب المستخدم الذي CruiseControl تحته، وتشغيل MbUnit يدويا، واختبارات تمر. لذلك لا يمكن أن يكون مشكلة مع الأذونات على الخادم بناء على الكوكيز الوصول.

ولقد بدا من خلال جميع الوثائق WatiN للمساعدة، ولكن تأتي فارغة. لقد إعادة تشغيل خدمة CruiseControl. لقد حاولت كل شيء أستطيع أن أفكر في وأنا الآن في حيرة تماما الآن على ما يمكن أن تكون مختلفة في طريقة تحكم أوتوماتيكي للسرعة تدير هذه الاختبارات.

هل أحد يعرف ما يمكن أن يسبب هذا و / أو كيفية حلها؟

هل كانت مفيدة؟

المحلول

وحاول تشغيل CruiseControl كتطبيق بدلا من خدمة. WatiN يميل إلى تعليق عند تشغيل من خدمة (منذ لا تعلق خدمات ويندوز لجلسة UI، وWatiN يتطلب واحدة للتعامل مع مربعات الحوار في IE).

ولكن إلى جانب ذلك ... أذكر أنه يتم تخزين IE الكوكيز في ملف تعريف المستخدم الخاص بك. لا يتم تحميل الملفات الشخصية عند تشغيل الخدمات - وهم العمليات الشيطان التي تعمل بهدوء في الخلفية ولا تعمل في الواقع في سياق جلسة تسجيل الدخول. وأظن أن هذا هو سبب الاستثناء الخاص بك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top