سؤال

نحن نحاول دمج الاختبارات في إصداراتنا اليومية باستخدام TestComplete، حتى الآن لدينا جهاز مخصص للاختبار ونُسخ البرنامج النصي الخاص بنا إلى هذا الجهاز كل ما يحتاجه TestComplete لاختباراته (التطبيق وقاعدة البيانات ومشروع البرنامج النصي للاختبار والملفات المصدر، وما إلى ذلك) .

يمكننا في الأساس فتح مشروع TestComplete يدويًا وإجراء الاختبارات.

والآن نريد أتمتة هذه العملية، فكيف يمكنك القيام بذلك؟أو كيف تعتقد أن الطريقة الأبسط والأفضل لإجراء هذه الأتمتة؟

باختصار، نريد أتمتة عملية فتح TestComplete بعد كل إنشاء، وتشغيل جميع الاختبارات وإرسال بريد إلكتروني يتضمن نتائج الاختبار.

يمكن لأي شخص أن يشارك بعض الخبرة حول هذا؟

شكرًا.

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

المحلول

الإجابة على سؤالي الخاص:

كان الحل هو كتابة تطبيق C# صغير موجود على علبة النظام ويراقب المجلد.

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

اعتمادًا على رمز الخروج، أعرف ما حدث في الاختبارات، رموز الخروج المحتملة هي:

0 - لم ينتج عن الاختبار الأخير أخطاء أو تحذيرات.
1 - نتائج الاختبار الأخيرة تتضمن تحذيرات ولكن لا توجد أخطاء.
2 - نتائج الاختبار الأخيرة تتضمن أخطاء.
3 - لا يمكن إجراء الاختبار بسبب وجود خطأ

يمكن العثور على مزيد من المعلومات حول ExitCodes في ملف تعليمات TestComplete.

نصائح أخرى

حسنًا، على الرغم من أنني لم أستخدم TestComplete، إلا أنني استخدمت حزمة منافسة تسمى QA Wizard Pro.نظرًا لأنك تطرح هذا السؤال، فأنا أفترض أنه ليس شيئًا مدعومًا أصلاً بواسطة TestComplete.معالج ضمان الجودة هو بنفس الطريقة ويتوقعون تشغيله يدويًا بدلاً من تشغيله تلقائيًا، على الرغم من وجود ملفات تشغيل اختبارية يمكن تشغيلها.بالنسبة لمعالج ضمان الجودة، قمت بإنشاء ملف دفعي تم تشغيله ليلاً من برنامج جدولة المهام.يجب أن يكون حساب تشغيل البرنامج قادرًا على التفاعل مع سطح المكتب ويجب أن يقوم المستخدم بتسجيل الدخول مع العرض.لقد استخدمت برنامجًا مجانيًا يسمى AutoHotKey لأتمتة تشغيل الاختبارات وبعد ذلك بعض سيجوين أدوات لتحليل النتائج وإطلاق بريد إلكتروني من خلالها بلات مع النتائج.إنه ليس حلاً مثاليًا ولكنه يعمل.

يجب عليك أيضًا النظر في استخدام TestExecute.هذا برنامج (أرخص بكثير) من Automated QA والذي سيقوم بتنفيذ البرامج النصية TestComplete.

سيوفر عليك هذا من الاضطرار إلى الحصول على ترخيص TestComplete كامل لخادم الإنشاء/الاختبار الخاص بك.

إذا كان لديك TestExecute، جرب هذا.يعمل في كل مرة....

C:\PROGRA~1\AUTOMA~1\TESTEX~1\Bin\TestExecute.exe "path\Project.pjs" /r /e
Set wshShell = CreateObject("WScript.Shell")
wshShell.Run("""C:\Program Files\Automated QA\TestComplete 6\Bin\TestComplete.exe"" ""C:\Documents and Settings\My Documents\TestComplete 6 Projects\abc\abc.pjs(your script path)"" /r /p:(Project Name) /u:(Unit Name) /rt:(Method to be executed) /e /SilentMode")

انسخ الأسطر أعلاه في برنامج "المفكرة" واحفظها كملف .vbs.
أنشئ ملف .bat وضعه على خادمك المتكامل.
تصفح مسار ملف .vbs المذكور أعلاه من خلال ملف الخفافيش الخاص بملف TestComplete exe.

بالنسبة لملف الخفافيش، يمكنك كتابة هذه السطور مباشرة في برنامج "المفكرة" بتنسيق

C:\WINDOWS\system32\cmd.exe
WScript.Echo ""
Set wshShell = CreateObject("WScript.Shell")
wshShell.Run("""C:\Program Files\Automated QA\TestComplete 6\Bin\TestComplete.exe"" ""C:\Documents and Settings\My Documents\TestComplete 6 Projects\abc\abc.pjs"" /r /p:prj1 /u:Unit1 /rt:Test1 /e") 

احفظ ملف txt هذا بامتداد .bat.بعد ذلك قم بإنشاء مهمة من خلال خادم CI الخاص بك.

للأشخاص الذين ما زالوا يبحثون عن هذا:أصدرت SmartBear مكونًا إضافيًا لـ TestComplete لـ Jenkins.لذلك، يمكن الآن استخدامه دون الحاجة إلى اختراق الأشياء.

معلومات حول البرنامج المساعد: https://plugins.jenkins.io/TestComplete

بيان صحفي: https://smartbear.com/news/news-releases/smartbear-simplify-continious-delivery/

هناك طرق مختلفة للقيام بهذا النشاط.الطريقة الأفضل والأقوى هي استخدام نظام التحكم في السرعة Cruise control.NET للتكامل المستمر لدورة الاختبار/التطوير.

الطريقة الثانية هي إنشاء ملف دفعي لتشغيل البرنامج النصي للاختبار الكامل باستخدام معلمة سطر الأوامر.جدولة تشغيل هذا الملف الدفعي.قم أيضًا بتضمين تطبيق واحد بسيط (والذي سيقوم بتحديث نتيجة الاختبار في Excel/حالات الاختبار) باعتباره testApp.واتصل بهذا بعد كل حالة اختبار/سيناريو.قم بإنشاء وظيفة إرسال بريدي لإرسال هذه النتيجة بعد إكمال تشغيل TC.

أنا بالفعل أستخدم هذه الطريقتين،

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

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

يمكنك استخدام مهمة TestComplete لـ Bamboo لتشغيل اختبارات TestComplete مع TestComplete أو TestExecute وتحليل الاختبارات في Bamboo ودمجها مع JIRA.https://marketplace.atlassian.com/plugins/com.mdb.plugins.testcompletetask/server/overview

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