Selenium-WebDriver và Headless test tích hợp trong Cucumer

hub_and_nodes

Giới thiệu:
Selenium – nói 1 cách đơn giản, là công cụ automator tất cả các thao tác của con người trên browser.


Bạn có thể giả lập 1 set các action, VD như:

Selenium có 2 cách dùng, Selenium Server và Selenium WebDriver. Hiện nay trên firefox đã có plugin Selenium IDE. Bạn có thể dùng nó để record lại hành động của mình và export ra test code in Python, Ruby, C#, hoặc Java. Selenium test code chạy ở chế độ bình thường sẽ tự động bật browser của bạn lên và tự hành động y như bạn đã làm trước dó 😀

Tuy nhiên để quy trình test không tốn quá nhiều tài nguyên, người ta thường hay config để selenium chạy headless trên Linux. VD như Python sẽ có package Xvfb, cho phép tạo display chạy ngầm và bật web driver trên đó.

Bạn muốn chạy Headless thì cần kiểm tra case trước đối với Selenium-WebDriver
Tham khảo http://rdoc.info/github/leonid-shevtsov/headless

Cài đặt:
Với rails app, đặt vào trong gemfile, sau đó chạy lệnh cài đặt bunlde
gem “headless”, “>= 1.0.1”
Headless là một wapper cho Xvfb( package tạo display ảo của Linux ).
Ngoài ra để quay video từ màn hình ta sử dụng gói ffmpeg.
Trên linux có thể cài qua :

yum install ffmpeg

Selenium: là công cụ giả lập action trên browser, bắt chước y hệt thao tác của user và ko loại trừ bất cứ hạn chế nào
Cài đặt Xvfb and ffmpeg
Trong Centos sử dụng lệnh :

yum install Xvfb

Add file /etc/init.d/xvfb nhu sau:

#!/bin/bash
#
# /etc/rc.d/init.d/xvfbd
#
# chkconfig: 345 95 28
# description: Starts/Stops X Virtual Framebuffer server
# processname: Xvfb
#

. /etc/init.d/functions

[ "${NETWORKING}" = "no" ] && exit 0

PROG="Xvfb"
PROG_OPTIONS=":7 -ac -screen 0 1024x768x24"
PROG_OUTPUT="/tmp/Xvfb.out"

case "$1" in
start)
echo -n "Starting : X Virtual Frame Buffer "
$PROG $PROG_OPTIONS>>$PROG_OUTPUT 2>&1 >
disown -ar
/bin/usleep 500000
status Xvfb & > /dev/null && echo_success || echo_failure
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
/bin/touch /var/lock/subsys/Xvfb
/sbin/pidof -o %PPID -x Xvfb > /var/run/Xvfb.pid
fi
echo
;;
stop)
echo -n "Shutting down : X Virtual Frame Buffer"
killproc $PROG
RETVAL=$?
[ $RETVAL -eq 0 ] && /bin/rm -f /var/lock/subsys/Xvfb /var/run/Xvfb.pid
echo
;;
restart|reload)
$0 stop
$0 start
RETVAL=$?
;;
status)
status Xvfb
RETVAL=$?
;;
*)
echo $"Usage: $0 (start|stop|restart|reload|status)"
exit 1
esac

exit $RETVAL

cd /etc/init.d/xvfb
khởi động:

service xvfb start

Cài đặt selenium-server
Download: wget http://selenium.googlecode.com/files/selenium-server-standalone-2.24.1.jar
để chạy vừa là hub vừa là node ta sử dụng câu lệnh

java -jar selenium-server-standalone-2.24.1.jar

Add a Comment

Scroll Up