先后和nemo、limo、raimudox、nicholas讨论:
selenium的Remote Control比较适合在需求阶段就撰写(当然Fit方式也可以先于实现写),作为验收的测试。好处是RC对重构支持相对好一些,而且你可以换Agent,也可以做浏览器兼容测试。(但是由于RC的限制,兼容侧试兼容性并不好:)
按照raimudox所说RC是更加Pragmatic的实践,更能体现敏捷软件开发的测试先行的特性。功能测试可以说是沟通用户与开发者的最佳契约。
Selenium IDE录制script适合作为基线保留(指先实现需求,后录制测试这样的顺序),作为某次重构之前的样本。或者说,如果觉得手写测试脚本太麻烦,而喜欢本末倒置(没有贬义,纯技术上)的人设计的。更现实的说,这很有用,比如一个项目从一半开始敏捷改造,引入功能测试、单元测试,对以后的迭代进行基线的衡量,给新引入的CI(持续集成)一个更有实际意义的测试保障,用Selenium IDE帮助生成一下Script,然后再使用RC或者直接用Core执行一下都是不错的实践。而Fit方式(这里指先于应用实现就写出来的基于html/table的Fit式测试),相对吸引力差一些,因为工作量与RC相仿,重构支持比较差,而且没有DSL风格的封装,读起来相对费解一些。
还有,据Nicholas同学实践,Selenium IDE所录制的script在IDE中执行比RC方式兼容性要好,尤其对于跨域的情况,RC很有可能是无法工作的。还有一个问题,就是Selenium实际上是ThoughtWorks和BEA牵头的项目,TW负责Core,目前Core的代码发展的必较快,而RC由BEA负责,发展比较缓慢,所以,有些时候选择也就成为无奈了。
061102补充:
1、Selenium目前有做不到的地方:例如<input type="file"/>的情况,由于安全问题,浏览器是不允许通过javascript置里面的value的,所以selenium在此时会处于无能为力的情况。比较郁闷。虽然强行修改如Mozzila的安全属性可以办,但那不是好办法。
2、对于拥有复杂的Ajax widget的应用测试可能会非常麻烦,因为需要写很多javascript api在测试里面,对重构支持差(如api发生变化修改unit test很麻烦,而且可能出现需要对你的测试进行测试的尴尬情况)。当然对于大部分的ajax应用Selenium都是很好的选择。
3、大家都很看好的Remote Control方式发展比较慢,API还不够友好(经常抛出奇怪的异常),Bug还是比较多。所以还需要耐心等待,要多些像我们这样的小白鼠:D
推荐大家看看我的同事nicholas的这篇:
用 Selenium 进行功能测试浓缩一下:
1、何时、何目的来用Selenium选择不同。RC、Fit适合从需求阶段就开始写。而IDE录制则适合后补。
2、重构支持。RC重构友好一些。Fit重构不友好。
3、IDE目前限定于FF,做跨浏览器RC比较好。但是IDE录制后的代码很方便转为RC方式。
4、跨域兼容性问题,IDE解决的比较好。
分享到:
相关推荐
Selenium是一种用于Web应用程序功能测试的工具,它可以模拟各种用户操作,如点击、输入、导航等,从而实现自动化的测试。 Selenium-IDE是Selenium的集成开发环境,它提供了一个可视化的界面,可以用来记录、编辑和...
Selenium是由ThoughtWorks公司开发的一款强大的开源Web功能测试工具系列,旨在为Web应用程序提供自动化测试解决方案。该系列目前主要包括四款核心产品: 1. **Selenium Core**:作为Selenium IDE和Selenium RC的...
软件测试丛书 Selenium自动化测试指南,欢迎下载,1111
《Selenium2自动化测试实战——基于Python语言》是一本针对软件测试工程师,尤其是对Web应用程序自动化测试感兴趣的读者的专业书籍。作者虫师在2016年10月编写了这本书,尽管时间已过去数年,但Selenium作为自动化...
零成本实现Web功能自动化测试 基于Eclipse+Python+Selenium自动化测试技术
总结起来,Selenium是一个功能强大的Web自动化测试框架,提供了多种工具和API来满足不同测试需求。从录制回放的IDE,到支持多语言的Remote Control,再到并行测试的Grid,Selenium为整个测试生命周期提供了全面的...
Selenium是一个主要用于Web应用程序自动化测试的工具集合,在行业内已经得到广泛的应用。本书介绍了如何用Python语言调用Selenium WebDriver接口进行自动化测试。主要内容为:基于Python 的 Selenium WebDriver 入门...
Selenium自动化测试是一种广泛应用于Web应用测试的技术,它允许开发者使用多种编程语言,如Python,来控制浏览器并模拟用户操作。本资源包“Selenium自动化测试:基于Python语言.rar”显然是一个专注于介绍如何使用...
本文介绍的是一本关于Selenium自动化测试的实践指南,它以Python语言为编程基础,提供了一系列自动化测试的实践技巧和实例。以下知识点将详细介绍书中所涉及的关键内容。 首先,了解Selenium。Selenium是一个用于...
**Selenium 自动化测试详解** Selenium 是一个强大的开源自动化测试框架,广泛应用于Web应用程序的测试。...无论你是初学者还是经验丰富的测试工程师,Selenium都能提供丰富的功能和无尽的可能性。
### 自动化功能测试(Selenium)实验报告关键知识点解析 #### 一、实验背景与目标 本实验旨在让学生深入理解并掌握自动化测试的核心概念和技术,特别是如何利用Selenium这一强大的自动化测试工具来完成Web应用的...
最后,邮件通知是一个使测试流程更加完善的功能。当自动化测试完成后,通过发送邮件,可以及时地通知到项目相关成员。Python的smtplib库可以用来发送邮件,结合测试结果,可以将测试报告作为邮件内容的一部分,直接...
综述Web系统功能测试工—selenium的安装使用及问题.综述Web系统功能测试工—selenium的安装使用及问题.综述Web系统功能测试工—selenium的安装使用及问题.
4. TestNG/JUnit:Selenium通常与TestNG或JUnit这样的测试框架结合使用,来组织和运行测试用例,提供断言功能以及测试报告。 5. Grid:Selenium Grid用于分布式测试,它可以同时在多台机器上运行测试,大大提高了...
Selenium 是一款强大的开源自动化测试框架,用于模拟用户在浏览器上的各种操作,以验证Web应用程序的功能和行为。它支持多种编程语言,其中包括Java,使得开发者和测试工程师可以利用Java的强大功能来编写自动化测试...
1、增加报告加载样式初始化,更多样化 2、将失败&错误拆分成失败和错误 3、对标签切换方法进行了优化
Selenium则是一款强大的网页自动化测试工具,能够模拟用户行为,对Web应用程序进行全面的功能验证。这篇分享将深入探讨Python与Selenium结合进行自动化测试的相关知识点。 首先,我们需要理解Python的基础语法和...