51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4816|回复: 6
打印 上一主题 下一主题

菜鸟学自动化测试(二)----selenium IDE 功能扩展

[复制链接]
  • TA的每日心情
    无聊
    3 小时前
  • 签到天数: 1051 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2015-12-9 11:18:21 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
    通过上一节的学习,相信我们已经会selnium IDE的基本使用了,为了使selenium 更强大,其实selenium 还提供了良好的扩展能力。
    ----//用户扩展
    用户扩展就是使用javaScript文件来创建定制化特性,添加新功能,通常情况下这种扩展就是定制化命令,但扩展并不仅限于命令。

    1.下面我们利用扩展的方式,产生一个用户随机数字
    为了使用用户扩展,我们需要一个创建一个文件,当然也可以从上面的链接中下载。文件名为:user-extention.js
    [url=][/url]
    //产生随机数
    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');
    }[url=][/url]

    将上面代码复制到一个记事本里,并另存为一个: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 Files\Mozilla Firefox\MyBrowser.exe&2=http://fnng.cnblogs.com
    如下一段代码:
    [url=][/url]
    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 Files\Mozilla Firefox\MyBrowser.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();
        }
    }[url=][/url]

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

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏11
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    3 小时前
  • 签到天数: 1204 天

    连续签到: 2 天

    [LV.10]测试总司令

    7#
    发表于 2016-9-30 17:30:01 | 只看该作者
    详细、。、、、
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2016-4-1 08:06:54 | 只看该作者
    TEST070315 发表于 2016-3-31 13:03
    出现了跟你一样的问题,怎么解决啊

    网上有的是这个代码,拷出来,保存成JS格式就行了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2016-3-31 13:03:05 | 只看该作者
    Johnny10125 发表于 2016-3-17 10:54
    你好,我去http://wiki.openqa.org/display/SEL/Contributed+User-Extensions
    这个路径下没下来js文件。
    ...

    出现了跟你一样的问题,怎么解决啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2016-3-17 11:45:44 | 只看该作者
    解决了,不用回了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2#
    发表于 2016-3-17 10:54:20 | 只看该作者
    你好,我去http://wiki.openqa.org/display/SEL/Contributed+User-Extensions
    这个路径下没下来js文件。
    手动添加还报错。  Failed to load user-extensions.js: SyntaxError: syntax error
    可不可以把user-extention.js共享一下。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-26 12:12 , Processed in 0.068095 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表