Selenium WebDriver + Grid2 + RSpec之旅(二) ----Grid2的配置 为什么要使用Selenium-Grid 分布式运行大规模的TestCase 能够通过一个中央节点,很容易的运行不同OS上的不同Browser 最小化对Grid的维护时间,充分利用虚拟设备 减少测试人员的工作量,提高测试效率 Selenium-Grid的部署与启动 Hub:总控节点,连接调用Node,负责分配用例到对应的Node节点所在的执行器上Node Node:负责执行TestCase,启…
Selenium WebDriver + Grid2 + RSpec之旅(四) ----通过RSpec编写测试用例 自动化测试和手工测试一样,是要有测试用例,有检查点和测试结果的,接下来我们通过RSpec来编写一个测试用例. RSpec的安装在准备篇中已经介绍过了,这边就不再介绍了.下面就开始用例编写 用例编写 1.在工作目录下新建一个spec的文件夹 2.打开UatrlEdit,编写代码如下: #encoding:utf-8 require 'selenium-webdriver' requi…
Selenium WebDriver + Grid2 + RSpec之旅(六) ----多浏览器的并行执行 由于浏览器的发展,浏览器种类繁多.为了保证系统能在各种浏览器上叱咤风云,减少测试人员的测试工作量,就要保证测试脚本支持多浏览器,但是一条测试用例逐个对浏览器进行执行的话又会消耗太多的时间,下面就介绍一下多浏览器并行执行的方法. 再回头看一下前面介绍过的测试用例脚本,会发现测试用例中的浏览器是指定的firefox,如果要测试IE,CHROME浏览器,去修改测试用例脚本?还是把脚本复制几份?方…
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之旅(一)             ----准备篇 前言 在Web 2.0 应用中,在浏览器种类盛行的时代,我们在测试过程中不仅要模仿不同的用户行为,还要包括不同的系统,不同的浏览器中的操作.在这种情况下,我们需要新的方法与工具来解决我们遇到的难题.用Selenium WebDriver + Grid2来实现多种浏览器功能自动化测试和并发性测试.将测试人员从繁杂的手动测试中解放出来,专注于结果分析和问题解决.(同志们!你们解脱啦…
本系列主要讲解webdriver常用的API使用方法(注意:使用前请确认环境是否安装成功,浏览器驱动是否与谷歌浏览器版本对应) 一:获取当前页面的title(一般获取title用于断言) from selenium import webdriver # 导入webdriverimport timedriver = webdriver.Chrome() # 实例化driver.get('https://www.cnblogs.com/kevin-liutianping/') # 打开我的博客园ti…
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.…
selenium webdriver 一.定位一组元素: webdriver可以很方便的使用findElement 方法来定位某个物定的对象.不过有时候我们却要定位一组对象,这时候就需要使用findElements方法. 应用场景: 1. 批量操作对象,比如将页面上所有checkbox都选择上: 2.先获取一组对象,再在这组对象中过滤出需要定位的一些对象.比如定位页面上所有checkbox,然后再选择最后一个. 二.多层框架.窗口定位 switch_to_frame() switch_to_wi…
学习目的: 掌握显示等待 掌握二次封装 正式步骤: step1:显示等待的代码示例 # -*- coding:utf-8 -*- from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait import time import os dr = webdriver.Chrome() url = 'http://renren.com/' dr.get(url) # dr 表示打卡浏览器…