centos系统下搭建selenium server结合php完成自动化网站测试和采集数据

selenium server 由于需要图形化界面,所以我们首先介绍vncserver的安装和配置


一. 安装gnome图形化桌面

    

yum group install -y "X Window System"
yum group install -y "Desktop"
yum group install -y "Chinese Support"

二. 安装vncserver并配置

    1.安装vncserver      

 yum install -y tigervnc-server

   2.配置vncserver

        1).配置为开机自启动        

    chkconfig --level 345 vncserver on

        2).配置vnc密码

           vncserver

          You will require a password to access your desktop.

          Password:

          Verify:

        3).配置为使用gnome桌面

            修改 /root/.vnc/xstartup文件,把最后的 twm & 删掉 加上 gnome-session &。

        4).配置vncserver启动后监听端口和环境参数

            修改/etc/sysconfig/vncservers 文件添加以下内容

            VNCSERVERS=”1:root”

            # 桌面号:用户    监听 590* 端口

            VNCSERVERARGS[1]=”-geometry 1200×800″

        5).重启vncserver服务

            #service vncserver restart


三. 允许root访问图形界面和生成新的machine-id

   

 sed -i 's/.*!= root.*/#&/' /etc/pam.d/gdm 
 dbus-uuidgen >/var/lib/dbus/machine-id

四. 关闭selinux和NetworkManager服务

     1.检查selinux服务并关闭

        #vi /etc/selinux/config

        确认里面的SELINUX字段的值是disabled,如果不是则改为disabled。

     2.关闭NetworkManager服务

        #chkconfig –del NetworkManager


五. 测试登录:cleint可在此下载

  

现在说安装selenium server


1:需要java的支持

    

yum -y install java

2:需要浏览器的支持,我们用frefox来做

yum -y install firefox


3:下载selenium server

wget http://selenium-release.storage.googleapis.com/2.48/selenium-server-standalone-2.48.2.jar


4:下载selenium server


java -jar selenium-server-standalone-2.48.2.jar -port 4444


最后,我们用PHP来通过selenium server来操纵firefox浏览.client库用的是https://code.google.com/p/php-webdriver-bindings/

代码示例:


require_once "phpwebdriver/WebDriver.php";
require("phpwebdriver/LocatorStrategy.php");

$webdriver = new WebDriver("localhost", "4444");
$webdriver->connect("firefox");                            
$webdriver->get("http://google.com");
$element = $webdriver->findElementBy(LocatorStrategy::name, "q");
$element->sendKeys(array("selenium google code" ) );
$element->submit();

$webdriver->close();


最后总结一下,这样我们可以通过他来自动化测试PC网站,或者模拟浏览器来采集一些比较难采集的数据,当然也可以做自动化网站的功能,这主要看大家的兴趣!

此条目发表在 好文推荐 分类目录,贴了 标签。将固定链接加入收藏夹。

评论功能已关闭。