سؤال

أنا ذاهب لبدء الترميز بعض الاختبارات المؤتمتة من العرض قريبا.يبدو أن الجميع توصي WatiN و السيلينيوم.التي تفضل لاختبار الآلي ASP.NET ويب الأشكال ؟ أي من هذه المنتجات تعمل على نحو أفضل بالنسبة لك ؟

كملاحظة جانبية, لقد لاحظت أن WatiN 2.0 في CTP منذ آذار / مارس 2008 ، هو شيء أن تكون قلقا ؟

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

المحلول

ونريد فقط أن أقول إنني أعمل جاهدة حاليا على إصدار بيتا من WatiN 2.0 مكان ما في Q1 من عام 2009. وسوف يكون على ترقية كبيرة في الإصدارات الحالية CTP 2.0 وسوف اعطيكم اساسا نفس الوظائف لأتمتة فايرفوكس وIE كإصدار 1.3.0 يقدم لأتمتة IE.

وحتى لا مخاوف هناك.

وآمل أن يساعد هذا في جعل اختيارك يروين فان منن قيادي ديف WatiN

نصائح أخرى

إذا كنت تبحث لجعل الاستثمار خطيرة على المدى الطويل في إطار من شأنها أن تستمر في تحسين وبدعم من المجتمع، السيلينيوم هو على الارجح أفضل رهان. على سبيل المثال، لقد عدت للتو عبر هذه المعلومات على بلوق مات Raible ل:

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

واعتبارا من يوم الجمعة، وجوجل لديها أكثر من 50 فريقا   تشغيل أكثر من 51K الاختبارات في اليوم   مزرعة السيلينيوم الداخلية. 96٪ من هؤلاء   يتم التعامل مع الاختبارات السيلينيوم RC و   وآلات زراعية بشكل صحيح. الأخرى   هي 4٪ يرجع في جانب منه إلى RC البق، جزئيا   لاختبار الأخطاء، ولكن عزل   السبب يمكن أن يكون صعبا. السيلينيوم له   اعتمدت والتكنولوجيا الأساسية   لاختبار وظيفي من على شبكة الإنترنت   التطبيقات في Google. هذا هو   الخبر السار.

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

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

كنت أحاول عليهما معا و هنا هي بلدي الأفكار الأولية...


WatiN

الخير

  • تنفيذ سريع.
  • البرنامج النصي إنشاء أدوات مستقلة المشاريع ؛ هناك 2 أن أعرف: الشمع (Excel من القائمة ، المستضافة على CodePlex) ، WatiN اختبار سجل (يتم استضافتها على سورس).لا هي قوية مثل السيلينيوم IDE.
  • جيد جدا أي دعم.يمكن إرفاق و فصل من الحالات على التوالي.يمكن الوصول إلى الأم مقابض إطار الخ.(انظر البرنامج النصي المثال أدناه).
  • NuGet تعبئتها ، من السهل الحصول على التشغيل .NET Visual Studio نمط البيئات والحفاظ على تحديثه.

سيئة

  • غوغلينغ WatiN (watin xyz) غالبا ما يسبب جوجل أن يوصي "watir xyz" بدلا من ذلك.غير أن الكثير من الوثائق هناك.
  • قليلا ما هناك هو (التوثيق) ، هو مربك ؛ على سبيل المثال:للوهلة الأولى يبدو أنه لا يوجد دعم أصلي محددات CSS.خصوصا أن هناك امتداد المكتبات مثل 'WatiNCssSelectorExtensions' والعديد من المواد بلوق عن تقنيات بديلة (مثل حقن مسج/همسة في الصفحة).على تجاوز سعة مكدس وجدت تعليق من قبل يروين فان منن مما يوحي بأن هناك دعم أصلي.على الأقل الرصاص المطور تنفق الوقت على تجاوز سعة مكدس :)
  • لا الأم XPath الدعم.
  • أي خارج منطقة الجزاء بعد تنفيذ/الشبكة القائمة على التنفيذ.

البرنامج النصي المثال (C#).لا يمكنك أن تفعل هذا مع السيلينيوم (لا أعرف ، على الأقل):

class IEManager
{
    IE _ie = null;
    object _lock = new object();

    IE GetInstance(string UrlFragment)
    {
        lock (_lock)
        {
            if (_ie == null)
            {
                var instances = new IECollection(true);  //Find all existing IE instances
                var match = instances.FirstOrDefault(ie=>ie.Url.Contains(UrlFragment));
                _ie = match ?? new IE();
                if (match==null)  //we created a new instance, so we should clean it up when done!
                    _ie.AutoClose = true;
            }
        }

        return _ie;
    }
}

السيلينيوم

  • أبطأ من WatiN (خصوصا عملية جديدة لابد من خلق).
  • المدمج في محددات CSS/XPath الدعم.
  • السيلينيوم IDE جيدة (لا أستطيع أن أقول كبيرة, لكنه الأفضل في فئتها!).
  • يشعر جافا العش من .صافي العش...لكن حقا انها لغة البرمجة الملحد;كل الأوامر التي يتم إرسالها إلى الخارج عملية 'سائق'.السائق هو حقا 'المضيف' عملية متصفح سبيل المثال.جميع الاتصالات يجب أن يكون تسلسل في/الخروج عبر حدود العملية ، مما قد يفسر سرعة القضايا المتعلقة WatiN.
  • تنفصل العمليات - "سائق" و "السيطرة" يعني أكثر متانة مزيد من التعقيد ، وما إلى ذلك ، ولكن أيضا أسهل لإنشاء شبكات/توزيع بيئات الاختبار.أود حقا أحب ذلك إذا كان "توزيع" آلية (أيالتواصل بين السائق السيطرة) كانت عبر WebSphere أو القائمة الأخرى, قوية, انتظار الرسائل مدير.
  • دعم كروم وغيرها من المتصفحات في الخروج من مربع.

على الرغم من كل شيء ، ذهبت مع WatiN في النهاية ؛ أنا أساسا تنوي كتابة الشاشة الصغيرة-تجريف التطبيقات ترغب في استخدام LINQPad من أجل التنمية.ربط إلى جهاز التحكم عن بعد أي سبيل المثال (التي لم تفرخ نفسي) هو زائد كبيرة.أنا كمان في القائمة سبيل المثال... ثم تشغيل قليلا من السيناريو...ثم عزف مرة أخرى.... الخهذا من الصعب القيام به مع السيلينيوم, على الرغم من أنني افترض "مؤقتا" يمكن أن تكون جزءا لا يتجزأ في البرنامج النصي خلال الوقت الذي كنت قد كمان مباشرة مع المتصفح.

وأكبر الفرق هو أن السيلينيوم يحظى بدعم لمتصفحات مختلفة (وليس فقط IE أو FF، انظر HTTP : //seleniumhq.org/about/platforms.html#browsers

.

وبالإضافة إلى ذلك، السيلينيوم ديه خادم التحكم عن بعد ( http://seleniumhq.org/projects/remote- السيطرة / )، مما يعني أنك لا تحتاج إلى تشغيل المتصفح على نفس الجهاز تشغيل رمز اختبار. لذا يمكنك اختبار التطبيق ويب. على منصات OS مختلفة.

في عام أود أن أوصي باستخدام السيلينيوم. لقد استعملت WatiN منذ سنوات قليلة، ولكن لم أكن راضية عن استقرارها (أنها ربما تحسن من الآن). أكبر زائد عن السيلينيوم بالنسبة لي هو حقيقة أنه يمكنك اختبار التطبيق الويب. على متصفحات مختلفة.

لا.استخدام الكيب.فإنه يلتف السيلينيوم.أكثر دواما. https://github.com/featurist/coypu

التحديث يي أوليفر أنت على حق.طيب لماذا أفضل ؟ شخصيا لقد وجدت السيلينيوم تشغيل أي على وجه الخصوص أن تكون هشة للغاية - هناك عدد من 'معيار' سائق الاستثناءات التي كنت مرة أخرى وجدت عند القيادة السيلينيوم وحدة الاختبارات على اياكس المواقع الثقيلة.

لم أذكر أنني أريد كتابة البرامج النصية في c# بمثابة اختبار المشروع ؟ نعم اختبارات القبول في غضون المستمر بناء النشر.

حسنا الكيب يتعامل مع ما ورد أعلاه.إنه مجمع على السيلينيوم الذي يسمح اختبار تركيبات مثل ،

browser.Visit("file:///C:/users/adiel/localstuff.htm")
browser.Select("toyota").From("make");
browser.ClickButton("Search");

...والتي سوف تدور حتى (شكلي العلامة التجارية) متصفح تشغيل البرنامج النصي.يعمل كبيرة مع راقب والمناطق جدا قابلة للتمديد.

هناك المزيد من الأمثلة في جيثب كما Olvier أدناه يذكر, أدريان الفيديو ممتازة.أعتقد أنها أفضل طريقة لدفع المتصفح على أساس الاختبارات في .صافي العالم ويحاول أن يتبع ذلك روبي تحمل الاسم نفسه capybara

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

وأهم شيء سيكون التي بيئة تطوير تحب أن تكون في؟ السيلينيوم وWatin يكون مسجلات لكن السيلينيوم في المتصفح وwatin في الاستوديو المرئي. + و-'s إلى كل من هؤلاء.

وحتى الآن نحن مايكروسوفت متجر النقي لتقديم حلول للمشروع وذهبت مع WatiN. قد يتغير هذا في المستقبل.

وكمصدر أحدث:

مايكروسوفت المطبوعة في <لأ href = "http://msdn.microsoft.com/en-us/magazine/gg490346.aspx" يختلط = "noreferrer" عنوان = "" يحركها السلوك تنمية مع SpecFlow وWatiN "في MSDN مجلة 12/2010 "> MSDN مجلة 12/2010 على BDD-التمهيدي مع مزيج من SpecFlow مع WatiN (تبريد BDD-سلوك التنمية المدفوعة باعتبارات). وقد نشر مؤلفها براندون Satrom (MSFT المطور الإنجيلي) أيضا في ديسمبر كانون الاول عام 2010 <وأ href = "http://www.ditii.com/2010/12/27/video-webcast-using-asp-net-mvc-with -community الأدوات / "يختلط =" noreferrer "عنوان =" "استخدام ASP.NET MVC مع أدوات الجماعة" على diTii.com "> تعليم فيديو بث على شبكة الإنترنت بالتفصيل 1: 1 استنتاجاته أعلاه

وهناك المستند التقني من 04/2011 على دعم ATDD / BDD مع SpecLog، SpecFlow وفريق مؤسسة خادم (اختبار القبول التنمية المدفوعة باعتبارات / السلوك التنمية المدفوعة باعتبارات) من <لأ href = "http://skillsmatter.com/expert/open-source-dot-net/christian-hassa" يختلط = "noreferrer" عنوان = "كريستيان الأحساء"> الأحساء مسيحي ، التي بنيت فريق SpecFlow.

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

وأنا عموما استخدام السيلينيوم، وذلك أساسا لأنني أحب المساعد السيلينيوم IDE لفايرفوكس لتسجيل نقاط انطلاق لبلدي التجارب.

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

فكرت باستخدام كليهما.لقد استخدمت مسجل السيلينيوم لبناء بعض الاختبارات في FF.حاولت أن تفعل الشيء نفسه في Watin وجدت أن Watin مسجل (2.0.9.1228) عديمة القيمة تماما عن مواقعنا.بدا التقديم على الموقع في IE6-مما يجعل موقعنا بشكل فعال غير صالحة للاستعمال لتسجيل.نحن لا دعم IE6.لم أتمكن من العثور على أي طريقة لتغيير المتصفح هو استخدام.أنا فقط وجدت واحدة Watin مسجل هناك.إذا كان هناك أكثر من واحد ، أو أن يتم الاحتفاظ حتى الآن ، يرجى التعليق.

السيلينيوم مسجل IDE for Firefox بسيط لاستخدام منافذ الاختبارات C#.أنها ليست كبيرة في هذا.لم أستطع الحصول على ترقية اختبار suites العمل على الرغم من قراءة بلوق وظيفة أو اثنين التي قد الحلول.لذلك هناك بعض التلاعب من التعليمات البرمجية التي تم إنشاؤها.لا يزال يعمل 90% و هذا أفضل من البديل.

المال/الوقت ، السيلينيوم هو المتفوق فقط لسهولة بناء اختبارات جديدة.أي لا يملك أي مطور جيد أشرطة الأدوات التي هي في أي مكان بالقرب جيدة كما الحرائق, لذا أنا أقوم التنمية في فايرفوكس لتبدأ بعد ذلك عمل جيدة مسجل في فايرفوكس هو مكافأة ضخمة.

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

وفي خطر الخروج على الظل، أنصح فأس / WatiN. يسمح الفأس الاختبارات المراد كتابتها في Excel عن طريق اختبار 'دليل' ليس لديهم معرفة من "لغة" الكامنة وراء الاختبار. فإنه لا تحتاج إلى "فني" لكتابة الإجراءات مفصل (IE. اليوم كان علي أن أفعل لبحث جدول معقد قليلا والإحالة المرجعية) ولكن بمجرد كتابة الإجراءات التي يمكن أن تستخدم في الاختبارات من قبل اختبار غير techy.

وسمعت أيضا أن المشروع UK بوابة الحكومة (التي أعتقد أنها لديها اختبارات 6K + اختبارات مؤتمتة) استدار مؤخرا جميع الاختبارات الخاصة بهم من فأس / Winrunner إلى فأس / Watin خلال أسبوع !! والعديد من اختبارات معقدة جدا - وأنا أعلم كما عملت عليه قبل بضع سنوات ...

وأنا أبحث في السيلينيوم في الوقت الراهن، كما يستخدم عميل محتمل عليه. لكنني أقترح نظرة وي في فأس كطبقة فوق أداة "حصان العمل".

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

وسيكون لديك للقيام على حد سواء إذا ما عليك القيام به IE وFF الاختبار، لكنها لن يؤدي الا الى العمل بشكل جيد لاختبار العرض. أنها غير قادر على اكتشاف ما إذا كان عنصر واحد هو قليلا قبالة، فقط أن العناصر موجودة. أنا لا أعرف من أي شيء يمكن أن يحل محل العين البشرية لاختبار UI / العرض، على الرغم من أنك يمكن أن تفعل بعض الأشياء للمساعدة (أخذ لقطات من صفحات في كل خطوة للمستخدمين لاستعراض).

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