06 2012 档案

Selenium-webdriver系列教程(十)————使用jquery辅助进行测试
摘要:Jquery是当下比较流行的1个js框架,通过使用webdriver的execute_script方法,我们可以将jquery库结合到自动化测试中去。结合jquery进行自动化测试的思想是这样的:首先将jquery的源码读到1个string中去,然后使用execute_script执行该string。执行完毕后我们就可以通过execute_script方法来调用jquery库了。下面的html代码中有一个隐藏的div,当鼠标移动到(mouseover)页面上名为Mouse Over Here的链接时,隐藏的div将会显示出来。<html> <head> <titl 阅读全文

posted @ 2012-06-23 15:44 tim_sheng 阅读(2881) 评论(1) 推荐(0)

Selenium-webdriver系列教程(九)————如何智能的等待页面加载完成
摘要:web的自动化测试中,我们经常会遇到这样一种情况:点击1个按钮,页面上会弹出1个iframe,这时候脚本就需要去等待iframe加载完毕才能进行后续的操作。在这种情况下,我们一般的处理思路是等待被等待对象上的某个子元素出现,当这个子元素出现时我们就认为该对象已经加载完毕,代码可以继续往下执行了。selenium-webdriver为我们提供了一个Wait类来完成类似的等待功能。下面的html代码实现了这样的一种效果:点击click按钮5秒钟后,页面上会出现一个红色的div块。我们需要写一段自动化脚本去捕获这个出现的div,然后高亮之。set_timeout.html<html>&l 阅读全文

posted @ 2012-06-20 16:37 tim_sheng 阅读(4905) 评论(1) 推荐(0)

Selenium-webdriver系列教程(八)————如何操作select下拉框
摘要:在selenium-webdriver中定位select list的方法比较简单,用id和name等属性可以很方便的将select给找出来,但是怎么去选择下拉框中的某一项呢?思路是这样的,首先定位到select list元素,然后找出该select list下所有的option,点击该option element既可,以下面的html代码为例<html><head><title>Select</title></head><body><span>select demo</span><select 阅读全文

posted @ 2012-06-20 15:26 tim_sheng 阅读(11728) 评论(2) 推荐(0)

Selenium-webdriver系列教程(七)————如何处理alert和confirm
摘要:以前使用watir 1.6x 的时候处理页面javascript弹出的alert和confrim窗口时必须借助autoit工具来辅助执行,就像中国男足职业联赛中高价聘请外援一般。在selenium webdriver中,confirm和alert的处理再也不需要借助任何第三方工具了。下面的html页面上有1个名为click的button,点击该button后就会弹出1个alert窗口。<html> <head> <title>Alert</title> </head> <body> <input id = " 阅读全文

posted @ 2012-06-14 15:23 tim_sheng 阅读(2145) 评论(0) 推荐(0)

Selenium-webdriver系列教程(六)————如何捕获弹出窗口
摘要:在web自动化测试中点击一个链接然后弹出新窗口是比较司空见惯的事情。webdriver中处理弹出窗口跟处理frame差不多,以下面的html代码为例window.html<html> <head><title>Popup Window</title></head> <body> <a id = "soso" href = "http://www.soso.com/" target = "_blank">click me</a> </b 阅读全文

posted @ 2012-06-14 11:16 tim_sheng 阅读(9569) 评论(0) 推荐(0)

Selenium-webdriver系列教程(五)————如何定位frame中的元素
摘要:selenium webdriver处理frame比较简单,这点比某些测试工具要先进一些,令人身心愉悦。以下面的html代码为例,我们看一下如何定位frame上的元素。frame.html<html> <head> <title>Frame</title> <style> #f_1 {width: 10em; height: 10em; border: 1px solid #ccc; } #f_2 {display: none} </style> </head> <body> ... 阅读全文

posted @ 2012-06-13 15:23 tim_sheng 阅读(7686) 评论(0) 推荐(0)

Selenium-webdriver系列教程(四)————如何定位测试元素
摘要:测试对象定位一般都是各种web自动化测试框架或工具的核心内容。selenium-Webdriver的对象定位方法非常的丰富和强大。一般来说强大的对象定位都会提供如下的一些方法。单个对象的定位方法多个对象的定位方法层级定位selenium-Webdriver很好的支持了上述的3种定位方式。定位单个对象在定位单个对象时,selenium-Webdriver支持使用如下的一些属性对元素进行定位。:class => 'class name',:class_name => 'class name',:css => 'css selecto... 阅读全文

posted @ 2012-06-13 14:44 tim_sheng 阅读(4224) 评论(0) 推荐(0)

Selenium-webdriver系列教程(三)————如何执行一段js脚本
摘要:有时候在进行自动化测试时需要在页面上执行一段js脚本,这个时候就需要用到execute_script方法了。require 'selenium-webdriver'dr = Selenium::WebDriver.for :ffurl = 'http://www.soso.com'dr.navigate.to urlsleep 3js = <<JS q = document.getElementById("tb"); q.style.border = "1px solid red";JSdr.execute_s 阅读全文

posted @ 2012-06-12 23:14 tim_sheng 阅读(6478) 评论(0) 推荐(0)

揭秘webdriver实现原理
摘要:通过研究selenium-webdriver的源码,笔者发现其实webdriver的实现原理并不高深莫测无法揣度。在这里以webdriver ruby binding的firefox-webdriver实现为例,简单介绍一下webdriver的工作原理。当测试脚本启动firefox的时候,selenium-webdriver 会首先在新线程中启动firefox浏览器。如果测试脚本指定了firefox的profile,那么就以该profile启动,否则的话就新启1个profile,并启动firefox;firefox一般是以-no-remote的方法启动,启动后selenium-webdrive 阅读全文

posted @ 2012-06-12 22:28 tim_sheng 阅读(13533) 评论(3) 推荐(5)

Selenium-Webdriver系列教程(二)————浏览器的简单操作
摘要:如何打开一个测试浏览器做自动化测试一般情况下我们都需要首先打开测试浏览器,浏览器开启后我们方可”命令”浏览器去打开新页面,点击特定的链接,判断具体的逻辑等等。因此该操作为”万里长征的第一步”,必须给以重视。具体代码如下。需要注意的是如果使用chrome进行测试,那么必须下载安装chrome driver。require 'rubygems'require 'selenium-webdriver'# 打开firefoxdr = Selenium::WebDriver.for :firefoxdr = Selenium::WebDriver.for :ff# 打开i 阅读全文

posted @ 2012-06-12 22:11 tim_sheng 阅读(5264) 评论(0) 推荐(0)

Selenium-Webdriver系列教程(一)————快速开始
摘要:Selenium-Webdriver系列教程(一)————快速开始Selenium 1.x时代已经远去,它理应躺在历史的角落里,靠着壁炉烤着火,抽着旱烟,在袅袅的升起的青烟中回忆那曾经属于自己的美好时代。不过事实却并非如此,现今原本早应退役的selenium 1.x却还是多数人坚定的选择,究其原因不过是1.x时代遗留下了大量的文档,代码,教程让人们误以为1.x还是这个年代的主流,还应该光鲜亮丽在前台演 出属于它的美好。长江后浪推前浪,最为前浪的selenium 1.x的宿命应该是死在沙滩上。好了,直入主题,由于开源社区不再维护selenium 1.x再加之更为先进的selenium 2.0确实 阅读全文

posted @ 2012-06-12 21:54 tim_sheng 阅读(1112) 评论(0) 推荐(0)

selenium 2和watir webdriver中如何在启动浏览器时保留cookie
摘要:默认情况下使用selenium或者waitr webdriver启动浏览器,浏览器中保存的cookie是不可访问的。为什么要保留浏览器中的cookie呢?这是因为有些站点登陆时候有验证码或动态密码验证。一般情况下selenium或watir webdriver是无法获取动态密码或验证码自动完成登陆的。那么使用动态密码或验证码的网站我们就无法自动化测试了么?答案是不一定,因为有些网站登陆后会在cookie中写入当前用户的登录态,于是只要登 陆一次该站点,那么下次访问的时候就不需要再登陆了。因此我们需要让浏览器为我们保存cookie以使得我们可以不需要登陆站点就能进行自动化测试。但是seleniu 阅读全文

posted @ 2012-06-12 17:20 tim_sheng 阅读(1538) 评论(0) 推荐(0)

导航