Selenium WebDriver自动化测试完全指南
上QQ阅读APP看书,第一时间看更新

1.3 在Windows和Linux操作系统上安装Selenium

本书基于Python讲解Selenium。这里假定读者使用过Python,并了解Python的基本语法和配置方法。

要下载Python的Selenium库,可以在PyPI官方网站上搜索Selenium,在弹出的页面中单击相应的链接。当然,更好的方法是使用pip命令来下载。可以使用以下命令来安装Selenium。

#通过pip来安装
pip install selenium

如果你使用的是较为老旧的Python 2.x版本,那么可以手动安装Selenium或者使用easy_install工具来简化安装。使用easy_install工具安装Selenium的命令如下。

#使用easy_install工具安装
easy_install selenium

当安装完成后,可以通过以下命令检验安装是否成功。

C:\Users\xuyichenmo>python
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:06:47) [MSC v.1914 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

没有消息就是好消息。如果输入import selenium而没有任何提示,那么就证明已经成功安装了Selenium。

接着,下载Selenium服务器(这一项是可选的,我们不一定非要安装Selenium服务器,它主要用于运行Selenium IDE录制的脚本)。

因为Selenium基于Java编写,所以还要安装Java Runtime Environment(JRE)1.6或者更高版本的JRE(下载地址参见Oracle官网)。

同样,我们可以在Selenium项目官方网站的一个子页面中下载Selenium Standalone Server。截至2018年4月,Selenium Standalone Server的最新版本为3.13.0(下载页面参见SeleniumHQ网站)。

安装完JRE后可以按Windows+R组合键打开“运行”窗口,然后在“打开”文本框中输入cmd,打开命令行窗口,接着输入以下命令来启动Selenium服务器。

java -jar F:\Python_ADDED\selenium-server-standalone-3.13.0.jar

这里,需要把-jar参数后面的selenium-server-standalone文件所在的目录替换成实际文件所在的目录。

在刚安装完JRE就直接运行这条命令时,可能会因为端口占用问题而启动失败。如果出现这种情况,可以通过以下命令来解决。

netstat -aon | findstr "[端口号]"
tasklist | findstr "[PID号]"
taskkill /pid [PID号] /

可以看到,在第一次使用调用服务器命令后,Java提示失败。Selenium默认调用4444端口,而这个端口已经被占用,在解除了对端口的占用后,才可以成功调用。

下面介绍命令中几个选项的含义。

 

●--debug和-debug:布尔型,用于启用LogLevel.FINE日志文件,记录调试信息。默认值是false。

●--version和-version:用于显示版本和退出。默认值是false。

●-browserTimeout:整型的秒数,用于指定允许浏览器会话的秒数。在WebDriver命令运行时(如driver.get(url))允许会话暂停的最大秒数,当达到超时值后,会话会退出。最小值为60s。如果未指定,则为零或负值,意味着无限期等待。

●-config:字符串型的文件名,使用独立服务器的JSON配置文件,覆盖默认值。

●-host:字符串型的IP地址或主机名,通常自动确定,常在跨国网络连接的配置中使用(例如,使用VPN的网络)。

●-jettyThreads和-jettyMaxThreads:Jetty(Jetty是一个用Java编写的Web服务器和Java Servlet容器)中允许的最大线程数。如果未指定,则设置为零或负整值,表示将使用Jetty默认值200。

●-log:字符串型的文件名,用于记录的文件名。如果省略,将输出到STDOUT。

●-port:整型,表示服务器将使用的端口号。

●-role:字符串型的可选项,可以设置为“hub”“node”和“standalone”。

●-timeout和-sessionTimeout:以整型表示的秒数,在服务器自动关闭上一个没有任何活动的会话前,用于指定服务器超时的时间。然后将释放测试槽以供另一次测试使用。这通常用于处理客户端冲突。对于“hub”和“node”格式,还必须设置cleanUpCycle。

通常Linux操作系统都自带Python。在使用Linux操作系统时,如果Linux操作系统安装的是2.x版本的Python,这里推荐大家再安装一个3.x版本的Python。

可以使用以下命令下载安装Python管理工具包。

sudo apt-get install python-pip

下面这条命令用于安装setuptools。

sudo apt-get install python-setuptools

下面这条命令用于安装Selenium。

sudo pip install selenium