分享

selenium 学习

 nikybook 2013-11-29
Rss 文章列表
selenium和webdriver合并的原因,传送门
应网友要求写一个用Selenium Grid控制多系统多浏览器并行执行test case的例子。 因为我这里有两台机子,我打算这样演示: 一台机子启动一个作为主点节的hub 和 一个作为次节点的hub(系统windows 浏览器为ie) ip为:192.168.40.24 另一台机子启动两个次节点hub,一个次节点浏览器为firefox,另一个浏览器为chrome (系统为windows),ip为:192.168.40.67   启动各节点hub   启动主节点hub命令: java -jar selenium-server-standalone-2.24.1.jar - ...
Selenium Grid允许同时并行地、在不同的环境上运行多个测试任务。这里主要演示一下怎么使用Selenium Grid。   准备: 1、需要两台机子 2、两台机子分别安装好JDK环境 3、两台机子需要从 http://code.google.com/p/selenium/downloads/list下载 ...
原文:CrazyFunBuild   WebDriver 是一个庞大的工程。如果我们试着把所有的东西都放在一个单独的构建文件里,它最终会变得难于管理。我们知道会这样。因为我们已经尝试过了。所以我们把单独的 Rakefile 分成一系列 build.desc ...
准备环境 对所有版本的webdriver: Java JDK 5或以上(如果没有安装从oracle 的网站上下载) 源代码(如果没有,导出源代码 ,可参考:selenium webdriver学习(十七) ) 另外,interntetExplorerDriver需要一些额外的组件并且只能构建? ...
这里主要是想把selenium的整个项目同步到eclipse的经历分享一下。虽然有时候想想没有必要,因为你下载的包里本身就包含了源代码,但是我就是这样做了。 selenium项目地址: (只读) 方法一、直接使用TortoiseSVN 1、安装TortoiseSVN。下载地址:http:///downloads 2、在eclipse的Workspace目录下直接新建一个文件夹,右击文件夹 -> TortoiseSVN -> Export... ,在打开的弹层"URL of repository:"下面的输入框输入http:// ...
最近想总结一下学习selenium webdriver的情况,于是就想用selenium webdriver里面的方法来实现selenium RC中操作的一些方法。目前封装了一个ActionDriverHelper类,来实现RC中Selenium.java和DefaultSelenium.java中的方法。有一些方法还没有实现,写的方法大多没有经过测试,仅供参考。代码如下: package core; import java.io.File; import java.io.IOException; import java.util.HashSet; import java.util ...
这一节主要涉及 selenium webdriver处理Firefox profile的一些知识。   什么是Firefox profile 要了解Firefox profile请访问这里,它详细解绍了Firefox proflie。在Firefox里,如何管理Firefox profile 请访问这里。看完它们,相信你对Firefox profile会有所了解。好了,必备的知识准备完了,让我们来看看selenium webdriver 是怎么操作Firefox profile的吧。   设置profile中的一个preference FirefoxProfile profile = ...
以前在selenium RC 里面有一个getTable方法,是得到一个单元格中的文本。其详细描述如下:   /** Gets the text from a cell of a table. The cellAddress syntax tableLocator.row.column , where row and column start at 0. @param tableCellAddress a cell address, e.g. "foo.1.4" @return the text from the specified cell */ String ...
在selenium webdriver学习(十)------------如何把一个元素拖放到另一个元素里面 的时候,用到了一个Actions类。这一节主要分析一下这个Actions类。 这个actions类,主要定义了一些模拟用户的鼠标mouse,键盘keyboard操作。对于这些操作,使用perform()方法进行执行。 actions类可以完成单一的操作,也可以完成几个操作的组合。   单一的操作 单一的操作是指鼠标和键盘的一个操作。如鼠标左键按下、弹起或输入一个字符串等。 前面涉及到鼠标键盘操作的一些方法,都可以使用actions类中的方法实现,比如:click,se ...
在自动化测试中常常会用到截图功能。最近用了一下selenium-webdriver的截图功能还算不错,可以截取页面全图,不管页面有多长。   下面的代码演示了如何使用webdriver进行截图: import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import org.openqa.selenium.OutputType; import org.openqa.selenium.TakesScreenshot; import org.openqa.se ...
web的自动化测试中,我们经常会遇到这样一种情况:当我们的程序执行时需要页面某个元素,而此时这个元素还未加载完成,这时我们的程序就会报错。怎么办?等待。等待元素出现后再进行对这个元素的操作。 在selenium-webdriver中我们用两种方式进行等待:明确的等待和隐性的等待。   明确的等待   明确的等待是指在代码进行下一步操作之前等待某一个条件的发生。最不好的情况是使用Thread.sleep()去设置一段确认的时间去等待。但为什么说最不好呢?因为一个元素的加载时间有长有短,你在设置sleep的时间之前要自己把握长短,太短容易超时,太长浪费时间。selenium webdriv ...
Q群里有时候会有人问,selenium  webdriver怎么实现把一个元素拖放到另一个元素里面。这一节总一下元素的拖放。 下面这个页面是一个演示拖放元素的页面,你可以把左右页面中的条目拖放到右边的div框中。 http:///demo/html/drag-drop/drag-drop.html   现在来看看selenium webdriver是怎么实现drag and drop的吧。let‘s go! import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import ...
Web 测试中我们经常会接触到Cookies,一个Cookies主要属性有”所在域、name、value、有效日期和路径",下面来讲一下怎么操作Cookies。 import java.util.Set; import org.openqa.selenium.Cookie; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; public class CookiesStudy { /** * @author gongjf ...
下面我们来看一下selenium webdriver是如何来处理select下拉框的,以http://passport.51.com/reg2.5p这个页面为例。这个页面中有4个下拉框,下面演示4种选中下拉框选项的方法。select处理比较简单,直接看代码吧:) import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; imp ...
alert、confirm、prompt这样的js对话框在selenium1.X时代也是难啃的骨头,常常要用autoit来帮助处理。 试用了一下selenium webdriver中处理这些对话框十分方便简洁。以下面html代码为例:   Dialogs.html <html> <head> <title>Alert</title> </head> <body> <input id = "alert" va ...
在selenium 1.X里面得到弹出窗口是一件比较麻烦的事,特别是新开窗口没有id、name的时候。当时还整理了处理了几种方法,详见:http:///read.php?tid=791 。在selenium webdriver中得到新开窗口相对简单的多,它无关新开窗口的id、name等属性。以下面的html为例: test.html <html> <head><title>Test Popup Window</title></head> <body> ...
有时候我们在定位一个页面元素的时候发现一直定位不了,反复检查自己写的定位器没有任何问题,代码也没有任何问题。这时你就要看一下这个页面元素是否在一个iframe中,这可能就是找不到的原因之一。如果你在一个default content中查找一个在iframe中的元素,那肯定是找不到的。反之你在一个iframe中查找另一个iframe元素或default content中的元素,那必然也定位不到。 selenium webdriver中提供了进入一个iframe的方法: WebDriver org.openqa.selenium.WebDriver.TargetLocator.frame(S ...
selenium-webdriver提供了强大的元素定位方法,支持以下三种方法。 单个对象的定位方法 多个对象的定位方法 层级定位                         定位单个元素 在定位单个元素时,selenium-webdriver提示了如下一些方法对? ...
在用selenium 1.X的时候常常会用到getEval()方法来执行一段js脚本来对页面进行处理,以处理一些遇到的问题。当然selenium webdriver也提供这样的一个方法:executeScript()   import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; public class SimpleExample { public static void main(String[] args) { WebDriver driver = ...
selenium webdriver对浏览器的简单操作   打开一个测试浏览器 对浏览器进行操作首先需要打开一个浏览器,接下来才能对浏览器进行操作。但要注意的是,因为Chrome Driver是Chromium 项目自己支持和维护的,所以你必需另外下载安装Chrome Driver,详细介绍查下他们的wiki 。   import java.io.File; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxBinary; import org.openqa.sel ...
selenium webdriver学习历程(一)------------快速开始 学习selenium已经两年了,从1.X到2.X,一直在关注它。中间由于工作原因中断了一段时间,但是一直无法割舍,最近又去官网看了一下,更新还挺快的。selenium1.X的时代将被取代,selenium-webdriver的大航海时代开始了。。。 安装selenium webdriver(eclipse+jdk+selenium webdriver2.20+firefox 10) 1、安装firefox,本人使用firefox10。确保firefox安装在默认环境下(不是的话会报错)。 2、安装jd ...

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多