كيفية إنشاء اختبار تلقائي منظم مع السيلينيوم (Junit أو Testng)؟ ما هي أفضل الممارسات الخاصة بك لهذا؟

StackOverflow https://stackoverflow.com/questions/1326783

سؤال

لدي اختبارات مكتوبة تستخدم السيلينيوم لاختبار وظيفي. أنا أستخدم جافا. أود أن أكون قادرا على إنشاء هيكل بين الاختبارات. هل من الممكن أن تفعل ذلك مع Junit أو Testng؟

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

Top test FAIL
- Module1 test PASS
-- Module1Class1 test PASS
-- Module1Class2 test PASS
--- Module1Class3Method1 test PASS
--- Module1Class3Method2 test PASS
- Module2 test FAIL
-- Module2Class1 test FAIL
--- Module2Class1Method1 test PASS
--- Module2Class1Method2 test FAIL
--- Module2Class1Method3 test PASS
هل كانت مفيدة؟

المحلول 5

لقد وجدت فقط الحل لهذا السؤال لذلك أنا وضع الرابط هنا حتى يتمكن الآخرون من الاستفادة منه.beust.com. لم أحاول ذلك حتى الآن.

تحديث:بعد أن أحاول ذلك، يمكنني توليد نتائج مثل هذا:

Module1.Class3.Method1 PASS
Module1.Class3.Method2 PASS
Module2.Class1.Method1 PASS
Module2.Class1.Method2 FAIL
Module2.Class1.Method3 PASS

اسم طريقة الفشل هو "method2" الموجود في الفئة "class1" وهو الحزمة "module2".

لقد استخدمت جميع الاحتمالات القياسية من Testng (الكثير منها) + لقد قمت بإلغاء اختبار TestRistenerAdapter باستخدام أساليب ITestresult: GetName () و GettestClass (). GetName ()

ليس حقا الهيكل الذي كنت أبحث عنه، لكن تحليل بعض الشيء يمكن أن تخبرني أين كانت الفشل. وكما زائد ليس لدي أسماء الأساليب مع الفصل واسم الحزمة فيه.

نصائح أخرى

أفضل نمط رأيته لتنظيم التعليمات البرمجية وراء اختبارات السيلينيوم هو نمط كائن الصفحة:

http://blog.m.Artins.net/acceptance-tests-with-jbehave-selenium-pjects/

إليك مكتبة مساعد Java:

http://code.google.com/p/webdriver/wiki/paithactory.

لا يمكنك ذلك، لأن هذا ليس التنسيق الذي يفسره السيلينيوم الاختبارات. يدعم السيلينيوم العديد من مبادلات اللغة المختلفة، وهي أسهل منها صفوف JS و HTML. يمكنك استخدام ميزة السجل من السيلينيوم IDE من Firefox إذا كنت لا ترغب في متناول اليد كتابة اختباراتك لتناسب بناء جملة لغة معينة.

هل فكرت في استخدام جهاز التحكم عن بعد السيلينيوم؟http://seleniumhq.org/projects/remote-control/

أود أن أوصي بالنظر إلى تقارير Junit أو Testng XML. يجب أن تكون قادرا على تحويلها مع القليل من XSLT لتوفير تقرير HTML جديد بتنسيقك المطلوب.

في TESTNG يمكنك تحديد الأجنحة عبر ملف التكوين (testng.xml) والتي يجب أن تتطابق مع احتياجاتك. يمكنك تنظيمها للحصول على مجموعة اختبار لكل وحدة نمطية. فشل في مجموعة الاختبار يجعل الاختبار بأكمله كفطال. لكنني أعتقد أنك يمكن أن تفعل ذلك أيضا في جونيت، وأنا لست على دراية للغاية.

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

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

أنا لست متأكدا مما إذا كنت هنا هنا .. ولكن أعتقد أن هذا يمكن أن يساعدك:http://www.jamesnetherton.com/blog/2007/07/02/creating-a-selenium-Test-Suite/

يمكنك تجميع اختباراتك معها بطريقة سهلة للغاية.

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