seleniumide命令

命令分类

  1. 操作浏览器的:close,goBack ,createCookie ,deleteAllVisibleCookies ,deleteCookie ,goBack ,open ,openWindow ,selectWindow,deselectPopUp ,setBrowserLogLevel ,waitForFrameToLoad ,waitForPageToLoad ,waitForPopUp ,windowFocus ,windowMaximize ,storeAllWindowIds ,storeAllWindowNames ,storeAllWindowTitles ,storeCookie ,storeCookieByName ,storeCookiePresent ,storeTitle(单个页面),storeWhetherThisWindowMatchWindowExpression (浏览器窗口)

  2. 操作键盘的:altKeyDown ,altKeyUp ,controlKeyDown ,controlKeyUp ,keyDown,keyPress ,keyUp ,metaKeyDown ,shiftKeyDown ,shiftKeyUp

  3. 操作HTML 元素的

    • 通用:assignId,storeAttribute ,storeAttributeFromAllWindows , storeBodyText ,storeElementHeight ,storeElementIndex ,storeElementPositionLeft ,storeElementPositionTop ,storeElementWidth ,storeHtmlSource ,storeText,storeValue ,storeXpathCount ,storeElementPresent ,storeOrdered ,storeTextPresent ,storeVisible
    • frame元素:storeWhetherThisFrameMatchFrameExpression
    • 下拉元素drop-down/select element:select,storeSelectedId ,storeSelectedIndex ,storeSelectedLabel ,storeSelectedValue,storeSomethingSelected
    • 多选元素multi-selection:addSelection,removeSelection ,storeSelectedIds,storeSelectedLabels,storeSelectedValues,storeSelectOptions
    • button:storeAllButtons
    • filed:storeAllFields
    • link:storeAllLinks
    • toggle-button (checkbox/radio):check,uncheck ,storeChecked
    • 表格form:submit
    • table元素:storeTable
    • 右键会出现菜单的元素:contextMenu,contextMenuAt
    • link,button,checkbox,radio:click,clickAt , doubleClick , doubleClickAt
    • input,combo box,checkbox:type
    • input:storeEditable
    • 动态UI元素:typeKeys
  4. 操作鼠标的(除去左键click):dragAndDrop , dragAndDropToObject ,mouseDown ,mouseDownRight ,mouseDownRightAt ,mouseMoveAt ,mouseOut ,mouseOver ,mouseUp,mouseUpAt ,mouseUpRight ,mouseUpRightAt,setCursorPosition ,setMouseSpeed ,storeCursorPosition

  5. 操作 pop-ups的:answerOnNextPrompt , chooseCancelOnNextConfirmation ,chooseOkOnNextConfirmation,storeAlert ,storeConfirmation ,storePrompt ,storeAlertPresent ,storeConfirmationPresent ,storePromptPresent

  6. 操作通知消息的:assertErrorOnNext ,assertFailureOnNext ,

  7. 直接操作JS代码的 addScript,removeScript,runScript,storeEval,store ,waitForCondition ,storeExpression

  8. 浏览器兼容相关:allowNativeXpath ,storeAttribute ,storeCursorPosition

  9. 自定义:addLocationStrategy

  10. 其他
    break ,captureEntirePageScreenshot ,echo ,fireEvent ,focus ,highlight ,ignoreAttributesWithoutValue ,setSpeed ,useXpathLibrary ,storeSpeed

selenium Actions

重点关注可以做什么,怎么做

addLocationStrategy ( strategyName,functionDefinition )
自定义页面定位元素的函数。
使用示例:
addLocationStrategy ( foo,functionDefinition )
click(“foo=blah”)
foo是定义的策略,blah的作为string参数被传入,blah应该是定位的关键字。这时候一共会传入三个参数:

  • locator:定位关键字,用户传入的string参数。示例中blah。
  • inWindow:当前选择的窗口
  • inDocument:当前选择的DOM对象

参数:

  • strategyName:定位策略的名称,only letters [a-zA-Z]
  • functionDefinition:JS代码

addScript ( scriptContent,scriptTagId )
在selenium文件里加载一段scriptContent到一个新的脚本tag中,应该是用脚本TagId来指代一段代码。相似但区别于runScript:不是将Tag加在Selenium文档而是AUT文档。在scriptContent里实体用
指代。
参数:

  • scriptContent:被加入的JS内容
  • scriptTagId: 可选项,新的脚本tag,如果指定了且元素的id已经存在了,操作失败。

removeScript ( scriptTagId )

runScript ( script )
在当前的测试窗口建立一个新的脚本Tag,并在命令中加入特定的文本。这种方式比getEval命令要好调试。这种JS代码甩出的异常selenium不会处理,需要自己在脚本加上try/catch。
getEval命令可能已弃用了,现存命令storeEval,在Assertion一节。

addSelection ( locator,optionLocator )
在多选元素(multi-select element)中,新增一个已选项。参考doSelect查看选项定位的细节。
这个doSelect是什么:
1. JS Select事件?好像不是很符合,原文“触发、或将函数绑定到指定元素的 select 事件;当 textarea 或文本类型的 input 元素中的文本被选择时,会发生 select 事件”,是用来定义此事件发生后,如何处理时使用。
2. HMTL对象select标签?,不是很符合。HMTL说他是下拉列表选项。找到一个HTML DOM options 集合, HTML dom 对象select的对象集合?
3. 是select() selenium IDE的函数,为什么要前缀do?见“添加Actions”一节。

参数:

  • locator:识别出多选框的元素定位器。之后的这个参数都没写。
  • optionLocator: 选项定位器,默认是通过label定位。lable含义键select 命令解释。

removeSelection ( locator,optionLocator )

select ( selectLocator,optionLocator )
使用选项定位器从一个下拉选项元素中选择一个选项。

选项定位器

  • label=labelPattern:默认, lable的定义,没说得完全清楚,举了一个例子: visibel text
  • label=regexp:^[Oo]ther
  • value=valuePattern:也不太清楚value的定义,可能是value属性吧

  • id=id: 选项的id

  • index=index:从0开始计数:

    • index=0,第一个选项

参数:

  • selectLocator:元素定位器,元素必须是下拉菜单元素
  • optionLocator:略

下拉drop-down元素有: