سؤال

يستخدم مشروعي الحالي NUnit لاختبارات الوحدة ولقيادة اختبارات UAT المكتوبة باستخدام السيلينيوم.يقوم المطورون عادةً بإجراء الاختبارات باستخدام مشغل اختبار ReSharper في VS.Net 2003 ويقوم صندوق البناء الخاص بنا بإطلاقها عبر NAnt.

نود إجراء اختبارات UAT بالتوازي حتى نتمكن من الاستفادة من شبكة السيلينيوم/المنسقين المقيمين حتى يتمكنوا من العمل بشكل أسرع بكثير.

هل لدى أي شخص أي أفكار حول كيفية تحقيق ذلك؟و/أو أفضل الممارسات لاختبار اختبارات السيلينيوم في بيئات متصفحات متعددة دون كتابة اختبارات مكررة تلقائيًا؟

شكرًا لك.

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

المحلول

لم يكن هناك الكثير من العمل حول هذا الموضوع.لم أجد أي شيء ذي صلة حقا.

ومع ذلك، تم أخذ وجهة نظرك بشكل جيد.تحتوي معظم الأجهزة في الوقت الحاضر على عدد أكبر من النوى وأقل قوة مقارنةً بوحدة المعالجة المركزية القوية ذات النواة الواحدة.

لذلك وجدت شيئًا ما على مدونة Microsoft.تسمى هذه التقنية PUnit وهي مصممة خصيصًا لاختبار البيئة متعددة الخيوط.

إنه أقرب ما يمكن إلى ما طلبته حتى أتمكن من العثور عليه :)

يمكنك زيارة منشور المدونة المناسب هناك: http://blogs.microsoft.co.il/blogs/eyal/archive/2008/07/09/punit-parallel-unit-testing-in-making.aspx

تحديث:الرابط لم يعد صالحا بعد الآن.تمت إزالة المشروع الموجود على CodePlex.

التحديث2:هذا موجود في خريطة الطريق لـ NUnit 2.5. مرجع

نصائح أخرى

وأنا ناضلت مع كل هذه المشاكل نفسي. في النهاية أنا وضعت مخصص Nunit اختبار عداء قادر على تشغيل اختبارات متعددة في موازية. هذا جنبا إلى جنب مع تمديد Taumuon.Rakija لnunit يسمح الاختبارات المراد إنشاؤها dynmaically اعتمادا على المتصفح الذي تريد اختبار لتشغيل على.

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

ومما يؤسف له أنه لا يبدو أن هناك حلا جيدا لهذه المشاكل بالفعل لذلك ربما عليك حلها بنفسك لبيئة التشغيل الخاصة بك.

وNUnit الإصدار 3 ستدعم تشغيل الاختبارات في موازاة ذلك، هذا يعمل جيدا مع الشبكة السيلينيوم:

وإضافة السمة إلى فئة: سوف [Parallelizable(ParallelScope.Self)] تشغيل الاختبارات الخاص بالتوازي مع الطبقات اختبارات أخرى

<اقتباس فقرة>   

و• ParallelScope.None يشير إلى أن الاختبار لا يمكن أن تعمل بشكل متواز   مع اختبارات أخرى.

     

و• ParallelScope.Self يشير إلى أن الاختبار   في حد ذاته قد يكون بالتوازي مع اختبارات أخرى.

     

و• ParallelScope.Children يشير إلى أن أحفاد الاختبار قد   يتم بالتوازي مع الاحترام لبعضهم البعض.

     

و• ParallelScope.Fixtures يشير إلى أن المباريات يمكن تشغيل في نفس الوقت   مع بعضها البعض.

إطار مواز للتجارب تنفيذ NUnit

وايجور Brejc لديه وظيفة بلوق حول تشغيل الاختبارات بالتوازي باستخدام MbUnit.

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

http://igorbrejc.net/development/continuous للاندماج / gallio و-تشغيل-اختبارات-بالتوازي

ويمكنك استخدام مكتبة موازية العمل والطبقة DynamicObject لتحقيق الموازاة من نفس الاختبار على عدة متصفحات. انظر مقالتي تشغيل السيلينيوم بالتوازي مع أي أداة اختبار وحدة. NET للحصول على مزيد من التفاصيل.

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