• 【Selenium】Selenium IDE(alt+ctrl+s)


    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=文本值(默认)

                    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

  • 相关阅读:
    树的直径
    Codeforces 734E Anton and Tree(缩点+树的直径)
    Codeforces 948D Perfect Security(字典树)
    Codeforces 954D Fight Against Traffic(BFS 最短路)
    Codeforces 954C Matrix Walk (思维)
    Codeforces 950D A Leapfrog in the Array (思维)
    Codeforces 946D
    Invitation Cards POJ-1511 (spfa)
    spfa 单源最短路究极算法
    Currency Exchange POJ
  • 原文地址:https://www.cnblogs.com/baoyu7yi/p/6899095.html
Copyright © 2020-2023  润新知