Selenium2.0&WebDriver
文章平均质量分 89
可口可乐的围脖
这个作者很懒,什么都没留下…
展开
-
Selenium2.0之grid学习总结
一)介绍:Grid的功能:并行执行通过一个中央管理器统一控制用例在不同环境、不同浏览器下运行灵活添加变动测试机(二)快速开始这个例子将介绍如何使用selenium2.0的grid,并且注册一个WebDriver节点。如何使用java调用grid。这里Hub和节点都跑在同一台机器上面,但是如有你需要的话可以复制selenium-server-standalone到转载 2014-09-08 10:55:30 · 653 阅读 · 0 评论 -
分享Win7 下 IE WebDriver 因保护模式无法启动的解决
原帖在此,点击查看。里面有个叫James的回复比较有料,其他大致可以忽略。。现在Win7 已经应用很多了,即使是最原始的Win7 也是IE8,最新的patch后,都升到了IE9Win7下预装高版本IE的情况下,启动IE WebDriver可能会出现:org.openqa.selenium.WebDriverException: Unexpected error launchin转载 2014-09-08 11:01:32 · 635 阅读 · 0 评论 -
UI自动化小结:通过visibility属性处理动态显示的元素
编写自动化程序时遇到以下需求:删除评论列表中一条指定的评论,删除按钮默认不可见,鼠标停留在评论上面时删除按钮可见并可点击。a)默认状态“删除”不可见 b)鼠标停止在“文字内容”等元素上,“删除”可见并可点击 起初已经实现可以删除评论的功能,但是只能按列表从上往下逐个删除,做不到删除指定某条。后经多次尝试,找到了处理方法。元素"删除"的html代码是转载 2014-09-08 11:53:21 · 1023 阅读 · 0 评论 -
Selenium2.0之WebDriver学习总结(2)
三) 命令和操作这一部分将介绍一下WebDriver的一些具体操作和命令,实际操作中,我们需要两大工具来帮助我们:FireBug和Xpath工具,这两者都是Firefox上的插件。接下来我们所讲解的都是以FirefoxDriver为基础的,且基于WebDriver driver = new FirefoxDriver();创建的一个driver实例:a) 访转载 2014-09-08 11:05:23 · 591 阅读 · 0 评论 -
Selenium2.0之WebDriver学习总结(3)
接下来将通过几个具体的例子来使用操作上述功能,以下代码都是通过junit框架编写。例子1:该例子主要是登录网易相册,创建一个私人相册,并进入相册进行评论,然后删除这个相册。在这个例子中,可以找到各种方式定位元素方法的具体实例:package demo;import java.util.concurrent.TimeUnit;import org.junit.*;import转载 2014-09-08 11:06:25 · 642 阅读 · 0 评论 -
Web自动化框架搭建
引子2011年初来公司实习的时候,接的第一份活就是维护UI自动化用例,从此开始我轰轰烈烈的Tester生涯,此处省略十万字。。。 经历第一代UI自动化的没落,DWR接口测试的兴起,以及直接参与项目组的功能测试,最终又回到了一年前的原点。 思考良多,苦逼地推出了第二代UI自动化框架,大名Dagger。 废话少说,先讲技术选型由于历史传统,Selenium2.0成为不二转载 2014-09-08 11:13:21 · 1624 阅读 · 0 评论 -
Selenium2.0与Flash(Flex)自动化实现
初步调研了一下,Selenium2.0(webdriver)还没有flash测试解决方案。网上可以搜到的还是selenium1.0时代的那一套flash测试扩展SeleniumFlexAPI(http://code.google.com/p/flash-selenium/),而这套扩展从09年开始就停止更新了。大致了解了SeleniumFlexAPI的设计思路:转载 2014-09-08 11:09:24 · 2493 阅读 · 0 评论 -
扩展Selenium对于Flash(Flex)元素识别和操作的实践小结
实现步骤:1.下载Selenium的Flex扩展包:“SeleniumFlex-API_0.2.5”,下载请Google之:)2.解压后,内含Selenium的Js扩展“user-extensions.js”和一个Flex的库文件“SeleniumFlexAPI.swc”。3.将SeleniumFlexAPI.swc加入到被操作Flash(Flex)的工程文件的Build库中,转载 2014-09-08 11:25:24 · 2379 阅读 · 0 评论 -
《我所知道的软件测试自动化》—关键字驱动的过去和未来
鉴于这个系列写的内容是希望帮助“大多数2-3年工作经验、急切盼望提升自身能力的 tester找到捅破‘测试自动化’窗户纸的办法”,所以木有高深内容,高手们请直接飘过,呵呵。 1.“关键字驱动”的由来 说到“关键字驱动”和“测试自动化”,就不能不提到 Mosley Daniel 的《软件测试自动化》一书,这本书03年引入国内,04年市面上开始有卖,书中有两个相信能吸引到很多转载 2014-09-08 13:35:46 · 988 阅读 · 0 评论 -
Selenium的PageFactory & PageObject 在大型项目中的应用
因为最近遇到的技术问题一直没找到可行的解决办法,一直在翻看selenium的源代码,之前写测试代码的时候就是拿来即用,写什么功能啊,就按手动的操作步骤去转换,近日看到一个文章,又去wiki上查了查,觉得写的不错就记录下来了。 在使用selenium做UI测试的时候,往往并不是页面的每个功能我们都要测试,总有一些经常要进行回归的功能,再细致一点的说,有一些节点是我们经常操作的,那么我从项目转载 2014-09-24 11:23:55 · 938 阅读 · 0 评论 -
Selenium 中如何自动记录测试结果
虽然 Selenium 的网站上说到可以通过使用 auto=true 参数来自动执行脚本,并同事记录测试结果,可是试了很多次都是不行。今天专门翻了一天的资料,终于弄明白了 Selenium 中的 postReuslts 是怎么一回事。原文如下:Selenium can't actually write to a file directly. In "auto" mode, Seleni转载 2014-10-07 16:44:30 · 1151 阅读 · 0 评论 -
Maven依赖jar包的查询
1、查询地址1 http://search.maven.org/#browse2、查询地址2 http://mvnrepository.com/转载 2014-11-16 15:05:06 · 1208 阅读 · 0 评论 -
Selenium Webdriver java 积累一
Selenium Webdriver java 积累 一 基于maven的Selniun 2.0 webdriver环境快速搭建http://www.cnblogs.com/fnng/archive/2011/12/02/2272610.htmlSelenium Webdriver学习: http://jarvi.iteye.com/cate转载 2014-10-03 14:47:01 · 1747 阅读 · 1 评论 -
Selenium Webdriver java 积累 二
1. Selenium webdriver XPATH通过多个属性定位元素方法:主要是通过and组合多个属性,例如:wd.findElement(By.xpath("//em[@testid='123'and@id='button_delete']")).click();参考文章:http://blog.csdn.net/qicyt1812/article/details/9355转载 2014-10-03 14:49:48 · 1119 阅读 · 0 评论 -
selenium webdriver学习(十五)------------如何处理FirefoxProfile
这一节主要涉及 selenium webdriver处理Firefox profile的一些知识。 什么是Firefox profile要了解Firefox profile请访问这里,它详细解绍了Firefox proflie。在Firefox里,如何管理Firefox profile 请访问这里。看完它们,相信你对Firefox profile会有所了解。好了,必备的知识准备完了转载 2014-10-03 15:04:17 · 4158 阅读 · 0 评论 -
Learning Selenium WebDriver
Inject the Sizzle CSS selector library11 RepliesProblemWe might experience some locator issues during the transition from Selenium 1 to Selenium WebDriver. We face these issues because转载 2014-11-16 11:39:40 · 572 阅读 · 0 评论 -
通过PageFactory避免WebElement过期
原来写过的一篇WebElement元素过期的Blog,见下:http://blog.sina.com.cn/s/blog_64693fd401012zoq.html今天研究了org.openqa.selenium.support里面的东西发现原来PageFactory可以避免元素过期的,例子见下:首先定义两个一样的元素,其中一个由Locator指定;另一个由 @Fi转载 2014-10-04 12:12:05 · 990 阅读 · 0 评论 -
WebDriver(Selenium2) 根据新窗口title切换窗口
在webdriver官方的api中,切换窗口的方法提供的参数是nameOrHandle。引用WebDriver window(java.lang.String nameOrHandle) Switch the focus of future commands for this driver to the window with the given name/转载 2014-11-03 13:21:48 · 3046 阅读 · 0 评论 -
WebDriver中调用JQuery(通过读取本地JQuery来实现)
WebDriver中调用JQuery的一个工具类,jquery-1.7.2.min.js这个js文件跟程序源文件放在同一个目录下,好处就是可以将js与class一并打入jar包,方便发布。 package zhenghz.testautomation.webdriver; import java.io.ByteArrayOutputStream;import java.io转载 2014-11-19 14:56:19 · 3304 阅读 · 0 评论 -
如何等待页面元素加载完成
web的自动化测试中,我们经常会遇到这样一种情况:当我们的程序执行时需要页面某个元素,而此时这个元素还未加载完成,这时我们的程序就会报错。怎么办?等待。等待元素出现后再进行对这个元素的操作。在selenium-webdriver中我们用两种方式进行等待:明确的等待和隐性的等待。明确的等待明确的等待是指在代码进行下一步操作之前等待某一个条件的发生。最不好的情况是使用T转载 2014-11-03 13:52:27 · 1668 阅读 · 0 评论 -
WebDriver如何加载本地的jQuery库
import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import or原创 2014-11-03 13:07:16 · 1270 阅读 · 0 评论 -
selenium处理多窗口
多窗体的情况使用driver.switchTo().window()这是一个Sample:Set handles = driver.getWindowHandles();handles.remove(driver.getWindowHandle());//去掉当前句柄driver.switchTo().window(handles.iterator().转载 2014-11-03 13:32:17 · 1030 阅读 · 0 评论 -
WebDriver 怎么操作select下拉框
import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.firefox.FirefoxDriver;import org.openqa.selenium.support.ui.Sele转载 2014-11-03 13:41:05 · 3635 阅读 · 0 评论 -
selenium webdriver定位不到元素的五种原因及解决办法
1.动态id定位不到元素for example: //WebElement xiexin_element = driver.findElement(By.id("_mail_component_82_82")); WebElement xiexin_element = driver.findElement(By.xpath("//span[contain转载 2014-11-03 14:00:16 · 2311 阅读 · 1 评论 -
断言常用的有
断言常用的有:assertLocation(判断当前是在正确的页面)、assertTitle(检查当前页面的title是否正确)、assertValue(检查input的值, checkbox或radio,有值为”on”无为”off”)、assertSelected(检查select的下拉菜单中选中是否正确)、assertSelectedOptions(检查转载 2014-11-03 14:01:54 · 1721 阅读 · 0 评论 -
鼠标悬停,出现另一个元素,点击这个元素的解决方法
历经千辛万苦,终于解决了 UI TA(test automation) 中的这个难题,必须记录一下。前提是:需要测试的这个页面是用 google 的 angularjs 写的。许多页面效果是用 angularjs 自带的一些事件结合 css hover实现的。测试的 UI TA 框架用的是 selenium webdriver + junit 。问题是:页面上有一个效果:点击一转载 2014-11-19 14:59:58 · 3871 阅读 · 0 评论 -
判断元素是否已经被js等动态脚本生成
当页面上有js或者ajax等动态元素时,webdriver判断页面加载完成实际上只是html和js代码加载完成,js生成的元素是否已经出现在页面源码中是未知的,所以必须显示指明等待某元素出现,以判断这个元素是否已经被js等动态脚本生成:wait = new WebDriverWait(driver, TimeSpan.FromSeconds(60));wait.Until(ExpectedC转载 2014-11-19 15:02:58 · 705 阅读 · 0 评论 -
selenium抓取页面可用元素css
上个月整理自动化代码,最主要的工作就是把分散在各个case的界面元素整合起来,前几天和其他部分的同事聊起,正好也是在做这个工作,干脆在博客上分享一下。这个事情是从开始写Selenium的自动化就想做的,当时底气不足没有一定要这么做,只是尝试写了个抓页面的工具未果然后不了了之,直接导致了后面维护成本非常高,MVC全都在一块,界面一改就一堆case fail。想到写工具来得到页面元素是因为实习的公司曾转载 2014-11-03 13:34:38 · 6432 阅读 · 0 评论 -
WebDriver 命令和操作
(三) 命令和操作这一部分将介绍一下WebDriver的一些具体操作和命令,实际操作中,我们需要两大工具来帮助我们:FireBug和Xpath工具,这两者都是Firefox上的插件。接下来我们所讲解的都是以FirefoxDriver为基础的,且基于WebDriver driver = new FirefoxDriver();创建的一个driver实例:a)转载 2014-11-03 13:40:21 · 1560 阅读 · 0 评论 -
WebDriver(Selenium2) 判断页面是否出现某个字段的方法(Java实现)
类似于seleniumRC中的isTextPresent 方法 用xpath匹配所有元素(//*[contains(.,'keyword')]),判断是否存在包含期望关键字的元素。 使用时可以根据需要调整参数和返回值。 Java代码 public boolean isContentAppeared(WebDriver driver,String content转载 2014-11-03 13:17:50 · 4143 阅读 · 0 评论 -
鼠标悬停,出现另一个元素,点击这个元素的解决方法
历经千辛万苦,终于解决了 UI TA(test automation) 中的这个难题,必须记录一下。前提是:需要测试的这个页面是用 google 的 angularjs 写的。许多页面效果是用 angularjs 自带的一些事件结合 css hover实现的。测试的 UI TA 框架用的是 selenium webdriver + junit 。问题是:页面上有一个效果:点击一转载 2014-11-03 13:42:21 · 1783 阅读 · 0 评论 -
判断元素是否已经被js等动态脚本生成
当页面上有js或者ajax等动态元素时,webdriver判断页面加载完成实际上只是html和js代码加载完成,js生成的元素是否已经出现在页面源码中是未知的,所以必须显示指明等待某元素出现,以判断这个元素是否已经被js等动态脚本生成:wait = new WebDriverWait(driver, TimeSpan.FromSeconds(60));wait.Until(Exp转载 2014-11-03 14:39:35 · 1266 阅读 · 0 评论 -
Webdriver调用js设置元素属性
如果对元素的操作执行时间超过设置的超时时限会抛出超时异常。最近需要实现youtube视频上传页面的描述自动填入,而webdriver只提供了一个sendkey方法一个一个字符输入文本,不仅慢而且不稳定,遇上大段文本执行时间会超过设置的超时时限导致抛出超时异常。解决方法就是在webdriver中调用js代码直接设置元素的属性值而不需要一个一个字符输入。 publ转载 2014-11-03 14:40:21 · 1306 阅读 · 0 评论 -
WebDriver(Selenium2) 判断页面是否刷新的方法
public static boolean waitPageRefresh(WebElement trigger) {int refreshTime = 0;boolean isRefresh = false;try {for (int i = 1; i refreshTime = i;trigger.getTagName();Thread.转载 2014-11-03 13:22:39 · 3006 阅读 · 0 评论 -
selenium mouseover a WebElement
1)我有一个网页html代码如下: menu1 go to badiu. go to google. js代码如下 $(function () { $('#menu1').mouseover(function (转载 2014-11-03 14:38:41 · 1439 阅读 · 0 评论 -
Selenium Webdriver2.0 处理隐藏元素
昨个改程序遇到一个问题,UI上面有需要上传文件的地方。但是我不知道怎么让Selenium完成点击上传文件按钮->在弹出的文件选择窗口中选择路径和文件,点确定。要知道弹出窗口属于window的范畴,Selenium只能处理Web page.Jeremy原先的代码用的是Selenium RC中的type “filepath+filename”方法。可不知咋搞的反正运行到这里是进行不下去转载 2014-11-26 22:04:02 · 5318 阅读 · 0 评论 -
webdriver隐藏元素的处理(一)
在用webdriver做自动化测试的过程中,如果对页面上的隐藏元素,如下拉列表或是浮层进行操作的时候,常常会遇到:"org.openqa.selenium.ElementNotVisibleException:Element is not currently visible and so may not be interactedwith"提示。但是我们用isPresentByXpath()等测试转载 2014-11-26 22:17:11 · 2969 阅读 · 0 评论 -
webdriver隐藏元素的处理(二)--getElementsByTagName
在上一篇文章中我们提到有关隐藏元素的webdriver的定位方法--使用JS,这个时候可以用getElementById,getElementsByName和getElementsByTagName来定位,并同时可以调用相应的方法。 在用getElementById,getElementsByName对元素进行定位操作的时候,方法相对简单,并在上篇文章中也有举例。但是用getElement转载 2014-11-26 22:15:13 · 1345 阅读 · 0 评论 -
WebDriver 如何获取页面中的隐藏元素(悬浮菜单)
在自动化测试过程中,由于javascript的使用,我们常常需要点击一些鼠标经过显示的菜单等元素,这时需要触发该元素的鼠标经过事件。使用WebDriver有以下两种实现。比如,要点击Add New菜单。但要先将鼠标指向Posts才会显示该菜单。1. 使用Antions[java] view plaincopyprint?public void moveToE转载 2014-11-26 22:21:18 · 3280 阅读 · 0 评论 -
Webdriver - how to view log(grid mode)
webdriver - how to view log(grid mode)作者: Max.Bai时间: 2014/08How to view the execution log for webdriver node?1. Add log4j(for java)Add log4j and set log level as debug, the log will pr转载 2014-11-06 10:07:46 · 456 阅读 · 0 评论