selenium学习:入门篇

 折腾了1天多的selenium,发现网上的资料真的是乱七八糟,各种1和2说不清的文章。在老大的帮助下,总算是可以写一个入门级的文章了,希望帮助那些入门的人。

1. 介绍

Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具。模拟用户的行为,真正的执行操作。

Selenium目前(15年)包括2个系列,一个是1.x系列,一个是2.x系列。

1.x系列是单纯的selenium,有多个Selenium IDE、Selenium Remote Control (RC) 、Selenium Grid等多个组件版本,用户可以根据自己的需要选择自己的组件使用;

2.x系列集成了webdriver的功能,也存在1.X的各个组件,但组件统一都是Selenium-server的jar包里面,而且2.x版本不再支持RC这种远程调用的方式;

网上的许多介绍都是针对1.X的。

2. 功能

1)框架底层使用JavaScript模拟真实用户;

2)使浏览器兼容性测试自动化成为可能;

3) 支持多种语言执行,java、python;

3. 组件

1)Selenium IDE:一个Firefox插件,可以录制用户的基本操作,生成测试用例。随后可以运行这些测试用例在浏览器里回放,可将测试用例转换为其他语言的自动化脚本。

2)Selenium Remote Control (RC) :支持多种平台(Windows,Linux,Solaris)和多种浏览器(IE,Firefox,Opera,Safari),可以用多种语言(Java,Ruby,Python,Perl,PHP,C#)编写测试用例。

3)Selenium Grid :允许Selenium-RC 针对规模庞大的测试案例集或者需要在不同环境中运行的测试案例集进行扩展。

时间: 2024-08-11 01:34:44

selenium学习:入门篇的相关文章

Phonegap学习入门篇

安装Node.js 安装Git 设置代理 公司内网使用时可能需要设置代理 ·设置CMD代理 set http_proxy=http://127.0.0.1:8080 set https_proxy=http://127.0.0.1:8080 ·设置npm代理 npm config set registry http://registry.npmjs.org npm config set proxy="http://127.0.0.1:8080" npm config set https

sass学习入门篇(三)

这章我们讲“嵌套”,嵌套包括两种:一,选择器嵌套.二是属性的嵌套.一般用选择器嵌套居多 一,选择器嵌套:指的是在一个选择器中嵌套另一个选择器来实现继承.使用&表示父元素选择器 li{ float :left; a{ color:#fff; &:hover{ color:#ddd; } } } 跟css用法一样,没什么说的. 二,属性嵌套,指的是有些属性拥有同一个开始单词,如border-width,border-color都是以border开头 .fshadow{ boder:{ styl

css学习入门篇(1)

1.网页制作 的两大误区:[1].网页用了Table,页面就不标准[2].div标签越多越好. 解释:table是为了存储数据而div是为了架设页面 ,两者有不同的工作职能 . 2.W3C标准:他不是一个标准,而是一系列标准的组合:结构标准(代表语言HTML).表现标准(CSS).动作标准(JavaScript). 3.css控制页面的四种方式: [1]行内样式:<p style=" color: #F00; background: #CCC; font-size: 12px;"

Vue学习笔记入门篇——组件的使用

本文为转载,原文:Vue学习笔记入门篇--组件的使用 组件定义 组件 (Component) 是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能.在有些情况下,组件也可以是原生 HTML 元素的形式,以 is 特性扩展. 组件使用 注册 注册一个全局组件,你可以使用 Vue.component(tagName, options).组件在注册之后,便可以在父实例的模块中以自定义元素 的形式使用.

Vue学习笔记入门篇——组件的内容分发(slot)

本文为转载,原文:Vue学习笔记入门篇--组件的内容分发(slot) 介绍 为了让组件可以组合,我们需要一种方式来混合父组件的内容与子组件自己的模板.这个过程被称为 内容分发 (或 "transclusion" 如果你熟悉 Angular).Vue.js 实现了一个内容分发 API,使用特殊的 'slot' 元素作为原始内容的插槽. 编译作用域 在深入内容分发 API 之前,我们先明确内容在哪个作用域里编译.假定模板为: <child-component> {{ messa

现代C++学习笔记之二入门篇2,数据转换

static_cast:    这种强制转换只会在编译时检查. 如果编译器检测到您尝试强制转换完全不兼容的类型,则static_cast会返回错误. 您还可以使用它在基类指针和派生类指针之间强制转换,但是,编译器在无法分辨此类转换在运行时是否是安全的. dynamic_cast: dynamic_cast在运行时检查基类指针和派生类指针之间的强制转换. dynamic_cast 是比 static_cast 更安全的强制类型转换,但运行时检查会带来一些开销. const_cast:    con

Vue学习笔记入门篇——组件的通讯

本文为转载,原文:Vue学习笔记入门篇--组件的通讯 组件意味着协同工作,通常父子组件会是这样的关系:组件 A 在它的模版中使用了组件 B.它们之间必然需要相互通信:父组件要给子组件传递数据,子组件需要将它内部发生的事情告知给父组件.然而,在一个良好定义的接口中尽可能将父子组件解耦是很重要的.这保证了每个组件可以在相对隔离的环境中书写和理解,也大幅提高了组件的可维护性和可重用性.在 Vue 中,父子组件的关系可以总结为 props down, events up.父组件通过 props 向下传递

Struts学习傻瓜式入门篇

或许有人觉得struts不容易学,似乎里面的一些概念让未接触过的人迷惑,MVC1.MVC2.模式……我写这篇文章是想让从来没有接触过struts的人,能有个简单的入门指引,当然,系统地学习struts是必要的,里面有很多让人心醉的东东,那是后话了. 该案例包括首页,用户登陆.网站向导页面.就这么简单,没有深奥的struts概念,主要靠动手,然后用心体会. WEB Server用tomcat4.到http://jakarta.apache.org下载struts1.1,把zip文 件释放到c:\s

现代C++学习笔记之一入门篇:智能指针(C++ 11)

原始指针:通过new建立的*指针 智能指针:通过智能指针关键字(unique_ptr, shared_ptr ,weak_ptr)建立的指针 在现代 C++ 编程中,标准库包含智能指针,该指针用于确保程序不存在内存和资源泄漏且是异常安全的. 在现代 C++ 中,原始指针仅用于范围有限的小代码块.循环或者性能至关重要且不会混淆所有权的 Helper 函数中. 1 void UseRawPointer() 2 { 3 // Using a raw pointer -- not recommended

Python学习(一):入门篇:python中的一些数据结构

Python里的一些基本知识点总结 Last Edit 2014/5/2 这里记录的是Python2.7版本的语法特征,部分与Python3.0是不一样的. 一,关于开发环境 在windows下可以直接在官网下载相关的版本,然后默认安装.使用直带的IDLE编辑器. IDLE中两个有用的快捷键: ALT+P:重复历史命令(从最近到最老) ALT+N:   重复历史命令(从最老到最近) IDLE中没有清屏功能. 在cmd中进行: 1,首先要在环境变量的path中添加相关的路径: C:\Python2