selenium webdriver学习(九)------------如何操作cookies 博客分类: Selenium-webdriver   Web 测试中我们经常会接触到Cookies,一个Cookies主要属性有”所在域.name.value.有效日期和路径",下面来讲一下怎么操作Cookies. import java.util.Set; import org.openqa.selenium.Cookie; import org.openqa.selenium.WebDriver;…
selenium webdriver学习--通过id.name定位,输入内容,搜索,关闭操作:通过tagname查找元素 打开谷歌浏览器,输入不同的网站,搜索框的定位含有不同元素(有时为id,有时为name) 通过tagname查找元素 import java.util.List; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement;…
selenium webdriver学习(八)------------如何操作select下拉框 博客分类: Selenium-webdriver   下面我们来看一下selenium webdriver是如何来处理select下拉框的,以http://passport.51.com/reg2.5p这个页面为例.这个页面中有4个下拉框,下面演示4种选中下拉框选项的方法.select处理比较简单,直接看代码吧:) import org.openqa.selenium.By; import org.…
selenium webdriver学习(二)————对浏览器的简单操作 博客分类: Selenium-webdriver   selenium webdriver对浏览器的简单操作 打开一个测试浏览器 对浏览器进行操作首先需要打开一个浏览器,接下来才能对浏览器进行操作.但要注意的是,因为Chrome Driver是Chromium 项目自己支持和维护的,所以你必需另外下载安装Chrome Driver,详细介绍查下他们的wiki. import java.io.File; import org…
Selenium webdriver 学习总结-元素定位 webdriver提供了丰富的API,有多种定位策略:id,name,css选择器,xpath等,其中css选择器定位元素效率相比xpath要高些,使用id,name属性定位元素是最可靠,效率最高的一种办法. 1.工具选择:在我们开发测试脚本的过程中各个浏览器给我们也提供了方便定位元素的工具,我比较喜欢使用firefox的firebug工具,也是目前很多开发测试人员比较热衷的选择,原因是firefox是唯一能够集成selenium IDE…
selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出: 该情况适合能能循环page=1~n,并且每个网页随着循环可以打开的情况, 注意一定是自己拼接的url可以打开,如:http://ask.testfan.cn/articles?page=15,就可以翻到文章分类的第15页: import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.u…
selenium webdriver学习---三种等待时间方法:显式等待,隐式等待,强制等待 本例包括窗口最大化,刷新,切换到指定窗口,后退,前进,获取当前窗口url等操作: import java.util.Set; import java.util.concurrent.TimeUnit; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.omg.CORBA.PUBLIC_MEMBER; import or…
selenium webdriver学习(七)------------如何处理alert.confirm.prompt对话框 博客分类: Selenium-webdriver alertpromptconfirmseleniumwebdriver  alert.confirm.prompt这样的js对话框在selenium1.X时代也是难啃的骨头,常常要用autoit来帮助处理. 试用了一下selenium webdriver中处理这些对话框十分方便简洁.以下面html代码为例: Dialogs…
描述:selenium webdriver学习--打开新窗口,并判断新窗口是否与目标窗口一致,若一致则切换到该窗口并获取标题 跳出if判断,获取父级标题,并关闭 HTML标签不太明显时,可以用路径表示: driver.findElement(By.xpath("/html/body/div/div[4]/div[6]/p[2]/a")); import java.util.Set; import org.jsoup.Jsoup; import org.jsoup.nodes.Docum…
selenium webdriver学习,选择模块,点击下一页,获取当前url 查找下一页有多种方法,这里列举两种: isSelected()函数用于判断是否点击选中,返回Boolean类型 import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver…
selenium webdriver学习(六)------------如何得到弹出窗口 在selenium 1.X里面得到弹出窗口是一件比较麻烦的事,特别是新开窗口没有id.name的时候.当时还整理了处理了几种方法,详见:http://seleniumcn.cn/read.php?tid=791 .在selenium webdriver中得到新开窗口相对简单的多,它无关新开窗口的id.name等属性.以下面的html为例: <span style="white-space: normal…
selenium webdriver学习(十)------------如何把一个元素拖放到另一个元素里面 博客分类: Selenium-webdriver 元素拖放drag and drop  Q群里有时候会有人问,selenium  webdriver怎么实现把一个元素拖放到另一个元素里面.这一节总一下元素的拖放. 下面这个页面是一个演示拖放元素的页面,你可以把左右页面中的条目拖放到右边的div框中. http://koyoz.com/demo/html/drag-drop/drag-drop…
selenium webdriver学习(五)------------iframe的处理 博客分类: Selenium-webdriver 如何定位frame中元素  有时候我们在定位一个页面元素的时候发现一直定位不了,反复检查自己写的定位器没有任何问题,代码也没有任何问题.这时你就要看一下这个页面元素是否在一个iframe中,这可能就是找不到的原因之一.如果你在一个default content中查找一个在iframe中的元素,那肯定是找不到的.反之你在一个iframe中查找另一个iframe…
selenium webdriver学习(四)------------定位页面元素 博客分类: Selenium-webdriver seleniumwebdriver定位页面元素findElementBy  selenium-webdriver提供了强大的元素定位方法,支持以下三种方法. 单个对象的定位方法 多个对象的定位方法 层级定位 定位单个元素 在定位单个元素时,selenium-webdriver提示了如下一些方法对元素进行定位. By.className(className)) By…
selenium webdriver学习(三)------------执行js脚本 博客分类: Selenium-webdriver   在用selenium 1.X的时候常常会用到getEval()方法来执行一段js脚本来对页面进行处理,以处理一些遇到的问题.当然selenium webdriver也提供这样的一个方法:executeScript() import org.openqa.selenium.JavascriptExecutor; import org.openqa.seleniu…
selenium webdriver学习(一)------------快速开始 博客分类: Selenium-webdriver selenium webdriver 学习 selenium webdriver学习历程(一)------------快速开始 学习selenium已经两年了,从1.X到2.X,一直在关注它.中间由于工作原因中断了一段时间,但是一直无法割舍,最近又去官网看了一下,更新还挺快的.selenium1.X的时代将被取代,selenium-webdriver的大航海时代开始了…
介绍selenium操作cookie之前,先简单介绍一下cookie的基础知识 cookie cookie一般用来识别用户身份和记录用户状态,存储在客户端电脑上.IE的cookie文件路径(win7): "C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Cookies" 如果windows下没有cookies文件夹,需要把隐藏受保护的系统文件夹前面的勾去掉:chrome的cookie路径(win7): "C:\Users\用户名\…
selenium webdriver 一.上传文件操作 上传文件夹一般要打开一个本地窗口,从窗口选择本地文件添加.所以一般会卡在如何操作本地窗口添加上传文件. 其实,在selenium webdriver没我们 想的那么复杂.只要定位到上传按钮,通过send_keys添加本地文件path就可以了.绝对path和相对path都可以,关键是上传文件存在. 示例: from selenium import webdriver import os,time #脚本要与测试html同一目录 file_pa…
selenium webdriver 一.定位一组元素: webdriver可以很方便的使用findElement 方法来定位某个物定的对象.不过有时候我们却要定位一组对象,这时候就需要使用findElements方法. 应用场景: 1. 批量操作对象,比如将页面上所有checkbox都选择上: 2.先获取一组对象,再在这组对象中过滤出需要定位的一些对象.比如定位页面上所有checkbox,然后再选择最后一个. 二.多层框架.窗口定位 switch_to_frame() switch_to_wi…
selenium webdriver 第一个脚本: #coding = utf-8 from selenium import webdriver import time url = "http://www.baidu.com" browser = webdriver.chrome() browser.get(url) #查找元素 browser.find_element_by_id("kw").send_keys("Python") browse…
在测试使用Selenium webdriver测试WEB系统的时候,用到了模拟鼠标.键盘的一些输入操作. 1.鼠标的左键点击.双击.拖拽.右键点击等: 2.键盘的回车.回退.空格.ctrl.alt.shift等: 在webdriver中,有专门的一个类,是用来进行鼠标.键盘的模拟操作的,那就是Actions类,该类使用时,又会涉及到Keyboard.Mouse.CompositeAction(复合动作),先对Mouse的方法做简单罗列,然后再用代码说明: 1.鼠标左键点击: Actions ac…
Keys()类提供了键盘上几乎所有按键的方法,这个类可用来模拟键盘上的按键,包括各种组合键,如 Ctrl+A, Ctrl+X,Ctrl+C, Ctrl+V 等等 from selenium import webdriver from selenium.webdriver.common.keys import Keys from time import sleep driver = webdriver.Chrome() driver.get("http://www.baidu.com")…
ActionChains 类提供了鼠标操作的常用方法: perform(): 执行所有 ActionChains 中存储的行为: context_click(): 右击: double_click(): 双击: drag_and_drop(): 拖动: move_to_element(): 鼠标悬停. 鼠标悬停操作 代码实现: from selenium import webdriver from selenium.webdriver import ActionChains driver = w…
package baidu; import java.io.File; import java.io.IOException; import junit.framework.TestCase; import org.apache.commons.io.FileUtils; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.OutputType; import org.openqa.se…
1. 打开VS2012 2. 新建工程(单元测试工程或控制台程序都可以, 看需求) 3. 工具->NuGet程序包管理器->程序包管理器控制台 4. 输入"Install-Package Selenium.WebDriver"安装程序包 5. 输入"Install-Package Selenium.WebDriverBackedSelenium"安装程序包 6. 输入"Install-Package Selenium.Support"…
有时候我们在定位一个页面元素的时候发现一直定位不了,反复检查自己写的定位器没有任何问题,代 码也没有任何问题.这时你就要看一下这个页面元素是否在一个iframe中,这可能就是找不到的原因之一.如果你在一个default content中查找一个在iframe中的元素,那肯定是找不到的.反之你在一个iframe中查找另一个iframe元素或default content中的元素,那必然也定位不到. selenium webdriver中提供了进入一个iframe的方法: WebDriver org…
当程序更新一个变量时,如果多线程同时更新这个变量,可能得到期望之外的值,比如变量i=1,A线程更新i+1,B线程也更新i+1,经过两个线程操作之后可能i不等于3,而是等于2.因为A和B线程在更新变量i的时候拿到的i都是1,这就是线程不安全的更新操作,通常我们会使用synchronized来解决这个问题,synchronized会保证多线程不会同时更新变量i.  而Java从JDK 1.5开始提供了java.util.concurrent.atomic包(以下简称Atomic包),这个包中的原子操…
http://blog.csdn.net/aerchi/article/details/8055913 WebDriverWait类和ExpectedCondition…
Selenium Webdriver 学习: http://jarvi.iteye.com/category/203994 https://github.com/easonhan007/webdriver_guide Selenium WebDriver经验杂记:http://blog.csdn.net/ant_yan/article/details/8185899http://blog.csdn.net/aerchi/article/category/936247 1. Selenium We…
一.鼠标操作 这个需要使用webdriver下的ActionChains类,这个类是操作鼠标操作的: from selenium.webdriver import ActionChains 鼠标操作可分为三类:鼠标移动.鼠标拖拽.鼠标点击 element = driver.find_element_by_name('tj_settingicon') #鼠标点击 ActionChains(driver).click(element).perform() #单击某元素 ActionChains(dr…