阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Selenium WebDriver自动化测试

437次阅读
没有评论

共计 2891 个字符,预计需要花费 8 分钟才能阅读完成。

selenium 家族介绍
       Selenium WebDriver 自动化测试
 
Selenium IDE:Selenium IDE 是嵌入到 Firefox 浏览器中的一个插件,实现简单的浏览器操作的录制与回放功能。
 
Selenium RC:Selenium RC 是 Selenium 家族的核心工具,支持多种不同的语言编写自动化测试脚本,通过 Selenium RC 的服务器作为代理服务器去访问应用从而达到测试的目的。Selenium RC 分 Client Libraries 和 SeleniumServer,Client Libraries 库主要主要用于编写测试脚本,用来控制 Selenium Server。Selenium Server 负责控制浏览器行为,总的来说,Selenium Server 主要包括 3 个部分:Launcher、Http Proxy、Core。其中 Selenium Core 是被 Selenium Server 嵌入到浏览器页面中的,其实就是一堆 JS 函数的集合,通过这些 JS 函数实现用程序对浏览器进行操作,Launcher 用于启动浏览器,把 selnium Core 加载到浏览器页面当中,并把浏览器的代理设置为 Selenium Server 的 Http Proxy。
 
Selenium Grid:Selenium Grid 是一种自动化的测试辅助工具,利用 Grid 可以很方便地同时在多台机器上和异构环境中并行运行多个测试事例。其特点为:并行执行;通过一个主机统一控制用例在不同环境、不同浏览器下运行;灵活添加变动测试机。
 
Selenium 1.0 自动化测试工作方式:通过 Selenium IDE 将录制的脚本导出为“Python2/unittest/Remote Control”等语言格式,然后通过 Selenium Server 运行 Selenium RC 来控制浏览器行为。Selenium Server 可运行于不同版本的平台和浏览器上,以实现异构环境中自动化运行测试,脚本的并行运行依赖于脚本自身的多线程多进程技术。
 
Selenium 2.0:
Selenium 2.0 = Selenium 1.0 + WebDriver     在 Selenium 2.0 中主推的是 WebDriver,WebDriver 是 Selenium RC 的替代品,因为 Selenium 为了向下兼容性,所以 Selenium RC 并没有彻底抛弃。
 
Selenium RC 与 WebDriver:
 
  • Selenium RC 在浏览器中运行 JavaScript 应用,使用浏览器内置的 JavaScript 翻译器来翻译和执行 selenese 命令(selenese 是 Selenium 命令集合);需要 selenium server 才能运行测试用例,只能支持 web 应用的测试。
  • WebDriver 通过原生浏览器支持或者浏览器扩展直接控制浏览器。WebDriver 针对各个浏览器而开发,取代了嵌入到被测 Web 应用中的 JavaScript。与浏览器的紧密集成支持创建更高级的测试,避免了 JavaScript 安全模型导致的限制。除了来自浏览器厂商的支持,WebDriver 还利用操作系统级的调用模拟用户输入;既能测试 PC web 应用也能测试移动 web 应用。

selenium 环境安装

安装 selenium 模块:

前提:已安装 python 及 pip 模块
如果是电脑处于联网状态的话,可以直接在 C:\Python27\Scripts 下输入命令安装:C:\Python27\Scripts > pip install -U selenium
     Selenium WebDriver 自动化测试
如果没联网,可以通过下载安装:
  • selenium 下载地址:https://pypi.python.org/pypi/selenium
  • 下载 selenium 并解压把整个目录放到 C:\Python27\Lib\site-packages 目录下即可

查看 selenium 模块版本:

     Selenium WebDriver 自动化测试

 

安装 Selenium IDE:
启动 Firefox,然后导航到 http://seleniumhq.org/download/。在 Selenium IDE 部分,单击显示如下所示当前版本号的链接,firefox 自动弹出安装步骤依次完成安装。
      Selenium WebDriver 自动化测试
 
或直接下载 selenium IDE 插件 selenium-ide-2.8.0.xpi 然后使用 firefox 浏览器打开启动安装。
安装完成后可在 firefox 的工具栏中打开:
     Selenium WebDriver 自动化测试
 
注意事项:selenium IDE 与 firefox 的版本兼容性,目前以下版本可适配:
  • firefox 37.0.2
  • selenium 2.8.0
 
安装 chrome 浏览器驱动 chromedriver:
1、下载驱动程序 chromedriver.exe
2、置于已配置 path 路径的目录下,如 C:\driver
环境变量:DRIVER_HOME = C:\driver    
              Path = %Path%;%DRIVER_HOME%
 
 
WebDriver 所支持的驱动:
   Selenium WebDriver 自动化测试
   Selenium WebDriver 自动化测试
 
安装 selenium server:
下载地址:http://www.java2s.com/Code/Jar/s/Downloadseleniumserverstandalone270patchedsourcesjar.htm

 


 selenium 自动化测试脚本执行

1)直接在 eclipse+pydev IDE 工具上执行:

     Selenium WebDriver 自动化测试

2)命令行执行:

命令行执行带单元测试框架的自动化脚本:python -m unittest test_baidu_search
命令行执行自动化脚本:python run_testcase.py
 
3)Selenium Grid 脚本分布式执行:
     原理:
      Selenium WebDriver 自动化测试
 
不同平台及浏览器的参数:
 
       Selenium WebDriver 自动化测试
       Selenium WebDriver 自动化测试
 
     需要首先启动 selenium server,可以在单台机器上启动一个或多个节点,也可以在多台机器上启动多个节点,然后按上面的方法执行 selenium grid 脚本。
    Selenium WebDriver 自动化测试
 
启动主节点:
java -jar selenium-server-standalone-2.39.0.jar -role hub
 
启动分支节点:
java -jar selenium-server-standalone-2.39.0.jar -role node -port 5555
java -jar selenium-server-standalone-2.39.0.jar -role node -port 5556

远程主机上启动分支节点:
java -jar selenium-server-standalone-2.39.0ar -role node -port 5555 -hub http://172.16.10.66:4444/grid/register

要在其它主机启动 node 必须满足以下几个要求:
1、本地 hub 主机与远程 node 主机之间可以相互 ping 通
2、远程主机必须安装运行脚本的运行环境(Python、Selenium、浏览器及浏览器驱动)
3、远程主机必须安装 java 环境,因为需要运行 Selenium Server。

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-01/139823.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2891字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7822540
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
优雅、强大、轻量开源的多服务器监控神器

优雅、强大、轻量开源的多服务器监控神器

优雅、强大、轻量开源的多服务器监控神器 在多台服务器同时运行的环境中,性能监控、状态告警、资源可视化 是运维人...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
使用1Panel面板搭建属于你的AI项目环境

使用1Panel面板搭建属于你的AI项目环境

使用 1Panel 面板搭建属于你的 AI 项目环境 在 AI 项目越来越火的今天,很多朋友都想自己动手搭建一...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
Python自学26 – Cookie和Session

Python自学26 – Cookie和Session

Python 自学 26 – Cookie 和 Session 在学习 Web 开发时,Cooki...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...
星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...