أقدم لكم - قالب جاهز للاختبار باستخدام Spring.
مقدمة
الغرض من هذه المقالة هو إظهار أن الكتابة التلقائية باستخدام Spring أسهل من الكتابة بلغة Java النقية.
أريد أيضًا أن أوضح كيف تجعل Java + Spring الحياة أسهل للمختبرين.
من هو هذا المقال ل؟
إذا كنت بحاجة إلى دعم ملفات تعريف متعددة (مثل WEB و MOBILE و COM و RU) - فإن Spring هو الخيار الأمثل لك.
سيكون هذا القالب ممتعًا لأولئك الذين يرغبون في رفع / إنشاء تطبيقهم ، لكنهم لا يعرفون من أين يبدأون.
ماذا تحصل على وظيفة القراءة
بعد القراءة ، سيكون لديك فكرة عن كيفية تنفيذ القالب الخاص بك في Java + Spring.
ما يحتاج إلى تثبيت.
- جافا 11.
- مخضرم 3.6.1 والإصدارات الأحدث.
فوائد الربيع
الربيع يتمتع بشعبية كبيرة إذا ظهر الربيع في التشغيل الآلي الخاص بك - بالتأكيد سيشكر المطورون لك.
أعتقد أن الربيع نادر جدًا في الاختبار ، لأن لا أحد ألغى مهام الأتمتة ، وكقاعدة عامة ، لا يوجد الكثير من الوقت للتنمية ، أو لا يوجد شيء على الإطلاق.
يحتوي Spring على العديد من المشاريع المختلفة ، أحدها هو Spring Boot - والذي يسمح لك بتكوين Spring تلقائيًا وتحدث أشياء كثيرة تحت الغطاء ، من خلال كتابة 3 سطور نحصل على المشروع النهائي.
ما هو مدرج في المشروع
ربما يكون الخيار أحد أكثر أطر الاختبارات الآلية انتشارًا والذي ينفذ مقاربة تطوير تعتمد على السلوك .
سيلينيد هو إطار عمل مساعد لكتابة اختبارات واجهة المستخدم الرشيقة القائمة على السيلينيوم.
WebDriverManager - الذي يعتني كل العمل القذر
إضافة متغيرات لمشروع System.setProperty ("webdriver.browser.driver" ، "/ path_to_driver / driver") ؛
lombok - java lib يقوم تلقائيًا بإنشاء طرق مثل tostring و getter و setter.
Spring jdbc - يبسط الوصول إلى BDs العلائقية ويجعل العمل مع SQL أسهل.
قم بتنزيل المشروع
https://github.com/andewBr/seleniumWithSpring
لبدء المشروع ، تحتاج إلى تحديد في سطر خيارات VM:
-Dspring.profiles.active=dev-andrew

حزمة والبنية الهيكلية
الحزمة (التكوين) - تكوين المشروع.
الفئة WebdriverBeanConfig - الفئة الأكثر أهمية ، تتم تهيئة WebDriver.

class DBBeanConfig - فصل نضع فيه فاصوليا للعمل مع BD ، أخبر Spring بمكان الحصول على مصدر البيانات

خصائص PropertiesConfig - فئة للعمل مع البيانات في طريقة عرض شجرة
// @Value("${habr.url}") // private String url; )) @Autowired private PropertiesConfig property; property.getWeb().getBaseurl();

الحزمة (الصفحة) - حزمة لتخزين المواقع وعناصر الويب - (كما هو مكتوب برأس جافا java "برنامج على مستوى الواجهة.") ما سنفعله في المستقبل)
واجهة الصفحة - خريطة الأسلوب <String، SelenideElement> getElements ()؛

جميع الفئات الأخرى في هذه الحزمة بإرجاع MAP <مفتاح ، العنصر نفسه>

حزمة (الخدمة)
CommanService - فئة للعمل مع SelenideElement التي ننفذ فيها العمل مع الصفحة

ترث الفئة BasePageService من فئة CommonService وتعالج العناصر.

حزمة الحزمة - العمل مع ملفات الميزة

resources.features -> ميزات الملفات نفسها
