定位神器

seleteCookie(name,path)
删除指定路径下的该名称 cookie。
参数:
·name – 被删除cookie的名称
·path – 被删除 cookie的路径属性

doubleClick(locator)
双击一个链接、 按钮、 多选框或单选框。 如果该双击事件导致了新的页面加载(如同链接通常所作的),将调用waitForPageToLoad。
参数:
locator - 一个元素定位器
doubleClickAt(locator,coordString)
双击一个链接、 按钮、 多选框或单选框。 如果该双击事件导致了新的页面加载(如同链接通常所作的),将调用waitForPageToLoad。

参数:
·locator - 一个元素定位器
· coordString – 指定由定位器返回的鼠标事件相关联的元素x,y 坐标(也就是 – 10,20)
dragAndDrop(locator,movementsString)

拖动元素一定的距离并放下
参数:
locator - 一个元素定位器
movementsString –从当前位置到指定位置的像素偏移量,如,”+70,-300”
dragAndDropToObject(locatorOfObjectToBeDragged,locatorOfDragDestinationObject)

拖动元素到另一元素
参数:
·locatorOfObjectToBeDragged–被拖动的元素
·locatorOfDragDestinationObject–被拖动的元素将拖向的元素的坐标(如,其最中心像素)
Dragdrop(locator,movementsString)

不建议–用dragAndDrop代替
参数:
·locator - 一个元素定位器
·movementsString–从当前位置到指定位置的像素偏移量,如,”+70,-300”
Echo(message)
打印指定消息到你的Selenese表的第三个表单元。有利于调试。

参数:
message – 要打印的消息
fireEvent(locator,eventName)
明确地模拟一个事件,触发”onevent”响应句柄。

参数:
locator - 一个元素定位器
eventName–事件名,如”focus”或”blur”
getSpeed()
获取执行速度(也就是,获取接下来的每一个selenium操作的延迟豪秒长度)。
默认情况下,是不会有延迟的。也就是延迟为0毫秒。参照setSpeed。
goBack()
模拟用户点击其浏览器上的”back”按钮
highlight(locator)暂时将指定元素的背景色改变为黄色。有利于调试。

参数:
locator - 一个元素定位器
keyDown(locator,keySequence)模拟用户按下一个键(除了还没释放的)

参数:
locator - 一个元素定位器
keySequence – 可以是个字符串(“\”后跟随要被按下键的数字键码, 通常是该键的ASCII值),或是个单字符,如“w“,“\119“。
keyPress(locator,keySequence)模拟用户按下和释放一个键。

参数:
locator - 一个元素定位器
keySequence – 可以是个字符串(“\”后跟随要被按下键的数字键码, 通常
是该键的 ASCII值),或是个单字符,如“w“, “\119“。
keyUp(locator,keySequence)模拟用户释放一个键。

参数:
locator - 一个元素定位器
keySequence – 可以是个字符串(“\”后跟随要被按下键的数字键码, 通常是该键的 ASCII值),或是个单字符,如“w“, “\119“。
metaKeyDown()
按下 meta键并保持其按下状态,直到 doMetaUp()被调用或一个新的页面被加
载。
metaKeyUp()
释放 meta键
mouseDown(locator)模拟用户在指定元素上按下鼠标按钮(除了还没释放的)。

参数:
locator - 一个元素定位器
mouseDownAt(locator,coordString)模拟用户在指定位置上按下鼠标按钮(除了还没释放的)。

参数:
locator - 一个元素定位器
coordString-指定由定位器返回的鼠标事件相关联的元素x,y 坐标(也就是– 10,20)
mouseMove(locator)模拟用户在指定元素上按下鼠标按钮(除了还没释放的)。

参数:
locator - 一个元素定位器
mouseMoveAt(locator,coordString)
模拟用户在指定位置上按下鼠标按钮(除了还没释放的)。

参数:
locator - 一个元素定位器
coordString-指定由定位器返回的鼠标事件相关联的元素x,y 坐标(也就是 – 10,20)mouseOut(locator)模拟用户从指定元素上移开鼠标指针。

参数:
locator - 一个元素定位器
mouseOver(locator)模拟用户鼠标滑过指定元素。

参数:
locator - 一个元素定位器
mouseUp(locator)模拟用户在指定元素上释放鼠标按钮时发生的事件(也就是,停止保持按钮按下)。

参数:
locator - 一个元素定位器
mouseUpAt(locator,coordString)模拟用户在指定元素上释放鼠标按钮时发生的事件(也就是,停止保持按钮按
下)。

参数:
locator - 一个元素定位器
coordString-指定由定位器返回的鼠标事件相关联的元素x,y 坐标(也就是 – 10,20)
open(url)在测试框架中打开一个URL,可以为相对和绝对URLs。 ”open”命令将等待页
面加载完成才继续进行, 也就是明确的指名”并等待”后缀。 注意: 由于浏览器
安全策略(相同来源方针)这个URL必须和当前运行的HTML在相同的域。如果你不得不在另一个域打开一个URL,则需要用Selenium服务在另一个域去打开一个新的浏览器会话。

参数:
url – 要打开的URL,可以为空
windowID – 要选择窗体的JavaScript window ID
pause(waitTime)
等待指定时间(以毫秒为单位)

参数:
waitTime – 要睡眠的时间(以毫秒为单位)
refresh()模拟用户点击浏览器上的”Refresh”按钮。
removeAllSelections(locator)取消所有可多选元素的选择状态。

参数:
locator–一个用于识别多选框的元素定位器
removeSelection(locator,optionLocator)从用选项定位器进行筛选的多选元素的筛选集合中移除一个集合。 @在
#doSelect中查看选项定位器的详细信息。

参数:
locator–一个用于识别多选框的元素定位器
optionLocator–一个选项定位器(默认为一个标签)
runScript(script)在当前测试窗体的body中创建一个新的”script”标签, 并在body中添加指定的命令文本。用这种方式执行脚本, 通常可以比使用Selenium的”getEval”方式更简易的进行调试。要注意的是, 由这种脚本标签所抛出的异常不受Selenium管
理,因此当该脚本有可能会抛出异常时,你需要用try/catch块将其包含起来。
script – 需要执行的JavaScript 片段
select(selectLocator,optionLocator)
用选项选择器从一个下拉框中选择一个选项。
选项选择器提供不同的方法从一个HTML选择元素中识别选项。
(例如:选择一个指定选项,或断言一个满足某种规范的选项)有许多种形式的选择选项定位器。
label=labelPattern: 基于其标签匹配选项,如其有效文本。
(默认)

label=regexp:^[Oo]ther
value=valuePattern: 基于其值匹配选项。
value=other
id=id: 基于其id匹配选项。
id=option1
index=index: 基于其索引匹配选项(从0开始)。
index=2
如果没有为选项定位器提供前缀,则默认匹配为标签行为。

参数:
selectLocator–一个用于识别下拉菜单的元素定位器
optionLocator–一个选项选择器(默认为标签)
selectFrame(locator)
在当前窗体中选择一个框架(你可以多次调用这个命令用于选择嵌套框架)。要
选择父框架,用”relative=parent”作为定位器;要选择顶级框架,用”relative=top”。
你同样可以通过基于0的索引号选择框架; 用”index=0”选择第一个框架, 或者用”index=2”选择第三个框架。
你同样可以直接使用一个DOM表达式来识别你要的框架。像这样:
dom=frames[“main”].frames[“subframe”]

参数:
locator – 一个用于识别框架或子框架的元素定位器
selectWindow(windowID)
选择一个弹出窗体;一旦一个弹出窗体被选中,所有的命令将指向该窗体。 要再次选择主窗体,将对象设定为null。

注意:window的内在JavaScript的”name”属性和被给与的window文档(通常是你实际看到的,作为最终用户,在窗体的标题栏上)的”title”之间有一个很大的不同。 ”name”对于最终用户通常是不可见的;它是作为第二个参数”windowName”传递给JavaScript函数window.open(url,windowName,windowFeatures,replaceFlag)(被Selenium截取)。
Selenium有许多方法用于查找被”windowID”参数所提及的窗体对象。
1.) 如果windowID为null, (或是字符串”null”), 则假定为用户是提交给由浏览器最初实例化的窗体。
2.) 如果”windowID”参数的值是当前应用窗体的一个JavaScript变量名,则假定该变量包含一个由调用JavaScript window.open()函数所产生的返回值。
3.) 另外, selenium looksinahash itmaintains that maps stringnames towindow
“names”.
4.) 如果失败了,我们将循环遍历所有已知的窗体以便试图找出适合的”title”。
由于”title”不是必须唯一,因此可能会产生一些非期望的行为。如果很难判定你所要操作的窗体的名称,你可以查看为识别通过window.open(被Selenium截取)所打开窗体的名称时所产生的selenium日志消息。在每个窗体被打开时,你通常可以看到如下信息:
debug: window.open call intercepted; windowID (你可以用于selectWindow()) is“myNewWindow”在某些情况, Selenium会无法截取window.open的调用(例如, 如果该调用发生在”onLoad”事件之间或之前)。 (该BUG标记为SEL-339)。在这些情况,你可以使用Selenium的openWindow命令强制Selenium去通告打开窗体的名称,使用一个空(blank) url,像这样: openWindow(“”,”myFunnyWindow”)。

参数:
windowID –要选择窗体的JavaScript窗体ID
setBrowserLogLevel(logLevel)
设定浏览器方日志信息级别; 在此级别之下的日志信息将被丢弃。 有效的日志
级别字符串有: ”debug”, ”info”, ”warn”, ”error”,或”off”。要查看浏览器日
志, 在 GUI模式下打开日志窗口, 或在SeleniumRC中将浏览器端记入日志设
定为enable。

参数:
logLevel –以下之一: ”debug”, ”info”, ”warn”, ”error”,或”off”
setCursorPosition(locator,position)
将文本光标移动到被给与的输入元素或文本域的指定位置。 若指定元素不是一
个可输入元素或文本域,该方法将失败。

参数:
locator–一个指向输入元素或文本域的元素定位器
position–该范围的光标数字位置; position如果设定为0,则为该范围域
的最开始位置,你同样可以将光标设定为-1以移动到该范围域的最末端。
setMouseSpeed(pixels)
配置在dragAndDrop命令执行期间, ”mousemove”事件时的像素数字(默认为10)。
将这个值设定为0,意味着我们将向从开始位置到结束位置的每一个像素发送
一个”mousemove”事件;那将会非常缓慢,且可能导致某些浏览器将该
JavaScript强制设定为超时。
如果该鼠标速度大于两个拖动对象间的距离, 我们将只向开始位置和结束位置
发送一个”mousemove”事件。

参数:
pixels–两个“mousemove”事件间的像素间隔setSpeed(value)设定执行速度(也就是说,设定将要执行的每条selenium操作间的毫秒延迟间
隔长度)。默认情况下,没有延迟,也就是延迟为0毫秒。

参数:
value–在操作后的暂停毫秒数
setTimeout(timeout)指定Selenium等待动作完成的等待时间。需要等待的动作包括”open”和”waitFor*”。
默认超时为30秒。

参数:
timeout–以毫秒为单位,超过后该命令将返回错误。
shiftKeyDown()
按下shift键,并保持按下状态,直到doShiftUp()被调用或一个新的页面被加载。
shiftKeyUp()释放shift键。store(expression,variableName)该命令是存储表达式的同义词。

参数:
expression–要存储的值
variableName–用于存储结果的变量名
submit(formLocator)提交给指定表单。这对于没有提交按钮的表单特别有用,如,简单输入的”search”表单。

参数:
formLocator –一个指向你要提交的表单的元素定位器
type(locator,value)设定一个输入域的值,如同你输入进去一样。
其同样可用于单选框,多选框等。在这些情况, value应为选项选择时的值,
而不是有效文本。

参数:
locator –一个元素定位器
value – 要录入的值
typeKeys(locator,value)模拟在指定元素上的按键事件,如同是你一个键一个键敲上去一样。
比起为指定字符串的每个字符调用 keyDown,keyUp,keyPress方法, 这个函数要
方便的多; 其对于需要明确按键事件的动态 UI组件(如自动完成的 combo box)
同样有用。
不同于简单的”敲打”命令——将指定值直接强制赋给页面,该指令可能有, 也
可能没有任何效果, 即时在敲打按钮通常会有效的情况下。 例如, 如果你在一
个表单元素上使用”typeKeys”,你可能可以,也可能不可以看到看到你在该区
域录入的效果。
在有些时候,你可能不得不使用简单的”type”命令去设定域的值,然后

”typeKeys”命令去发送按键事件以告知你所录入的值。

参数:
locator –一个元素定位器
value – 要录入的值
uncheck(locator)
取消选中一个关联性按钮(checkbox/radio)

参数:
locator –一个元素定位器
waitForCondition(script,timeout)
重复执行指定 JavaScript片段直到其值为”true”。
该片段可以有多行,但只考虑其最后一行的结果。

要注意: 默认情况下, 该片段会在运行者的测试窗体运行, 而不是在你的应用程序窗体。要得到你的应用程序窗体,你可以使用 JavaScript片段selenium.browserbot.getCurrentWindow(),然后让你的 JavaScript在那运行。

参数:
script – 要运行的JavaScript片段
timeout –以毫秒为单位,超过后该命令将返回错误。
waitForFrameToLoad(frameAddress,timeout)等待一个新的框架加载。Selenium通常会持续跟踪新页面和框架的加载状态, 当其第一次注意到页面加载完成,将会设定一个”newPageLoaded”标志。
查看waitForPageToLoad获得更多信息。

参数:
frameAddress–服务端的框架地址
timeout-以毫秒为单位,超过后该命令将返回错误。
waitForPageToLoad(timeout)
等待一个新的页面加载。
你可以使用此命令以代替”AndWait”后缀, ”clickAndWait”, ”selectAndWait”, ”typeAndWait”等(仅在JSAPI中有效)。Selenium通常会持续跟踪新页面的加载状态,当其第一次注意到页面加载完
成,将会设定一个”newPageLoaded”标志。当此标志变为false后再运行其他Selenium命令。 因此, 如果你要等待一个页面加载完成, 当一个Selenium命令导致一个页面加载后就需立即开始等待。

参数:
timeout-以毫秒为单位,超过后该命令将返回错误。
waitForPopUp(windowID,timeout)

等待一个弹出窗体出现和加载。
参数:
windowID–将出现窗体的JavaScript窗体ID
timeout-以毫秒为单位,超过后该命令将返回错误。

windowFocus()
将焦点赋给当前选择窗体

windowMaximize()
重新设定当前窗体大小为全

时间: 2024-08-08 13:51:46

定位神器的相关文章

阿里问题定位神器 Arthas 的骚操作,定位线上BUG,超给力

背景公司有个渠道系统,专门对接三方渠道使用,没有什么业务逻辑,主要是转换报文和参数校验之类的工作,起着一个承上启下的作用. 最近在优化接口的响应时间,优化了代码之后,但是时间还是达不到要求:有一个诡异的100ms左右的耗时问题,在接口中打印了请求处理时间后,和调用方的响应时间还有差了100ms左右.比如程序里记录150ms,但是调用方等待时间却为250ms左右. 下面记录下当时详细的定位&解决流程(其实解决很简单,关键在于怎么定位并找到解决问题的方法) 定位过程分析代码渠道系统是一个常见的spr

Selenium2学习(六)-- 定位神器CSS

前言 大部分人在使用selenium定位元素时,用的是xpath定位,因为xpath基本能解决定位的需求.css定位往往被忽略掉了,其实css定位也有它的价值,css定位更快,语法更简洁.这一篇css的定位方法,主要是对比上一篇的xpath来的,基本上xpath能完成的,css也可以做到.两篇对比学习,更容易理解. 一.css:属性定位 1.css可以通过元素的id.class.标签这三个常规属性直接定位到 2.如下是百度输入框的的html代码: <input id="kw" c

定位神器:1秒定位DOM元素绑定的事件代码的位置

1 VisualEvent github地址: https://github.com/DataTables... 2 使用教程 打开http://sprymedia.co.uk/Visual...,然后将visual Event连接拖动到浏览器的书签栏上 随便打开一个页面,然后点击VisualEvent书签后,页面就变成这样了.鼠标移动到蓝色或者黄色边框的元素上,相应得逻辑代码就会出现.截图左下角蓝色长条上有一些有用的信息,最左边有个关闭的按钮. 3. 最后 VisualEvent并不是万能的,

Selenium Webdriver元素定位的八种常用方式

在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素.其中By类的常用定位方式共八种,现分别介绍如下. 1. By.name() 假设我们要测试的页面源码如下: <button id="gbqfba" aria-label="Google Search" name="btnK" class="gbqfba"><

【腾讯bugly干货分享】如何定位Obj-C野指针随机Crash(三):加点黑科技让Crash自报家门

本文主要介绍如何利用OC Runtime的特性,让OC野指针对象主动抛出自己的信息,秒杀某些全系统栈Crash. 陈其锋,腾讯SNG即通产品部音视频技术中心软件工程师,主要负责iOS平台音视频功能开发,热衷于移动开发,以及各类APP体验. (注:本文由于涉及一些技术比较猥琐,可能会引起处女座同学的不适,如果有任何疑问欢迎一起讨论.另外,本文只讨论Arm 32位情况) 为什么错误地址是0x55555561? 我们在前文里曾经介绍过在内存释放后填充0x55使野指针出现后数据不能访问,从而使野指针变成

Selenium Webdriver元素定位的方式

Selenium Webdriver元素定位的方式 主要就是By类的 1.By.name() ## html代码如下: <button id="gbqfba" aria-label="Google Search" name="btnK" class="gbqfba"><span id="gbqfsa">Google Search</span></button>

Selenium Webdriver元素定位的八种常用方式(转载)

转自:http://www.cnblogs.com/qingchunjun/p/4208159.html 在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素.其中By类的常用定位方式共八种,现分别介绍如下. 1. By.name() 假设我们要测试的页面源码如下: <button id="gbqfba" aria-label="Google Search" n

Selenium2+python自动化74-jquery定位【转载】

转至博客:上海-悠悠 前言 元素定位可以说是学自动化的小伙伴遇到的一道门槛,学会了定位也就打通了任督二脉,前面分享过selenium的18般武艺,再加上五种js的定位大法. 这些还不够的话,今天再分享一个定位神器jquery,简直逆天了! 一.jquery搜索元素 1.按F12进控制台 2.点全部按钮 3.右侧如果没出现输入框,就点下小箭头按钮 4.输入框输入jquery定位语法,如:$("#input1") 5.点运行按钮 6.左边会出现定位到的元素,如果有多个会以list列表的形式

selenium 定位方式

在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素.其中By类的常用定位方式共八种,现分别介绍如下. 1. By.name() 假设我们要测试的页面源码如下: <button id="gbqfba" aria-label="Google Search" name="btnK" class="gbqfba"><