selenium简介-----如何理解selenium-WebDriver

简介: 最近经常有人提问,你如何理解和看待这个selenium? 针对这一问题,官网上已经给了很明确的答复:"浏览器的自动化操作,你想干嘛就干嘛.....就这么简单!" Selenium automates browsers. That's it! What you do with that power is entirely up to you. 今天我自己也从头缕缕思路 sel


最近经常有人提问,你如何理解和看待这个selenium?

针对这一问题,官网上已经给了很明确的答复:"浏览器的自动化操作,你想干嘛就干嘛.....就这么简单!"

Selenium automates browsers. That's it! What you do with that power is entirely up to you.


今天我自己也从头缕缕思路大笑


selenium的projects包含如下几个方面:

1.Selenium IDE 、 2.Selenium Remote Control 、 3.Selenium Grid 、4.Selenium WebDriver

1. Selenium IDE作为Firefox上的一个插件,提供录制功能,个人观点,如果能手写代码,就不要用这个东西。

2. Selenium Remote Control是一个客户端/服务器系统,可以在本地或在其他电脑上控制Web浏览器使用几乎任何编程语言和测试框架

3. Selenium Grid 可以远程的控制到并在多个服务器上同时运行测试

4. Selenium WebDriver可以在本地或远程计算机上的驱动浏览器


简单的了解了selenium之后,看看到底selenium哪里适合你?

1. 如果你想做一个强健的、基于浏览器的回归测试

2.多环境下分发和扩展可运行的脚本

这时候就可以选择selenium webdriver, 你可以使用多种脚本语言来驱动浏览器,目前,Selenium WebDriver 已经正式弃用Selenium Remote Control,而Selenium Server 内置了网格功能。


Selenium WebDriver的优点:它将Webdriver的API融入了进来,让selenium有进一步的增强。Webdriver是一套面向对象的API。相比selenium1而言,Selenium WebDriver能够进行更有效的功能测试的覆盖,比如文件上传、下载,弹出窗和对话框的问题,同时也克服了webdriverSelenium RC的单主机同源策略的限制的问题。


如果你使用Java语言来调用selenium WebDriver,那么下面这些接口一定都应该熟悉一下:

AndroidDriver,ChromeDriver,EventFiringWebDriver,FirefoxDriver,HtmlUnitDriver,InternetExplorerDriver,PhantomJSDriver,RemoteWebDriver,SafariDriver

最常用的就应该是FirefoxDriver,扩展一下就应该是InternetExploreDriver和ChromeDriver和SafairyDriver.

如果你想进行一个扩展EventFiringWebDriver也是必不可少的。


吹吹的说起来

selenium WebDriver不过是一个自动化测试工具罢了,优点就是开源易用,支持多种语言,多种浏览器,对于selenium WebDriver的使用来说,无非是在了解其基本操作的API之后,将业务逻辑和功能测试执行流程转换为计算机可读的代码,来代替我们进行复杂重复的人工测试。我们之所以使用它,无非是它能够帮助我们完成任务,达到实际的工作目标。这是从使用者或者说一个程序员的角度来讲,只要熟读API,能够准确的分析页面的DOM,遇到不同的问题,都能想出实际的解决方案,我觉得这作为一个自动化工程师已经很优秀了。如果说这时候你非要做一个平台,能够实现各种功能,要有良好的架构,良好的延展性,稳定性,叫什么软件测试架构师在做的事情,然后非要把那些手动测试的人也拉入到自动化的team中来,然后人家不想学你这个自动化,因为没有编码基础,学起来很费劲,这时候你就说要做一个万能的平台,不需要手动测试去学写代码也能进行自动化测试。。。等等一丢丢的理由吧。。。这时候我想提一个问题,为什么自动化测试现在这么火,但是每个公司或者说每一个team都必须要有手动测试人员呢???答案是很唯一的,因为任何人也取缔不了手动测试人员的角色,既然存在了就肯定有存在的道理。平台固然要作,个人对自动化测试平台的理解是,没有万能的平台,只有适合你自己业务需求的平台,你想用这些功能,你添加进去就好了,对于一个系统的生命周期,我不去评论,因为经验还没到那么多,但是我想说,国内外真的有多少系统能用到7年以上呢?一个系统能做到百年不倒?是不是架构师这个职位就不需要招人填补空缺了呢?或者说,只需要这些架构师整天看着程序员们写代码就可以了呢?腾讯算是国内比较大的互联网公司了,拿腾讯QQ来说,这短短10几年,QQ似乎也做了4次较大版本的改动吧,尤其是第四次的重新架构,可谓是大换血吧,平均算下来,万能的平台靠谱吗?

话说回来,无论使用哪种工具,解决问题才是关键,企业不同于学校,不管你使用了什么样的方法,你能把问题解决掉,那么你就是成功的。最最重要的是看人们给自己的定位,我就见过那种就喜欢做手动测试的人,代码框架你放那,让他配置个参数直接跑就OK了,他会觉得你这个好麻烦,搞不懂,还是我自己点点吧。所以这个东西强求不得。对于自动化工程师的职业发展,也同样看自己的规划了,你可以选择做一名精通于某一个工具或者技术的工程师,你也可以选择做一个名气十足的架构师,这完全看个人的爱好,其实再好的架构,上面的代码还是需要工程师来写的,我还是那句话,各有各的价值,没有高低之分。

一点点个人偏见!






忠 信
对朋友忠诚,对朋友信义,是最可珍藏的汗青.以信义交友,人字是大写的,情谊是纯净的;以信义交友,才能感觉到每天的太阳都那么光彩照人,才能体会到生命的真实存在.

目录
相关文章
|
2月前
|
设计模式 测试技术 Python
《手把手教你》系列基础篇(九十二)-java+ selenium自动化测试-框架设计基础-POM设计模式简介(详解教程)
【7月更文挑战第10天】Page Object Model (POM)是Selenium自动化测试中的设计模式,用于提高代码的可读性和维护性。POM将每个页面表示为一个类,封装元素定位和交互操作,使得测试脚本与页面元素分离。当页面元素改变时,只需更新对应页面类,减少了脚本的重复工作和维护复杂度,有利于团队协作。POM通过创建页面对象,管理页面元素集合,将业务逻辑与元素定位解耦合,增强了代码的复用性。示例展示了不使用POM时,脚本直接混杂了元素定位和业务逻辑,而POM则能解决这一问题。
49 6
|
Web App开发 人工智能 测试技术
[python作业AI毕业设计博客]selenium工具python快速入门1简介
概述 Selenium是一个开源自动化测试套件,适用于跨浏览器和平台的Web应用程序。 它是一组软件工具,每种工具都有不同的方法来支持测试自动化。 Selenium3.*的组件如下: Selenium IDE(集成开发环境 Integrated Development Environment) Selenium WebDriver Selenium Grid Selenium3.停止直接使用Selenium RC。
|
Web App开发 Java 测试技术
|
Java 测试技术 Python
Selenium2+python自动化51-unittest简介
前言 熟悉java的应该都清楚常见的单元测试框架Junit和TestNG,这个招聘的需求上也是经常见到的。python里面也有单元测试框架-unittest,相当于是一个python版的junit。 python里面的单元测试框架除了unittest,还有一个pytest框架,这个用的比较少,后面有空再继续分享。
1334 0
|
7天前
|
Web App开发 机器学习/深度学习 测试技术
软件测试中的自动化策略:以Selenium为例
【8月更文挑战第31天】在软件开发周期中,测试环节扮演着至关重要的角色。随着敏捷开发的兴起,自动化测试成为提升效率和确保产品质量的关键手段。本文将介绍如何利用Selenium工具实现软件的自动化测试,从搭建环境到编写测试脚本,再到执行和分析结果,我们将一步步揭示自动化测试的全过程。文章旨在通过具体示例,帮助读者理解并运用自动化测试技术,提高测试工作的效率和效果。
|
8天前
|
Web App开发 测试技术 API
自动化测试之美:使用Selenium和Python进行Web应用测试
【8月更文挑战第31天】在软件开发的快节奏世界中,自动化测试如同一束明灯,照亮了质量保证之路。本文将引导你通过Selenium和Python的强大组合,探索如何构建高效的Web应用测试框架。我们不仅会讨论理论,还会深入代码,从一个简单的示例开始,逐步扩展至更复杂的场景。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和实用的技巧。让我们一同揭开自动化测试的神秘面纱,体验它的魅力所在。
|
7天前
|
Web App开发 Java 测试技术
自动化测试的新篇章:使用Selenium WebDriver进行高效测试
【8月更文挑战第31天】 在软件开发的海洋中,自动化测试犹如一艘航船,带领着质量保证团队驶向效率与精准的彼岸。本文将揭开Selenium WebDriver的神秘面纱,通过实际案例引导您掌握这一强大的自动化测试工具。我们将从Selenium WebDriver的基础概念出发,逐步深入到代码示例,最后探讨其在现实项目中的应用场景和优势,旨在为您的软件测试之旅提供清晰的指南。
|
7天前
|
Web App开发 测试技术 持续交付
探索自动化测试:以Selenium和Python为例
【8月更文挑战第31天】自动化测试在现代软件开发中扮演着不可或缺的角色。本文将通过一个简化的示例,展示如何使用Selenium和Python进行Web应用的自动化测试。我们将从安装必要的工具开始,逐步构建一个简单的测试脚本,并执行它来验证其功能。通过这个过程,我们旨在揭示自动化测试的价值,并激励读者深入探索这一领域。
|
7天前
|
Web App开发 IDE 测试技术
自动化测试的利器:Selenium 框架深度解析
【8月更文挑战第31天】在软件开发的世界中,自动化测试是提高产品质量和开发效率不可或缺的一环。本文将深入探讨Selenium这一强大的自动化测试工具,从其架构、优势到实战应用,一步步揭示如何利用Selenium框架提升软件测试的效率和准确性。通过具体的代码示例,我们将展示Selenium如何简化测试流程,帮助开发者快速定位问题,确保软件的稳定性和可靠性。无论你是测试新手还是资深开发者,这篇文章都将为你打开一扇通往高效自动化测试的大门。
下一篇
DDNS