• [摘]selenium-ide编辑命令


    ----//编辑命令

    selenium为我们录制的脚本不是100%符合我们的需求的,所以,编辑录制的脚本是必不可少的工作。

    1.  编辑一行命令或注释。

     在Table标签下选中某一行命令,命令由command、Target、value三部分组成。可以对这三部分内容那进行编辑。

     2.  插入命令。

      在某一条命令上右击,选择“insert new command”命令,就可以插入一个空白,然后对空白行进程编辑。

      3. 插入注解

       以上面同样的方式右击选择“insert new comment”命令插入注解空白行,本行内容不被执行,可以帮助我们更好的理解脚本,插入的内容以紫色字体显示。

     4. 移动命令或注解

      有时我们需要移动某行命令的顺序,我们只需要左击鼠标拖动到相应的位置即可。

    ----//录制我们的第一个脚本

    我们的录制流程:

    用火狐浏览器,打开一个新的标签-----输入谷歌网址(http://www.google.com.hk/)----在搜索框输入:selenium----点击“google搜索”按钮。 

    注:注意开启和关闭selenium IDE面板上的红色圆形的录制按钮。

    录制的脚本:

    ----//调试脚本

    1. 设置断点。

      要设置断点,先选择一行命令,点击鼠标右键,在下拉菜单中选择“Toggle Breakpoint”命令,点击“运行”按钮,脚本会运行到断点处停止。用过myecilpse的debug功能来调试脚本的同学懂的!

    2. 通过页面源代码来调试脚本

      很多情况下,调试自动化测试案例都离不开查看页面源代码,我们可以借助firefox的firebug工具,关于firebug的安装(浏览器菜单栏---工具---查看组件---搜索firebug---安装并重启浏览器即可)。

    如:我们不确定或想获得谷歌搜索按钮的属性。在按钮上右击---查看元素

    在浏览器下方打开的firebug工具里面,就可以查看按钮代码了。

    3. 定位辅助

      当selenium IDE录制脚本时,它会存储额外的信息,支持用户挑选其他格式的定位器来代替默认格式的定位器,这种特殊性对于学习定位器很有用。

    我们可以选择其他的命令来代替“name=btnG” 命令,当然,脚本依然是可以运行的。

    通过学习,相信我们已经会selnium IDE的基本使用了,为了使selenium 更强大,其实selenium 还提供了良好的扩展能力。

    ----//用户扩展

    用户扩展就是使用javaScript文件来创建定制化特性,添加新功能,通常情况下这种扩展就是定制化命令,但扩展并不仅限于命令。

    这里有一些列的扩展:http://wiki.openqa.org/display/SEL/Contributed+User-Extensions

    1.下面我们利用扩展的方式,产生一个用户随机数字

    为了使用用户扩展,我们需要一个创建一个文件,当然也可以从上面的链接中下载。文件名为:user-extention.js

    复制代码
     //产生随机数 Selenium.prototype.doStoreRandom = function(variableName){ random = Math.floor(Math.random()*10000000); storedVars[variableName] = random; }
    //弹出框 Selenium.prototype.doDisplayAlert = function(value, varName) { alert(value); }
    //在控件中输入当前日期 Selenium.prototype.doTypeTodaysDate = function(locator){ var dates = new Date(); var day = dates.getDate(); if (day < 10){ day = '0' + day; } month = dates.getMonth() + 1; if (month < 10){ month = '0' + month; } var year = dates.getFullYear(); var prettyDay = day + '/' + month + '/' + year; this.doType(locator, 'dddddd'); }
    复制代码

    将上面代码复制到一个记事本里,并另存为一个:user-extention.js的文件

    在selenium IDE 中导入此文件,如下图:

    选中文件后,点击“确定”按钮。你必须关闭再重启selenium IDE,以便于扩展文件被读取。任何扩展的改变,都要求关闭和重启selenium IDE.

    2.转换代码形式

       选择Options 菜单下的Format,允许你选择一种语言来保护和战士测试案例。默认是HTML格式。

       如果你使用selenium RC 运行测试案例。这个特性可以帮助你将测试案例翻译成编程语言。

    我们可以选择“文件”----Export test Case As...来转换我们需要的语言格式。具体实例请参考《selenium RC 环境搭建

    3.在不同浏览器上执行selenium IDE测试。

       selenium IDE只能在friefox上运行,但是通过selenium IDE 开发的自动化测试,可以在其他浏览器上运行。只要使用一条简单的命令唤醒 selenium RC 服务器就可以了。

       如果浏览器不被直接支持,那么通过使用" *custom "运行模式,你依然可以在浏览器上运行selenium 测试案例。

    cmd=getNewBrowserSession&1=*custom c:Program FilesMozilla FirefoxMyBrowser.exe&2=http://fnng.cnblogs.com

    如下一段代码:

    复制代码
    package com.example.tests;
    import com.thoughtworks.selenium.*; import org.junit.After; import org.junit.Before; import org.junit.Test; import java.util.regex.Pattern;
    public class test extends SeleneseTestCase { @Before public void setUp() throws Exception { selenium = new DefaultSelenium("localhost", 4444, "*chrome", http://fnng.cnblogs.com/);
    //可以用下面一行的代码来替换上面一行代码
    //cmd=getNewBrowserSession&1=*custom c:Program FilesMozilla FirefoxMyBrowser.exe&2=http://fnng.cnblogs.com
    //如果是IE浏览器的话,可以直接修改浏览器名称,代码如下:
    //selenium = new DefaultSelenium("localhost", 4444, " *iexplore", http://fnng.cnblogs.com/); 这种方式更为简便。
            selenium.start();     }
    @Test public void testTest() throws Exception { selenium.open("/"); selenium.click("id=homepage1_HomePageDays_DaysList_DayItem_0_DayList_0_TitleUrl_0"); selenium.waitForPageToLoad("30000"); }
    @After public void tearDown() throws Exception { selenium.stop(); } }
    复制代码

      如何配置java环境来验证我面的一段代码,请参考,我的selenium RC 环境搭建

    注意:如果通过这种方式启动浏览器,你必须手动配置浏览器,以便将selenium Server 作为代理,通常这仅仅意味着打开你的浏览器参数文件,并指明“localhost:4444”作为HTTP代理。但是,不同浏览器的指令可能完全不一样,这就需要从你的浏览器支持文档中寻找更多细节。

    ================================================

    本文参考:http://luyongxin88.blog.163.com/blog/static/9255807201181114747437/  流口水的小猪  (他的博客测试文章很多,是我学习的榜样)

  • 相关阅读:
    黄金眼游戏
    四则运算
    关于构建之法的一些问题
    WorkConter
    python 列表构造时的引用问题
    网站前端求职的经历记录
    弱类型语言、强类型语言?
    关于JAVA的Random类的冷知识(转自菜鸟V)
    节后大礼包!XSql 源码开放,插件源码开放,Sofire v1.6 源码开放(已上传)
    【转】ASP.NET 尖括号 百分号 井号 等号 的用法
  • 原文地址:https://www.cnblogs.com/holiday-testing/p/4453643.html
Copyright © 2020-2023  润新知