Selenium WebDriver + Grid2 + RSpec之旅(六) ----多浏览器的并行执行 由于浏览器的发展,浏览器种类繁多.为了保证系统能在各种浏览器上叱咤风云,减少测试人员的测试工作量,就要保证测试脚本支持多浏览器,但是一条测试用例逐个对浏览器进行执行的话又会消耗太多的时间,下面就介绍一下多浏览器并行执行的方法. 再回头看一下前面介绍过的测试用例脚本,会发现测试用例中的浏览器是指定的firefox,如果要测试IE,CHROME浏览器,去修改测试用例脚本?还是把脚本复制几份?方…
Selenium WebDriver + Grid2 + RSpec之旅(四) ----通过RSpec编写测试用例 自动化测试和手工测试一样,是要有测试用例,有检查点和测试结果的,接下来我们通过RSpec来编写一个测试用例. RSpec的安装在准备篇中已经介绍过了,这边就不再介绍了.下面就开始用例编写 用例编写 1.在工作目录下新建一个spec的文件夹 2.打开UatrlEdit,编写代码如下: #encoding:utf-8 require 'selenium-webdriver' requi…
Selenium WebDriver + Grid2 + RSpec之旅(五) ----面向对象设计用例 前几节讲了怎么一步一步的从零开始到编写出一个简单的测试用例,这一节将要讲一下怎么让测试用例变得健壮,易阅读,易维护.那就是通过面向对象的方式,再加上逻辑和数据分离的方式来处理,这个才是自动化测试的核心思想. 设计思路 设想对登录进行手工测试,会想到一些测试用例(验证错误的用户名正确的密码:用户名和密码为空直接点击登陆按钮.等等),如果每个用例都要写一套代码的话,会发现有些地方出现代码重复,不…
Selenium WebDriver + Grid2 + RSpec之旅(三) ----入门小例子 第一个例子都是比较简单的博客园登录界面,就像学习编程语言时候都是从Hello,World!开始. 1.根据上个章节所讲的,首先启动Hub节点和Node节点 2.打开记事本(这里使用的UltraEdit),新建一个文件,编写代码如下: #encoding:utf-8 require 'selenium-webdriver' dr = Selenium::WebDriver.for(:remote,:…
Selenium WebDriver + Grid2 + RSpec之旅(二) ----Grid2的配置 为什么要使用Selenium-Grid 分布式运行大规模的TestCase 能够通过一个中央节点,很容易的运行不同OS上的不同Browser 最小化对Grid的维护时间,充分利用虚拟设备 减少测试人员的工作量,提高测试效率 Selenium-Grid的部署与启动 Hub:总控节点,连接调用Node,负责分配用例到对应的Node节点所在的执行器上Node Node:负责执行TestCase,启…
Selenium WebDriver + Grid2 + RSpec之旅(一)             ----准备篇 前言 在Web 2.0 应用中,在浏览器种类盛行的时代,我们在测试过程中不仅要模仿不同的用户行为,还要包括不同的系统,不同的浏览器中的操作.在这种情况下,我们需要新的方法与工具来解决我们遇到的难题.用Selenium WebDriver + Grid2来实现多种浏览器功能自动化测试和并发性测试.将测试人员从繁杂的手动测试中解放出来,专注于结果分析和问题解决.(同志们!你们解脱啦…
Selenium (2) -- Selenium WebDriver + Grid2(101 Tutorial) jvm版本: 1.8.0_65 selenium版本: v2.48.0 (Standalone Selenium Server) 参考来源: Selenium官方下载 Use Selenium Grid to enhance testing of web applications Homebrew Selenium WebDriver + Grid2 + RSpec之旅 rspec.…
本篇我们来讨论,如何写一个浏览器初始化的类.在写之前,先思考一下,我们需要一个什么样的初始化? 先来看看使用原生的Java + selenium是怎么做的.(以firefox为例) System.setProperty("webdriver.gecko.driver", "c:\\geckodriver.exe"); driver = new FirefoxDriver(); 上面是个典型的例子,System.setProperty("webdriver驱…
Python Selenium Webdriver常用方法总结 常用方法函数 加载浏览器驱动: webdriver.Firefox() 打开页面:get() 关闭浏览器:quit() 最大化窗口: maximize_window() 设置窗口参数:set_window_size(600,800) 后退到前一页: back() 前进到后一页: forward() 刷新页面: refresh() 元素定位: 1,id定位:find_element_by_id() 2,name定位:find_elem…
selenium webdriver学习(六)------------如何得到弹出窗口 在selenium 1.X里面得到弹出窗口是一件比较麻烦的事,特别是新开窗口没有id.name的时候.当时还整理了处理了几种方法,详见:http://seleniumcn.cn/read.php?tid=791 .在selenium webdriver中得到新开窗口相对简单的多,它无关新开窗口的id.name等属性.以下面的html为例: <span style="white-space: normal…