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. DirectFB学习笔记三

    本篇目的,通过键盘的esc键控制程序退出.学习输入设备产生事件,接收事件,产生反应. 首先获取输入设备 IDirectFBInputDevice *keyboard = NULL; dfb->G ...

  2. Vmware Vsphere WebService之vijava 开发(二)一性能信息的采集(实时监控)

    最近一直没有更新这部分的内容,会利用五一时间完成vcenter这一个系列. 这里先给大家一本关于vijava开发的书,比较实用. 地址:http://pan.baidu.com/s/1gfkl9mj. ...

  3. [.NET] 《Effective C#》快速笔记(三)- 使用 C# 表达设计

    <Effective C#>快速笔记(三)- 使用 C# 表达设计 目录 二十一.限制类型的可见性 二十二.通过定义并实现接口替代继承 二十三.理解接口方法和虚方法的区别 二十四.用委托实 ...

  4. DirectFB的架构介绍

    **************************************************************************************************** ...

  5. ASP.Net零碎

    ASP.Net零碎 ServerPush 什么是ServerPush,服务器向客户端浏览器“推送”,其实就是“长连接”. 只有浏览器请求服务器端,服务器端才有给浏览器响应数据,不会主动向浏览器推送数据 ...

  6. Java Web实现IOC控制反转之依赖注入

    控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心. 控制反转一般分为两种类型,依赖注入 ...

  7. Spring框架基础知识

    本人博客文章网址:https://www.peretang.com/basic-knowledge-of-spring-framework/ Spring框架简介 Spring , 一个开源的框架 , ...

  8. WF4.0以上使用代码完整自定义动态生成执行工作流Xaml文件

    给大家分享一下,如何完全使用代码自定义的创建生成工作流文件(用代码创建Xaml文件),并且动态加载运行所生成的工作流. 工作流生成后 在Xaml文件里的主要节点如下: 输入输出参数 <x:Mem ...

  9. 编写一个简单的java服务器程序

    import java.net.*;import java.io.*; public class server{ ); //监听在80端口 Socket sock = server.accept(); ...

  10. Nginx 反向代理&负载均衡

    1.反向代理 当我们请求一个网站时,nginx会决定由哪台服务器提供服务,就是反向代理. nginx只做请求的转发,后台有多个tomcat服务器提供服务,nginx的功能就是把请求转发给后面的服务器, ...