selenium学习笔记——selenium IDE脚本和命令

时间:2024-03-19 11:52:34

Selenese

    selenium IDE的command命令也被成为selenese。

  • selenese命令最多有两个参数,一个是target,一个是value。
  • 根据命令类型的不通,Selenese命令可以没有参数,也可以只有一个参数或者两个参数。

    selenese命令的3种类型如下所示:

命令类型

含义

Actions

(动作) 类型

此类命令直接和页面元素进行交互。

例如,“click”命令会在页面中直接单击页面元素:“type”命令会在页面的文本框中输入文字,输入的文字内容会显示在文本框中。

Accessors

(存储器) 类型

    此类命令允许将值存储到变量中。

    例如,“storeTitle”命令属于存储器类型命令,它只会将页面的Title信息读取出来,并存储到变量中,它本身不和页面元素产生任何交互动作。

Assertions

(断言) 类型

    此类命令用于验证某个条件是否真实发生。

    3种断言命令如下:

l  assert:当assert命令执行失败,脚本会立刻停止执行,后续脚本内容不会被执行。

l  verify:当verify命令执行失败,会在selenium IDE的执行日志区域打印一条失败信息,然后继续执行后续脚本内容。

l  waitFor:在继续下一个命令之前,“waitFor”命令会等待某个条件真实发生。

Ø  在等待期间内,条件定义的情况发生了,脚本会继续执行。

Ø  在等待期间内,条件定义的情况没有发生,脚本会在selenium IDE的执行日志区域打印一个失败信息,然后继续执行后续的脚本内容。

Ø  默认情况下,超时的判断条件上限设置为30秒,在Oprions的子菜单Options中可修改超时的上限判断时间要求。

 selenium IDE的基本命令

waitForText、verifyText和assertText

        waitForText语句在测试执行时用来判断某些文本是否显示在界面中。若界面上显示了指定文本,测试程序会继续执行;若等待一段时间后,界面上未显示指定文本,测试用例会被设定为执行失败状态;但是测试脚本会继续执行。

        verifyText语句在测试执行时用来判断界面上显示的文本是否和期望显示的文本相一致,若一致则测试程序会继续执行;若不一致,测试用例会设置为执行失败状态,但测试脚本会继续执行。

        assertText语句在测试执行时用来判断界面上的某些文本是否和期望显示的文本相一致,若一致则测试程序会继续执行,若不一致,测试用例会被设定为执行失败状态,并且不再继续执行后续的测试脚本。

        具体使用实例如下:

        (1)、打开selenium IDE,设定为录制状态。

        (2)、在selenium IDE中的Base URL输入框中输入

        (3)、在浏览器中输入http://www.sogou.com,按Enter键。

        (4)、在百度首页的“网页”两个字上单击鼠标右键,弹出快捷菜单。http://www.sogou.com

        (5)、将鼠标悬浮在快捷菜单中的“show all available commands”菜单项上,弹出子菜单。

        (6)、单击“waitForText css=li.cur > span”菜单项。

        (7)、重复4~5步,单击“assertText css=li.cur > span”菜单项。

        (8)、重复4~5步,单击“verifyText css=li.cur > span”菜单项。

        (9)、selenium IDE脚本区域生成脚本,如下:

                            selenium学习笔记——selenium IDE脚本和命令

        (10)、脚本生成后,单击“执行”按钮,脚本会执行成功。

                            selenium学习笔记——selenium IDE脚本和命令

        (11)、将waitForText和verifyText命令执行脚本中的“网页”改成“网ye”,再次执行,执行失败。waitForText执行报错后,后面的脚本继续执行。                   

                    selenium学习笔记——selenium IDE脚本和命令

        (12)、将11中的网ye改回网页,把assertText移动到最上层,将assertText的网页改成网ye,再次执行,脚本依然失败。但是这次失败后,后面两条脚本也没有被执行。

                selenium学习笔记——selenium IDE脚本和命令

        由此验证,waitForText和verifyText语句断言失败是,测试程序还会继续执行他们后续的程序代码,而assertText则不会。


storeTitle和echo命令

        storeTitle命令主要用于将网页的Title内容存储在变量中。

        echo命令主要用于常量字符串和变量字符串的打印输出,特别用于调试脚本时输出脚本的状态。

        具体实例如下:

        (1)、打开selenium IDE界面,设定为录制状态。

        (2)、在selenium IDE中的Base URL输入框中输入http://www.sogou.com。

        (3)、在Firefox浏览器地址栏中输入http://www.sogou.com,按enter键。

        (4)、在脚本编辑区输入以下脚本:

  • open / 命令行表示在Firefox浏览器中访问http://www.sogou.com
  • storeTitle title命令行表示把当前网页的Title属性值存储到名为title的变了中。
  • echo ${title}命令行表示在Log显示区域打印变了title中的变量值。

        (5)、执行脚本成功,在Log区域打印出echo语句结果。

            selenium学习笔记——selenium IDE脚本和命令


openWindow和selectWindow命令

        openWindow命令主要用于打开新的Firefox浏览器窗口,该命令后有两个参数,一个是要访问的URL,一个是URL打开后页面的title属性值。

        selectWindow命令主要用于选择一个处于打开状态的窗口。该命令后面是一个参数,需要设定为要选中窗口的title属性值。执行需要1秒左右,因此应用的时候,最好pause一段时间等待程序完成选中窗口的操作。

        具体实例:

       selenium学习笔记——selenium IDE脚本和命令

        脚本逻辑:

        (1)、在open命令中打开浏览器窗口A,自动访问http://www.sogou.com首页。

        (2)、执行openWindow命令重新打开一个Firefox浏览器窗口B,自动访问网址http://www.baidu.com;openWindow命令行中的value值为百度首页的title属性。

        (3)、执行selectWindow命令,使用“百度一下,你就知道”关键字选中浏览器窗口B,在浏览器B的百度搜索框中输入字符串baidu。

        (4)、执行selectWindow命令,使用“搜狗搜索引擎 - 上网从搜狗开始”(搜狗首页的title属性),选中浏览器窗口A,并在浏览器A的输入框中输入sogou。