前一段时间,需要实现一个模拟页面操作的功能,去检测程序运行是否稳定,因此就用到了web自动化检测的功能。
1、实现该功能,首先需要一个浏览器(firefox,chrome),
2、然后需要一个操作浏览器的驱动程序,需与浏览器相对应(geckodriver,chromedriver)
3、之后便是我们在程序中使用的测试工具(selenium)
4、因为在linux中进行操作,所以需要一个虚拟的Xserver(Xvfb)来进行桌面的模拟。
因为在centos进行操作,最开始使用了firefox+geckodriver,但最终实现一直不稳定(可能是版本问题),换成了chromium+chromedriver。
1、下载rpm文件
下载地址:https://pkgs.org/download/chromium
找到下边的centos7,即可获取链接,点击进去向下拉,找到download
利用wget进行下载
2、下载完成后,通过yum下载chromium
yum localinstall ./chromium-[刚下载的rpm版本号].rpm
下载地址:http://chromedriver.storage.googleapis.com/index.html
找到与下载的chromium相对应的版本,或者最紧邻的版本
1、利用yum下载软件
yum install xorg-x11-server-Xvfb bzip gtk3
2、编写Xvfb执行脚本,使更方便对其执行进行控制
touch /etc/init.d/xvfb
vi /etc/init.d/xvfb
(将下边内容粘贴进去)
#!/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
3、开启Xvfb需要设置环境变量,可以添加在/etc/profile下,也可以先设置临时的
export DISPLAY=:7
4、将文件变为可执行文件,并执行
cd /etc/init.d/
chmod 777 ./ xvfb
./xvfb start
./xvfb status
5、测试,此时我们便可以使用浏览器进行访问网页
chromium-browser -headless --no-sandbox http://www.baidu.com
或者
/usr/bin/chromium-browser -headless --no-sandbox http://www.baidu.com
打印出来一堆信息,说明安装成功,
org.seleniumhq.selenium selenium-java 3.141.59
放入自己的浏览器地址以及驱动
(如果可以直接,用chromium-browser命令,可以省去设置浏览器地址)
运行及打印结果:
上一篇:求美人出浴的描写句子!
下一篇:APT 攻击溯源方法