selenium--大家庭介绍

安装好配置环境后,开始我的selenium之旅。简单的了解一下色,selenium大家庭的组成。

Selenium是ThoughtWorks专门为 Web 应用而开发的功能测试工具。Selenium使用JavaScript和Iframes在浏览器嵌入自动化测试引擎,可以在任何支持JavaScript的浏览器中进行工作,模拟用户在浏览器中进行的操作。Selenium的强大之处就在于可以使用集成开发环境,让用户使用自己最熟悉的开发语言进行调试操作。

Selenium的优势:

1)它是开源的

2)简单,易于安装,易于工作

3)提供Selenium IDE ,一个FireFox plugin,能自动记录用户的操作,生成测试脚本。生成的测试脚本可以基于Selenium RC放入Java,C#,Ruby的单元测试用例中自动运行。selenium ide是selenium的唯一可以在浏览器窗口上记录用户行为的组件

4)除了火狐上的事件外不会记录你电脑上的任何其他事件

5)Selenium支持多种浏览器,能够运行与多种操作系统,因此更容易帮助测试人员发现应用程序在不同浏览器上的兼容性问题。通过在不同浏览器中运行测试,更容易发现浏览器的不兼容性.

6)通过编写模仿用户操作的 Selenium 测试脚本,可以从终端用户的角度来测试应用程序;可以操作 Web 页面上的各种元素,诸如:点击按钮、输入文本框,以及断言 Web 页面上存在某些文本与 Web 元素等。

7)测试用例调用实际的浏览器(如IE、FireFox)来执行测试。和有些开源方案自行实现Web解释引擎相比,实际的浏览器能模拟更多用户交互和JS语法。    8) SELENIUM录制的脚本比较灵活,因为它生成的是PERL的脚本程序。作为几乎最为强大和最广泛使用语言之一,PERL这种程序给予我最大的灵活性和控制度。

Selenium IDE 支持并且只支持 Firefox 浏览器,支持的浏览器太少,而依附于 Firefox 也不便于日后开展自动化测试,但是,它的录制快捷好用!并且有代码 转换功能,可以把 Selenium 语言测试案例转为 C#,Java 等语言的测试案例,使用 Selenium IDE + FireBug 进行测试案例的编写,然后转为其他语言的测试案例后,再调用 Selenium RC运行测试案例。

Selenium RC 它支持很多浏览器,可以使用 C#,Java 等语言编写测试案例,易于维护,同时提供了很好的扩展性,将使用Selenium RC 测试工具。

selenium 和 WebDriver 合幵后创建了一个新的 Selenium 2 框架。 Selenium 是一个针对网页应用测试非常好的框架。他有着一些积极的影响。WebDriver 也不像 Selenium 1 一样需要一个代理。你可以直接和浏览器进行对话。这也非常受人们欢迎的,因为可以加快测试的执行速度,不需要一个“中间人”进行传递消息。

Selenium IDE:右Command、target、value组成的表格就是脚本,每个脚本都是一条条的action行为组成,action有CTV 三者组成,command就是api中的各种函数,target就是web中的某个目标对象,比如:输入框、按钮等,使用xpath选取对象。Value:根据实际内容填写。

在这里可以手动的增加两种页面校验:verify和assert。他们都能对显示内容,输出内等做验证,区别在于:

verify:验证失败了,会抛出期望结果不存在的错误,但是测试过程会继续执行下面的步骤,但会显示成淡红的。

assert:验证失败,测试不会继续执行下去。

Selenium 没有指明会等到需要交互的元素出现,所以你最好等到需要交互元素出现时再迕行交互,即利用wait指令。如带有下拉菜单,带有ajax的页面都要有所等待,等页面元素准备好了再进行下一步的操作。

Selenium RC:有两部分组成

Selenium Server:负责控制浏览器行为,包括三个部分:launcher、http proxy、Selenium core,其中Selenium core是Selenium server嵌入到浏览器页面中的,Selenium core是一堆JS函数的集合,从而实现对浏览器的操作。

Selenium Clientlibrary:写测试案例时用来控制server的库。

支持很多浏览器,可以使用C#,Java 等语言编写测试案例,易于维护,同时提供了很好的扩展性。

Selenium Grid 允许创建很多个 Selenium RC实例,由一个中心来发送 Selenium RC命令。拥有一个中心点 Hub, 测试可以连接到此点,  测试命令会推送到连接在此集线器上的Remote RC 实例上。 这个中心有一个 web 界面(localhost:4444/console), 告诉你连接在此集线器上的Selenium RC 实例,和返些实例是否正在使用的状态。

# 启动Selenium Server
java –jar selenium-server-standalone-2.22.0.jar -port 4444

# 启动Selenium Grid的Hub
java –jar selenium-server-standalone-2.22.0.jar -port 4000 -role hub

# 启动Selenium Grid的Node,其中的-hub参数,是Selenium Grid的Hub的URL
java -jar selenium-server-standalone-2.22.0.jar -port 4001 -role node -hub http://127.0.0.1:4000/grid/register

#显然,可以启动多个Node:
java -jar selenium-server-standalone-2.22.0.jar -port 4002 -role node -hub http://127.0.0.1:4000/grid/register

WebDriver

WebDriver 提供一个先进技术来定位 web 页面元素。其实WebDriver就是基于Selenium的一个自动化测试类库,但它不再是运行在浏览器内的JS程序,而是自己可以控制浏览器。webdriver提供了很多方式来定位元素,对于不同平台的语言都有相关的api,如C#、java、python、ruby等等。

前段时间利用空余的时间学习这方面的知识,现将其一点点的整理出来。

时间: 2024-10-26 11:50:28

selenium--大家庭介绍的相关文章

二、Selenium版本介绍

Selenium版本介绍 selenium1.0 selenium IDE 1.firefox插件(只支持Firefox) 2.用处 实现简单的自动化 用来提交bug(对于描述比较复杂的bug进行录制成脚本提供给开发回放) 导出脚本 :录制完毕脚本之后--文件 selenium Grid 用来做分布式自动化,详见文档 独立的.jar包 selenium RC(Reomte Control)--核心 用处: 1.远程控制 2.不同语言,不同浏览器去使用 RC :不是一个独立的工具,是被集成在sel

利用Selenium制作python数据抓取,以及对Selenium资源介绍

当当当~第三篇博客开始啦~ 这次的话题是数据抓取.终于到了核心部分的探讨,我的心情也是非常激动啊!如果大家baidu或者google(如果可以的话)数据抓取或者data crawling,将会找到数以千计的例子.但是大多数的代码非常的冗长,并且许多代码还是抓取静态数据之后,对动态JS写成的数据却毫无办法.或者,利用HTML解析网址后,再找到JS写的数据页面来寻找到所想要的数据. 但是!不知各位是否有发现过,如果打开chrome或者safari或者各种浏览器的审查元素.网页上能看到的数据,其实都会

Python + selenium + pycharm 环境部署细节 和selenium简单介绍

一.测试体系:Python + selenium + pycharm + Jenkins/docker 环境搭建: 1.安装python 3.4/3.5 2/3.6/ 3.7 2.配置环境变量 3.pip install selenium==版本号3.3  (框架用成熟的语言用最新的) 4.安装编辑器pycharm,项目路径不能包含中文,名字有意义,Python的版本选择要正确 5.浏览器Firefox 版本<47   chrome <54 版本  免webdriver驱动,浏览器自带了web

Selenium 使用介绍

Selenium 是 thoughtworks公司的一个集成测试的强大工具.最近参与了一个系统移植的项目,正好用到这个工具, 把一些使用心得分享给大家,希望大家能多多使用这样的强大的,免费的工具,来保证我们的质量. Selenium 的文档现存的不少,不过都太简单了.使用Selenium的时候,我更多的是直接去看API文档,好在API不错, 一个一个看,就能找到所需要的 :-)   官方网站:http://www.openqa.org/selenium/ 好,下面进入正题! 一.Selenium

java selenium (八) Selenium IDE 用法

Selenium IDE 是Firefox 浏览器的一个插件, 它会记录你对Firefox的操作,并且可以回放它的操作. 用法简单,不过我觉得这个没多大的用处 阅读目录 Selenium IDE 介绍 Selenium IDE 是Firefox 浏览器的一个插件, 它会记录你对Firefox的操作,并且可以回放它的操作 Selenium IDE 的作用 在实际自动化测试中,不会用Selenium IDE, 因为没有逻辑判断,什么的,不方便 IDE 主要用来辅助,  录制了操作步骤, 导成java

Selenium基础知识

本人博客文章网址:https://www.peretang.com/basic-knowledge-of-selenium/ 什么是Selenium Selenium是一个自动化测试工具 是一组不同的工具 其支持在多个浏览器平台上执行测试 为什么需要Selenium 1. 使原本手动的测试变成自动化 2. 更容易完成频繁的回归测试 3. 更快速的反馈给开发人员与测试人员 4. 几乎无限次迭代的测试执行 5. 更有纪律的测试用例 6. 自动生成缺陷报告 7. 补充手动测试的遗漏 Selenium组

基于Selenium 2的自动化测试(源码)

基于Selenium 2的自动化测试 出版社: 机械工业出版社副标题: 从入门到精通出版年: 2014-8-9页数: 210定价: 39.80装帧: 平装ISBN: 9787111467830 简介 本书向开发人员和测试人员展示了如何使用Selenium进行Web自动化测试.本书从自动化测试的特点娓娓道来,引出了主角Selenium:介绍了Selenium IDE的使用:讲述了获取页面元素和定位页面元素的多种方式:讲解了WebDriver与Selenium RC的区别.WebDriver的架构和

基于Selenium 2的自动化测试

基于Selenium 2的自动化测试 出版社: 机械工业出版社副标题: 从入门到精通出版年: 2014-8-9页数: 210定价: 39.80装帧: 平装ISBN: 9787111467830 简介 本书向开发人员和测试人员展示了如何使用Selenium进行Web自动化测试.本书从自动化测试的特点娓娓道来,引出了主角Selenium:介绍了Selenium IDE的使用:讲述了获取页面元素和定位页面元素的多种方式:讲解了WebDriver与Selenium RC的区别.WebDriver的架构和

Selenium自动化测试框架的搭建

说 起自动化测试,我想大家都会有个疑问,要不要做自动化测试? 自动化测试给我们带来的收益是否会超出在建设时所投入的成本,这个嘛别说是我,即便是高手也很难回答,自动化测试的初衷是美好的,而测试工程师往往在实现 过程中花费了很多成本.精力,而最终以失败告终. 失败的原因会很多,我总结几项: 1.   太过依赖测试工具,高估了工具的力量,最终会以失望告终. 2.    项目紧急的情况,为了规避那些多余的环节,干脆人工测试,结果整个链路中断. 3.    研发和测试人员不能很好的交互,如果这两个角色之间