ผู้เชี่ยวชาญ:
Galen เป็นเครื่องมือโอเพ่นซอร์สสำหรับทดสอบเลย์เอาต์และการออกแบบเว็บแอปพลิเคชันแบบตอบสนอง นอกจากนี้ยังเป็นกรอบการทดสอบการทำงานที่มีประสิทธิภาพอีกด้วย สำหรับข้อมูลเพิ่มเติม โปรดไปที่ http://galenframework.com
Galen Framework ใช้ Selenium เพื่อเปิดเว็บเบราว์เซอร์และเลือกองค์ประกอบที่ทดสอบบนเพจ มีภาษาพิเศษเพื่ออธิบายเค้าโครงของหน้าเว็บสำหรับเบราว์เซอร์ขนาดต่างๆ คุณเพียงแค่ต้องกำหนดแท็กของคุณเองสำหรับอุปกรณ์และขนาด จากนั้นใช้การตรวจสอบการเขียนภาษาข้อมูลจำเพาะของ Galen สำหรับแต่ละองค์ประกอบบนเพจ วิธีที่ดีที่สุดในการทดสอบเลย์เอาต์คือการตรวจสอบตำแหน่งและขนาดขององค์ประกอบที่สัมพันธ์กัน นี่คือตัวอย่างเล็กๆ น้อยๆ ของไวยากรณ์พื้นฐาน
@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%
สำหรับข้อมูลเพิ่มเติม โปรดอ่านเอกสาร Galen Framework
หากคุณต้องการมีส่วนร่วมในโครงการนี้ เพียงมองหาปัญหาที่เปิดอยู่ในปัจจุบัน โปรดแจ้งให้เราทราบในความคิดเห็นของปัญหาที่คุณกำลังจะไปรับเพราะมีคนสามารถแก้ไขปัญหาได้แล้ว ท้ายที่สุดก็แค่ส่งคำขอดึง อย่างไรก็ตาม คุณลักษณะที่คุณกำลังจะใช้งานไม่ควรเพียงแค่แก้ปัญหาเฉพาะของคุณเท่านั้น ควรขยายและกำหนดค่าได้ ปัญหา GitHub เป็นสถานที่ที่ดีที่สุดในการถกเถียงเกี่ยวกับฟีเจอร์นี้และหารือเกี่ยวกับวิธีการนำไปปฏิบัติ
งานทั้งหมดในเวอร์ชันถัดไปจะดำเนินการในสาขาการเผยแพร่ที่เกี่ยวข้อง (เช่น release-2.5) สาขาหลักสะท้อนถึงเวอร์ชันสดปัจจุบัน คำขอดึงส่วนใหญ่ได้รับการยอมรับในสาขา release และไม่ใช่ในต้นแบบ
หากคุณต้องการเปลี่ยนแปลงเว็บไซต์ Galen Framework (http://galenframework.com) คุณสามารถทำได้ที่นี่ https://github.com/galenframework/galenframework.com
เพิ่มคีย์ GPG ให้กับ maven settings.xml ของคุณ:
<properties>
<gpg.keyname>C78F3CC4</gpg.keyname>
<gpg.passphrase>Password</gpg.passphrase>
...
ตั้งค่าการพึ่งพา mvn clean install
การทดสอบสามารถทำได้ผ่าน mvn verify
หากต้องการรันการทดสอบการรวมระบบกับ Chrome:
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 ดังนั้นสคริปต์การประกอบทั้งหมดจึงเป็นแบบทุบตี ในการรวบรวม dist ด้วยไฟล์ zip เพียงรัน ./makeDist.sh
และมันจะสร้างโฟลเดอร์ dist ที่มีทั้งโฟลเดอร์ไบนารีและซอร์ส และมันจะเตรียมไฟล์ zip ที่นั่นเช่นกัน หากคุณต้องการทดสอบแนวคิดอย่างรวดเร็วและติดตั้ง Galen ทันทีหลังจากการประกอบ คุณสามารถใช้สคริปต์ ./assembleAndInstall.sh
มันใช้ makeDist.sh
จากนั้นเพียงเรียกใช้ sudo ./install.sh
การทดสอบมีสองระดับ อันแรกเป็นเพียง mvn clean test
ปกติ แต่เนื่องจากมีโค้ด Javascript จำนวนมาก คุณจึงต้องมีมอคค่า การทดสอบจะอยู่ในโฟลเดอร์ src/test/js/
หากต้องการเรียกใช้เพียงไปที่โฟลเดอร์นั้นแล้วดำเนินการ testJs.sh
Galen Framework ได้รับอนุญาตภายใต้ Apache License เวอร์ชัน 2.0