يتقن:
Galen هي أداة مفتوحة المصدر لاختبار التخطيط والتصميم سريع الاستجابة لتطبيقات الويب. وهو أيضًا إطار اختبار وظيفي قوي. لمزيد من المعلومات قم بزيارة http://galenframework.com
يستخدم Galen Framework السيلينيوم لفتح متصفح الويب وتحديد العناصر التي تم اختبارها على الصفحة. يحتوي على لغة خاصة لوصف تخطيط صفحة الويب لأحجام المتصفحات المختلفة. كل ما عليك فعله هو تحديد العلامات الخاصة بك للأجهزة والأحجام ثم استخدام لغة جالينوس الخاصة بفحص الكتابة لكل عنصر في الصفحة. أفضل طريقة لاختبار التخطيط هي التحقق من موقع العناصر وأبعادها بالنسبة لبعضها البعض. فيما يلي مثال صغير على بناء الجملة الأساسي.
@objects
header id header
menu css #menu
content id content
side-panel id side-panel
footer id footer
= Main section =
@on *
header:
inside screen 0px top, 0px left, 0px right
menu:
inside screen 0px left right
below header 0px
content:
below menu 0px
inside screen 0px left
@on desktop
side-panel:
below menu 0px
inside screen 0px right
width 300px
near content 0px right
@on mobile
content, side-panel:
width 100% of screen/width
side-panel:
below content 0px
وهنا مواصفات أكثر تقدما:
# example of using custom rules (functions)
@set userMargin 5 to 10 px
@objects
user-* div.users-list .user
@rule %{pattern} are below each other by %{distance} and aligned
@forEach [pattern] as object, prev as prevObject
${object}:
below ${prevObject} ${distance}
aligned vertically all ${prevObject}
= Checking all users =
| user-* are below each other by ${userMargin} and aligned
العبارات الشرطية:
@objects
banner-container #banner-container
= Banner section =
@if ${isVisible("banner-container")}
banner-container:
image file imgs/banner.png, error 5%
لمزيد من المعلومات، يرجى قراءة وثائق إطار جالينوس
إذا كنت تريد المساهمة في هذا المشروع، فما عليك سوى البحث عن المشكلات المفتوحة الحالية. يرجى إعلامنا في التعليقات الخاصة بالمشكلة أنك ستلتقطها لأنه يمكن أن يعمل عليها شخص ما بالفعل. في النهاية فقط أرسل طلب السحب. بالمناسبة، الميزة التي ستعمل عليها لا ينبغي أن تحل مشكلتك الخاصة فقط. يجب أن تكون قابلة للتمديد والتكوين. تعد مشكلات github أفضل مكان لمناقشة الميزة ومناقشة كيفية تنفيذها.
يتم تنفيذ كل العمل على الإصدار التالي في فرع الإصدار المقابل (على سبيل المثال، الإصدار 2.5). يعكس الفرع الرئيسي النسخة المباشرة الحالية. يتم قبول معظم طلبات السحب في فرع الإصدار وليس في الإصدار الرئيسي.
إذا كنت ترغب في إجراء تغيير على موقع Galen Framework الإلكتروني (http://galenframework.com) فيمكنك القيام بذلك هنا https://github.com/galenframework/galenframework.com
أضف مفتاح GPG إلى إعدادات maven.xml:
<properties>
<gpg.keyname>C78F3CC4</gpg.keyname>
<gpg.passphrase>Password</gpg.passphrase>
...
قم بإعداد التبعيات mvn clean install
يمكن تشغيل الاختبار عبر mvn verify
لتشغيل اختبارات التكامل ضد الكروم:
mvn clean verify -Dwebdriver.chrome.driver=/opt/dev/chromedriver -Dselenium.browser=chrome
يرجى التأكد من تنزيل برنامج chromedriver، انظر هنا
تحتاج أيضًا إلى Maven 3.3 أو أحدث وNode مع بعض الوحدات:
sudo npm install -g grunt-cli
sudo npm install -g bower
يعتمد هذا المشروع على Maven. يمكنك استخدام كل من Intellij أو Eclipse لذلك. يتم تطويره في Linux لذا فإن جميع البرامج النصية للتجميع موجودة في bash. لتجميع التوزيعة باستخدام أرشيفات مضغوطة، ما عليك سوى تشغيل ./makeDist.sh
وسيقوم بإنشاء مجلد dist يحتوي على المجلدات الثنائية والمجلدات المصدرية وسيقوم بإعداد أرشيفات مضغوطة هناك أيضًا. إذا كنت تريد اختبار المفهوم بسرعة وتثبيت galen مباشرة بعد التجميع، فيمكنك استخدام script ./assembleAndInstall.sh
. يستخدم makeDist.sh
ثم يستدعي sudo ./install.sh
فقط
هناك مستويين من الاختبار. الأول هو مجرد mvn clean test
العادي. ولكن نظرًا لوجود الكثير من أكواد Javascript، فأنت بحاجة إلى Mocha. توجد الاختبارات في المجلد src/test/js/
. لتشغيل ما عليك سوى الانتقال إلى هذا المجلد وتنفيذ testJs.sh
تم ترخيص Galen Framework بموجب ترخيص Apache، الإصدار 2.0