ttp://www.yiibai.com/selenium/selenium_ide_tool_features.html     学习

Selenium IDE安装

http://seleniumhq.org/download

https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/

录制测试用例

默认开启录制

单击○取消录制

新建用例

Test Case:测试用例

Test Suite:测试套件

Base URL:www.baidu.com

关键字驱动的测试方式

Command:要执行的操作是什么

Target:操作的界面元素是哪个

Value:操作时使用的值是多少

运行结果

第一行对目标“/”,使用open命令打开

第二行找打id为kw元素,使用type命令输入内容,输入的值为selenium

第三行找到id为su的元素,执行click命令

重复执行

Fast Slow控制时间间隔

Play entire test suite:执行整个测试套件,左侧列表所有的测试用例

Play current test case:执行当前选中测试用例

编写测试用例

1文件→New Test Case

2操作步骤表上单击右键→Insert New Command

Command:open

Target:https://www.2345.com/?kgooge

3打开页面,搜索框右键,查看元素,看id

Selenium命令分类

1Action(操作):操作应用程序状态

  1浏览器的操作

    (1)open(url):打开指定Url,URL分为相对,绝对,open命令将等待加载完毕再执行下一个命令

        参数:Target:要打开的URL

        注意:

          *当Target为空时,打开Base URL中的地址

          *当Target不为空时,打开Base URL+Targe页面

          *当Target以http://开头时,忽略Base URL,直接打开Target中的地址

    (2)go back()        后退button,没有参数

    (3)refresh               刷新,没有参数

    (4)windowFocus       激活当前窗口,没有参数

    (5)windowMaximize  窗口最大化,没有参数

    (6)close                  关闭窗口,没有参数

  2界面元素的基本操作

    (1)type(locator,value):input类型元素中输入值,用键盘输入,下拉框,列表框,复选框

        参数:Target:元素定位表达式

               Value:输入值

    (2)typeKeys(locator,value):模拟键盘一个一个输入,相当调用keyDown、keyUp、KeyPress,汉字,先type设置字段的值,typeKey触发键盘事件

        参数:Target:元素定位表达式

               Value:输入值

    (3)click(locator):单击链接、复选单选框,如有加载+waitForPageToLoad或clickAndWait

        参数:Target:元素定位表达式

    (4)clickAt(locator,coordString)相对坐标

        参数:Target:元素定位表达式

               Value:(x,y)(1,1)

    (5)doubleClick(locator):单击链接、复选单选框,如有加载+waitForPageToLoad或clickAndWait

        参数:Target:元素定位表达式

    (6)doubleClickAt(locator,coordString)相对坐标

        参数:Target:元素定位表达式

               Value:(x,y)(1,1)

    (7)select(selectLocator,optionLocator):下拉框

        参数:Target:下拉框定位表达式

          value:下拉框选项的定位表达式

                label=文本值,label=three(默认)

                value=真实值,label=3

                id=id,id=option3

                index=索引值,从0开始,index=2

    (8)check(locator):复选框、单选框,一般不用

        参数:Target:元素定位表达式

    (9)uncheck(locator):取消复选框、单选框勾选

        参数:Target:元素定位表达式

    (10)focus(locator):焦点转移到指定元素

        参数:Target:元素定位表达式

  3键盘鼠标模拟操作

    键盘

    altKeyDown():Alt键不放,直到调用altKeyUp()或重新加载新的页面,没有参数

    altKeyUp():松开alt键,没有参数

    controlKeyDown():Ctrl键不放,直到调用ctrlKeyUp()或重新加载新的页面,没有参数

    controlKeyUp():松开Ctrl,没有参数

    shiftlKeyDown():Shift键不放,直到调用stiftKeyUp()或重新加载新的页面,没有参数

      shiftKeyUp():松开Shift,没有参数

    keyDown():按下某个键不放,直到调用keyUp()

      Target:元素的定位表达式

      Value:要输入字符串,按键的ASCLL码

    keyPress(locator,keySequence):敲击了某个按键

      Target:元素的定位表达式

      Value:要输入字符串,按键的ASCLL码

      keyUp(locator,keySequence):松开某个按键

      Target:元素的定位表达式

      Value:要输入字符串,按键的ASCLL码

    鼠标

    mouseDown(locator):指定元素上按下鼠标左键不放

      Target:元素的定位表达式

    mouseDownAt(locator,coordString):指定元素上按下鼠标左键不放,相对坐标

      Target:元素的定位表达式

      value:(x,y)

    mouseDownRight(locator):指定元素上按下鼠标右键不放

      Target:元素的定位表达式

    mouseDownAt(locator,coordString):指定元素上按下鼠标右键不放,相对坐标

      Target:元素的定位表达式

      value:(x,y)

    mouseUp(locator):松开指定元素上按下的鼠标左键

      Target:元素的定位表达式

    mouseUpAt(locator,coordString):松开指定元素上按下的鼠标左键,相对坐标

      Target:元素的定位表达式

      value:(x,y)

    mouseUpRight(locator):松开指定元素上按下的鼠标右键

      Target:元素的定位表达式

    mouseUpAt(locator,coordString):松开指定元素上按下的鼠标右键,相对坐标

      Target:元素的定位表达式

      value:(x,y)

    mouseOver(locator):鼠标光标移动到指定元素内

      Target:元素的定位表达式

    mouseOut(locator):鼠标光标移动到指定元素外

      Target:元素的定位表达式

              Ctrl+Alt+C:CtrlKeyDown、altKeyDown、keyDown,然后一个一个keyup

  4设置类操作

    (1)setTimeout(timeout):执行操作最大等待时间,open或以waitFor开头或AndWait后缀的命令,默认超时时间30秒

        Target:超时时间,单位毫秒

    (2)setSpeed(value):执行速度,默认0毫秒

        Target:执行的时间间隔,单位毫秒

  5测试调控/调试类操作

    (1)pause(waitTime):暂停

        Target:暂停时间,毫秒

    (2)break():暂停当前正在执行的测试,直到用户手动单击继续按钮,没有参数

    (3)captureEntirePageScreenshot(filename,kwargs):当前窗口截图PNG文件

        Target:截图保存路径:D:\123.png

    (4)highlight(locator):暂时北京为黄色

        Target:元素的定位表达式

    (5)echo(message):信息打印

        Target:要打印的信息

          

2Accessor(存储):检查应用程序状态,并将结果存储在变量中,“storeTitle”自动生成Assertion

  (1)store(expression,variableName)最基本的存储方式,指定的值存储在变量中

      Traget:要存储的值

      Value:变量名称

          

  (2)storeTitle(variableName):存放当前网页的标题

      Target:变量名

        

  (3)storeLocation(variableName):存储URL

      Target:变量名

  (4)storeValue(locator,variableName):input元素存放的值,文本框、复选框、单选框的值,on勾选,off未勾选

      Target:元素的定位表达式

      Value:变量名

  (5)storeEditable(locator,variableName):input元素的可编辑状态,文本框、复选框、单选框可编辑状态,可编辑返回true,否则false

      Target:元素的定位表达式

      Value:变量名

  (6)storeText(locator,variableName):元素文本值

      Target:元素的定位表达式

      Value:变量名

  (7)storeChecked(locator,variableName):复选框、单选框的勾选情况,返回true勾选,false未勾选

      Target:元素的定位表达式

      Value:变量名

  (8)storeSelectedIndex(locator,variableName):索引,0开始

  (9)storeSelectedLabel(locator,variableName):文本值

  (10)storeSelectedValue(locator,variableName):真实值

      Target:元素的定位表达式

      Value:变量名

        

  (11)storeSelectedOptions(selectLocator,variableName):列表中所有选项文本,“,”隔开

      Target:元素的定位表达式

      Value:变量名

            

  (12)storeTable(selectLocator,variableName):表格中某个单元格(td元素)的值,行号、列号从0开始

      Target:表格的定位表达式,行号.列号,foo.1.4

      Value:变量名

          

  (13)storeAttribute(selectLocator,variableName):获取指定属性的值

      Target:属性的定位表达式,元素的定位表达式=@属性名称,foo@bar

      Value:变量名

  (14)storeTextPresent(pattern,variableName):指定的文本是否在页面中出现,出现返回true,否则false

      Target:查找文本

      Value:变量名

  (15)storeElementPresent(locator,variableName):元素是否存在页面,元素出现返回true,否则false

      Target:元素的定位表达式

      Value:变量名

  (16)storeVisible(locator,variableName):元素的visibility属性为hidden或者display属性为none的元素是否存在界面

      Target:元素的定位表达式

      Value:变量名

  (17)storeSpeed(variableName):执行速度,默认0

      Target:变量名

3Assertion(断言):验证应用程序的状态

  *使用assertText、VerifyText、waitForText

  (1)assert:assert失败测试会中断,单个asseert来确认当前应用程序是否位于正确的页面

  (2)verify:verify失败会记录,测试继续,测试表单字段的值、标签值

  (3)waitFor:执行等待,直到等待条件为真,测试通过

      ①验证网页的标题是否等于或不等于预期值

        assertTitle

        assertNotTitle

        verifyTitle

        verifyNotTitle

        waitForTitle

        waitForNotTitle

           参数:Target:对比预期值

                

      ②验证网页的URL是否等于或不等于预期值

        assertLocation

        assertNotLocation

        verifyLocation

        verifyNotLocation

        waitForLocation

        waitForNotLocation

           参数:Target:对比预期值

      ③验证input元素的值是否等于或不等于预期值

        assertValue

        assertNotValue

        verifyValue

        verifyNotValue

        waitForValue

        waitForNotValue

           参数:Target:元素的定位表达式

              Value:对比预期值

              输入不是空值

               

    ③验证input元素可编辑状态是否为预期值状态

        assertValue

        assertNotValue

        verifyValue

        verifyNotValue

        waitForValue

        waitForNotValue

           参数:Target:元素的定位表达式

              Value:对比预期值

    ④验证input元素的可编辑状态是否为预期状态

        assertEditable

        assertNotEditable

        verifyEditable

        verifyNotEditable

        waitForEditable

        waitForNotEditable    

            参数:Target:元素的定位表达式

    ⑤验证某个元素的文本值是否等于预期值     

        assertText

        assertNotText

        verifyText

        verifyNotText

        waitForText

        waitForNotText

            参数:Target:元素的定位表达式

                 Value:对比预期值

    ⑥验证复选框或单选框的勾选情况是否符合预期     

        assertChecked

        assertNotChecked

        verifyChecked

        verifyNotChecked

        waitForChecked

        waitForNotChecked

        unCheck

            参数:Target:元素的定位表达式

    ⑦验证所选项在列表中的索引是否符合预期值(从0开始)    

        assertSelectedIndex

        assertNotSelectedIndex

        verifySelectedIndex

        verifyNotSelectedIndex

        waitForSelectedIndex

        waitForNotSelectedIndex

            参数:Target:元素的定位表达式

              

    ⑧验证指定列表中所选的文本值是否符合预期值(从0开始)    

        assertSelectedLabel

        assertNotSelectedLabel

        verifySelectedLabel

        verifyNotSelectedLabel

        waitForSelectedLabel

        waitForNotSelectedLabel

            参数:Target:元素的定位表达式

                 Value:对比预期值

    ⑨验证指定列表中所选的真实值(value属性)值是否符合预期值(从0开始)    

        assertSelectedValue

        assertNotSelectedValue

        verifySelectedLabel

        verifyNotSelectedValue

        waitForSelectedValue

        waitForNotSelectedValue

            参数:Target:元素的定位表达式

                 Value:对比预期值

    ⑩验证指定列表中所有选项的文本是否符合预期值   

        assertSelectedOptions

        assertNotSelectedOptions

        verifySelectedOptions

        verifyNotSelectedOptions

        waitForSelectedOptions

        waitForNotSelectedOptions

            参数:Target:元素的定位表达式

                 Value:对比预期值

        例:assertSelectedOptions   name=ms   按时间倒叙,按时间顺序,按相关性排序

             assertNotSelectedOptions   name=ms

    ⑪验证表格(table元素)中某个单元格(td元素)的值是否符合预期值   

        assertTable

        assertNotTable

        verifyTable

        verifyNotTable

        waitForTable

        waitForNotTable

            参数:Target:元素的定位表达式.行号.列号

                 Value:对比预期值

    ⑫验证指定属性的值是否符合预期值   

        assertAttribute

        assertNotAttribute

        verifyAttribute

        verifyNotAttribute

        waitForAttribute

        waitForNotAttribute

            参数:Target:属性的定位表达式@属性名

                 Value:对比预期值

     例:assertAttribute         name=btnK@Value              Google搜索

    ⑬验证指定的文本是否在页面中出现   

        assertTextPresent

        assertTextNotPresent

        verifyTextPresent

        verifyTextNotPresent

        waitForTextPresent

        waitForTextNotPresent

            参数:Target:属性的定位表达式@属性名   

    ⑭验证指定元素是否在存在于页面上  

        assertElementPresent

        assertElementNotPresent

        verifyElementPresent

        verifyElementNotPresent

        waitForElementPresent

        waitForElementNotPresent

            参数:Target:属性的定位表达式@属性名

    ⑮验证页面中是否显示指定元素  

        assertVisible

        assertNotVisible

        verifyVisible

        verifyNotVisible

        waitForVisible

        waitFortNotVisible

            参数:Target:属性的定位表达式@属性名

     更多:http://release.seleniumhp.org/selenium-core/1.0.1/reference.html

 Target

    定位类型=定位值

      ①identifier定位:默认,identifier=

      ②id定位,id=

      ③name定位 过滤:value,name=  value=

      ④XPath定位

        1<html>

        2<body>

        3<form id="loginForm">

        4<input name="username" type="text"/>

        5<input name="password" type="password"/>

        6<input name="continue" type="submit" value="Login"/>

        7<input name="continue" type="button" value="Clear"/>

        8</form>

        9</body>

        10</html>

      Target表达式返回的页面元素

        */html/body/form[1]返回第三行form元素

        *//form[@id='loginForm']返回第三行form元素

        *//form[input^@name='username']返回第三行form元素

        *//input[@name='username']返回第四行元素

        *//form[@id='loginForm']/input[1]返回第四行元素

        *//form[@name='continue'][@type='button']返回第七行元素

           *//form[@id='loginForm']/input[4]返回第七行元素

      ⑤链接文字定位

        1<html>

        2<body>

        3<p> Are you sure you want to do this?</p>

        4<a href="continue.html">Continue</a>

        5<a href="cancel.htmll">Cancel</a>

        6</body>

        7</html>

      Target表达式返回的页面元素

        *link=Continue 返回第四行元素

        *link=Cancel   返回第五行元素

      ⑥DOM定位

           1<html>

        2<body>

        3<form id="loginForm">

        4<input name="username" type="text"/>

        5<input name="password" type="password"/>

        6<input name="continue" type="submit" value="Login"/>

        7<input name="continue" type="button" value="Clear"/>

        8</form>

        9</body>

        10</html>

      使用不同的Target表达式返回页面元素

        dom=document.getElementById('loginForm')返回第三行元素

        dom=document.forms['loginForm']返回第三行元素

        dom=document.forms[0]返回第三行元素

        dom=document.forms[0].username返回第4行元素

        dom=document.forms[0].element['username']返回第4行元素

        dom=document.forms[0].element[0]返回第4行元素

        dom=document.forms[0].element[3]返回第7行元素

      ⑦CSS定位  

        1<html>

        2<body>

        3<form id="loginForm">

        4<input class ="required" name="username" type="text"/>

        5<input class ="required passfield" name="password" type="password"/>

        6<input name="continue" type="submit" value="Login"/>

        7<input name="continue" type="button" value="Clear"/>

        8</form>

        9</body>

        10</html>

      使用不同的Target表达式返回页面元素

        css=form#loginForm返回第3行代码

        css=input[name="username"]返回第4行代码

        css=input.required[type="text"]返回第4行代码

        css=input.passfield返回第5行代码

        css=#loginForm input[type="button"]返回第4行代码

        css=#loginForm input:nth-child返回第5行代码

http://www.w3.org/TR/css3-selectors

   value

      ①带变量的字符串:由两个变量组成firstName和lastName

        value Full name is:${firstName} ${lastName}

      ②带JavaScript的字符串::由两个变量组成firstName和lastName

        value JavaScript{“Full name is:“+storedVars[“firstName”].toUpperCase()+""+storeVars $["lastName"]}.toUpperCase()}

   日志与引用

      Log、Reference(引用)、UI-Element(UI元素)、Rollup选项卡  

      单机info按钮可对log进行过滤,clean按钮将清除所有日志

   命令复制

      默认复制为html

      option→ClipBoardFormat

   命令导出为代码

      文件→Export Test Case as 或 文件→Export Test Suite as

【Selenium】Selenium IDE(alt+ctrl+s)的更多相关文章

  1. 【RDA】使用RDA(Remote Diagnostic Agent)工具对数据库进行健康检查

    [RDA]使用RDA(Remote Diagnostic Agent)工具对数据库进行健康检查 分类: Linux RDA英文全称叫做"Oracle Remote Diagnostic Ag ...

  2. 网易云课堂_C++程序设计入门(上)_第6单元:丹枫虽老犹多态–继承与多态_第6单元作业【2】- 在线编程(难度:中)

    第6单元作业[2]- 在线编程(难度:中) 查看帮助 返回   温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系统 ...

  3. 网易云课堂_C++程序设计入门(上)_第5单元:万类霜天竞自由 – 对象和类的更多内容_第5单元作业【4】 - 在线编程(难度:难)

    第5单元作业[4] - 在线编程(难度:难) 查看帮助 返回   温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系 ...

  4. 【12c】扩展数据类型(Extended Data Types)-- MAX_STRING_SIZE

    [12c]扩展数据类型(Extended Data Types)-- MAX_STRING_SIZE 在12c中,与早期版本相比,诸如VARCHAR2, NAVARCHAR2以及 RAW这些数据类型的 ...

  5. POJ 1986 Distance Queries / UESTC 256 Distance Queries / CJOJ 1129 【USACO】距离咨询(最近公共祖先)

    POJ 1986 Distance Queries / UESTC 256 Distance Queries / CJOJ 1129 [USACO]距离咨询(最近公共祖先) Description F ...

  6. CJOJ 1070 【Uva】嵌套矩形(动态规划 图论)

    CJOJ 1070 [Uva]嵌套矩形(动态规划 图论) Description 有 n 个矩形,每个矩形可以用两个整数 a, b 描述,表示它的长和宽.矩形 X(a, b) 可以嵌套在矩形 Y(c, ...

  7. 【Luogu3457】POW-The Flood(并查集)

    [Luogu3457]POW-The Flood(并查集) 题面 洛谷 题解 我们知道,如果一个点和一个海拔不高于它的点相连 那么连在那个点是更优的,所以考虑按照每个点的海拔排序 既然按照海拔排序,相 ...

  8. 【BZOJ2160】拉拉队排练(回文树)

    [BZOJ2160]拉拉队排练(回文树) 题面 BZOJ 题解 看着题目, 直接构建回文树 求出每个回文串的出现次数 直接按照长度\(sort\)一下就行了 然后快速幂算一下答案就出来了 这题貌似可以 ...

  9. 【Uoj34】多项式乘法(NTT,FFT)

    [Uoj34]多项式乘法(NTT,FFT) 题面 uoj 题解 首先多项式乘法用\(FFT\)是一个很久很久以前就写过的东西 直接贴一下代码吧.. #include<iostream> # ...

随机推荐

  1. windows和linux双系统修改启动项

    在windows系统的基础上再装linux系统的时候,电脑启动就会出现linux的启动引导项,默认的是进入linux.要使电脑默认进入windows只需要修改linux系统的启动引导文件(grub.c ...

  2. [codevs]1060搞笑世界杯

    CODEVS上一道钻石题,还是DP的思想,先来题目 1060 搞笑世界杯 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 题目描述 Description ...

  3. 【算法系列学习三】[kuangbin带你飞]专题二 搜索进阶 之 A-Eight 反向bfs打表和康拓展开

    [kuangbin带你飞]专题二 搜索进阶 之 A-Eight 这是一道经典的八数码问题.首先,简单介绍一下八数码问题: 八数码问题也称为九宫问题.在3×3的棋盘,摆有八个棋子,每个棋子上标有1至8的 ...

  4. MySQL注入与防御(排版清晰内容有条理)

    为何我要在题目中明确排版清晰以及内容有条理呢? 因为我在搜相关SQL注入的随笔博客的时候,看到好多好多都是页面超级混乱的.亲爱的园友们,日后不管写博客文章还是平时写的各类文章也要多个心眼,好好注意一下 ...

  5. poj2100还是尺取

    King George has recently decided that he would like to have a new design for the royal graveyard. Th ...

  6. hdu3746 kmp求循环节

    CC always becomes very depressed at the end of this month, he has checked his credit card yesterday, ...

  7. 十分钟彻底理解javascript 的 this指向,不懂请砸店

    函数的this指向谁,和函数在哪里被定义的,函数在哪里被执行的没有半毛钱关系,只遵守下面的规律: 在非严格模式中: 1.自执行函数里面,this永远指向window; <script> v ...

  8. Python常见的错误汇总

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 错误: [错误分析]第二个参数必须为类,否则会报TypeError,所以正确的应 ...

  9. PL/SQL Developer使用技巧以及快捷键设置

    1.类SQL PLUS窗口: File->New->Command Window,这个类似于oracle的客户端工具sql plus,但是比在cmd中的sqlplus好用多了. 2.设置关 ...

  10. 域名系统DNS和FTP

    域名系统概述 域名系统DNS(Domain Name System)是英特网使用的命名系统,用于把便于人们使用机器名字转化为IP地址. 为什么机器在处理IP数据报时要使用IP地址而不使用域名呢?IP地 ...