51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 23370|回复: 99
打印 上一主题 下一主题

分享:Java+Webdriver(selenium2)关键字驱动测试框架

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2014-7-11 10:27:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ripple_wang 于 2015-6-25 10:43 编辑

受到seleniumIDE的启发,用java+webdriver写了个自动化测试的小框架,跟大家分享下。
先给大家看下程序的运行结果:


运行结果说明:
显示浏览器ie,chrome...;
显示程序运行开始和结束的时间;
判断某个element是否显示在页面上;
打印Page title, Page url, 某个link的href;
检查点统计;

java main 函数里的代码如下:

  1.   String fileName = "D:\\Test\\baidu.txt";
  2.   String logfileName = "D:\\Test\\Baidu-" + new SimpleDateFormat("yyMMddHHmmss").format(new Date()) +".txt";
  3.   
  4.   Run example = new Run();
  5.   example.RunCase(fileName, "ie");
  6.   example.printandlog(logfileName);
  7.   example.RunCase(fileName, "chrome");
  8.   example.printandlog(logfileName);
复制代码


"baidu.txt"的内容如下:

该文件内容解释:
这里即体现了“关键字驱动”,每行有4列以Tab分列,第1,2列可定位元素(或某个对象),
第三列是具体的操作,第4列是设置值用(如果大家对seleniumIDE有所了解的话,这里就不难理解)
第三列常用的操作有:
actionSetValue
actionOpen
actionClick
actionQuit
actionWait
assertElementExisted
getPageUrl
getPageTitle
getLinkHref
...

有了这个关键字驱动的小框架,我们就可以把测试需要的步骤写在txt文件中,然后主程序去调用即可


最近有有些改进,示例图可看我下面的回复(#8),感兴趣的话我可把代码发给大家(因为不是专业的开发,所以代码有些乱)

鉴于网友的一些疑问,在这里说明下:程序中用到的javafx最近才学的,不熟,所以UI上的个别功能还未实现。
browser.java和object.java是主要的2个文件,是关键字实现的关键文件,
那个AutoRunHome的UI可以用其它的框架实现(我之前用C#.net实现过,代码相对javafx简单点),
毕竟selenium2是支持多语言的,大家可以用熟悉的语言去实现




鉴于网友的提议,现将代码贴出:
说明:
主程序是AutoRunHome.java
里面有些参数需要修改(改成你自己电脑里有的文件夹,要不然会出错):如69行
         String folderConfig = Functions.getValueFromFile("folderConfig",
            "D:\\Test\\JavaCases\\Config.txt");
中的D:\\Test\\JavaCases\\Config.txt内容如下:
“filePathParent=D:\\Test\\JavaCases\\
logfileName=D:\\Test\\JavaCases\\log\\log.txt
defaultFilePath=D:\\Test\\JavaCases\\OnlineOrdering
folderConfig=D:\\Test\\JavaCases\\ConfigTreeFolder.txt”

ConfigTreeFolder.txt内容如下(就是菜单初始化的文件夹):
D:\Test\JavaCases\OnlineOrdering
D:\Test\JavaCases\OnlineAgreement


C#版, 参考File Case.rar(bin\Debug\WebDriver.dll文件太大被删除,51testing只能上传3M以内的附件)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x

评分

参与人数 1综合技术指数 +5 收起 理由
lsekfe + 5

查看全部评分

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

使用道具 举报

  • TA的每日心情
    擦汗
    昨天 09:02
  • 签到天数: 1042 天

    连续签到: 4 天

    [LV.10]测试总司令

    2#
    发表于 2014-7-11 10:36:49 | 只看该作者
    不错的分享,支持~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    3#
    发表于 2014-7-12 17:14:56 | 只看该作者
    回复 1# ripple_wang


        可以分装成一个小工具,数据用Excel来获取可能更加直观一些。
    期待优化版本
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2020-12-8 11:20
  • 签到天数: 605 天

    连续签到: 1 天

    [LV.9]测试副司令

    4#
    发表于 2014-7-14 08:52:35 | 只看该作者
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2014-7-14 10:24:34 | 只看该作者
    回复 3# 黑羽祭

    用Excel不错的建议(之所以用txt是因为编码简单,只会简单的开发)
    封装成小工具,这点用C#.net已经实现,java版的写起来比C#.net稍微复杂一点,以后可以实现
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2015-4-9 17:10
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    6#
    发表于 2014-8-4 13:00:52 | 只看该作者
    回复楼主放数据库最好
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2014-8-13 05:19:26 | 只看该作者
    我怎么没看到code?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2014-8-13 17:59:04 | 只看该作者
    最近用javaFX写了一个UI, 数据暂时仍然是.txt的格式
    UI如下图所示:



    依图所示,用户可以更改用例的步骤(尚不可删除步骤),新增用例等;还可在执行完用例后查看结果图。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-3-26 13:17
  • 签到天数: 48 天

    连续签到: 1 天

    [LV.5]测试团长

    9#
    发表于 2014-8-13 19:19:43 | 只看该作者
    不错
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2014-8-15 10:40:36 | 只看该作者
    挺好,简单实用,解决问题
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-3-26 13:17
  • 签到天数: 48 天

    连续签到: 1 天

    [LV.5]测试团长

    11#
    发表于 2014-8-21 15:05:06 | 只看该作者
    是否可以将代码共享学习一下,邮箱283840255@qq.com
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
     楼主| 发表于 2014-8-21 15:33:53 | 只看该作者
    回复 11# jaychang1989
    已经发送,请查收
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2014-8-21 17:07:27 | 只看该作者
    留个QQ号,经常沟通学习~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2014-8-21 17:34:26 | 只看该作者
    额PM 也没回~留个我的邮箱吧,代码先发我学习下~38223266@qq.com
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2014-8-21 17:34:55 | 只看该作者
    额 没法成功么?邮箱:yidewen@vip.qq.com
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2014-8-21 18:32:53 | 只看该作者
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
     楼主| 发表于 2014-8-22 09:35:31 | 只看该作者
    回复 16# 泥泥虫

    早上才看到你的回复,邮件已经发送
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2014-8-22 15:37:21 | 只看该作者
    初学selenium,可否借鉴一下代码,邮箱是:1095452264@qq.com
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
     楼主| 发表于 2014-8-22 16:17:24 | 只看该作者
    回复 18# richar_ji
    已经发送,可查收
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2014-8-23 21:59:16 | 只看该作者
    dbyl@dbyl.cn
    求分享,嘻嘻嘻
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-8 22:58 , Processed in 0.086041 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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