51Testing软件测试论坛

标题: 分享:Java+Webdriver(selenium2)关键字驱动测试框架 [打印本页]

作者: ripple_wang    时间: 2014-7-11 10:27
标题: 分享:Java+Webdriver(selenium2)关键字驱动测试框架
本帖最后由 ripple_wang 于 2015-6-25 10:43 编辑

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

运行结果说明:
显示浏览器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"的内容如下:
[attach]91058[/attach]
该文件内容解释:
这里即体现了“关键字驱动”,每行有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以内的附件)

作者: lsekfe    时间: 2014-7-11 10:36
不错的分享,支持~
作者: 黑羽祭    时间: 2014-7-12 17:14
回复 1# ripple_wang


    可以分装成一个小工具,数据用Excel来获取可能更加直观一些。
期待优化版本
作者: joykao    时间: 2014-7-14 08:52

作者: ripple_wang    时间: 2014-7-14 10:24
回复 3# 黑羽祭

用Excel不错的建议(之所以用txt是因为编码简单,只会简单的开发)
封装成小工具,这点用C#.net已经实现,java版的写起来比C#.net稍微复杂一点,以后可以实现
作者: jia8162    时间: 2014-8-4 13:00
回复楼主放数据库最好
作者: nuannuan7    时间: 2014-8-13 05:19
我怎么没看到code?
作者: ripple_wang    时间: 2014-8-13 17:59
最近用javaFX写了一个UI, 数据暂时仍然是.txt的格式
UI如下图所示:
[attach]91556[/attach]
[attach]91557[/attach]
[attach]91558[/attach]
依图所示,用户可以更改用例的步骤(尚不可删除步骤),新增用例等;还可在执行完用例后查看结果图。
作者: jaychang1989    时间: 2014-8-13 19:19
不错
作者: cyranoxing    时间: 2014-8-15 10:40
挺好,简单实用,解决问题
作者: jaychang1989    时间: 2014-8-21 15:05
是否可以将代码共享学习一下,邮箱283840255@qq.com
作者: ripple_wang    时间: 2014-8-21 15:33
回复 11# jaychang1989
已经发送,请查收
作者: 泥泥虫    时间: 2014-8-21 17:07
留个QQ号,经常沟通学习~
作者: 泥泥虫    时间: 2014-8-21 17:34
额PM 也没回~留个我的邮箱吧,代码先发我学习下~38223266@qq.com
作者: 泥泥虫    时间: 2014-8-21 17:34
额 没法成功么?邮箱:yidewen@vip.qq.com
作者: 泥泥虫    时间: 2014-8-21 18:32
38223266@qq.com
作者: ripple_wang    时间: 2014-8-22 09:35
回复 16# 泥泥虫

早上才看到你的回复,邮件已经发送
作者: richar_ji    时间: 2014-8-22 15:37
初学selenium,可否借鉴一下代码,邮箱是:1095452264@qq.com
作者: ripple_wang    时间: 2014-8-22 16:17
回复 18# richar_ji
已经发送,可查收
作者: 喝少了想上树    时间: 2014-8-23 21:59
dbyl@dbyl.cn
求分享,嘻嘻嘻
作者: ripple_wang    时间: 2014-8-25 10:39
回复 20# 喝少了想上树

已发送,可查收
作者: testingstudying    时间: 2014-8-26 09:54
求代码分享,邮箱地址:850093345@qq.com,谢谢
作者: ripple_wang    时间: 2014-8-26 10:03
回复 22# testingstudying

已发送,可查收
作者: zoo4778362    时间: 2014-8-27 15:38
zoo4778362@gmail.com  谢谢
作者: ripple_wang    时间: 2014-8-27 15:58
回复 24# zoo4778362

已经发送, 可查收
作者: Janice0402    时间: 2014-8-28 23:27
谁能给我分享一下代码?非常感谢~~864632026@qq.com
作者: Janice0402    时间: 2014-8-28 23:33
回复 8# ripple_wang


    可以发送下带代码吗,不胜感激~~864632026@qq.com
作者: ripple_wang    时间: 2014-8-29 10:11
回复 27# Janice0402

    已发送,可查收
作者: tianya6607    时间: 2014-9-24 09:58
2287185969@qq.com,麻烦砸一个
作者: liyx-100    时间: 2014-9-29 15:50
求代码分享,邮箱地址:673412809@qq.com,谢谢
作者: leekcl    时间: 2014-9-30 10:21
mark,求分享学习,邮箱地址:1020419853@qq.com,谢谢
作者: 1070470510    时间: 2014-9-30 10:46
偶也在研究selenium,能否发给我一份。谢谢啦 1070470510@qq.com
作者: ripple_wang    时间: 2014-10-6 14:07
tianya6607 发表于 2014-9-24 09:58
,麻烦砸一个

已发送,可查收
作者: ripple_wang    时间: 2014-10-6 14:08
liyx-100 发表于 2014-9-29 15:50
求代码分享,邮箱地址:,谢谢

已发送,可查收
作者: ripple_wang    时间: 2014-10-6 14:09
leekcl 发表于 2014-9-30 10:21
mark,求分享学习,邮箱地址:,谢谢

已发送,可查收
作者: ripple_wang    时间: 2014-10-6 14:10
1070470510 发表于 2014-9-30 10:46
偶也在研究selenium,能否发给我一份。谢谢啦

已发送,可查收
作者: beyond1356    时间: 2014-10-9 16:35
楼主好人,也发我一份吧。最近才开始学习webDriver以后多交流交流。
作者: beyond1356    时间: 2014-10-9 16:36
哦,邮箱地址是315571235@qq.com
作者: panzg    时间: 2014-10-10 17:39
感觉做的很不错,这样很方便
作者: summererer    时间: 2014-10-13 11:17
学习下
作者: ripple_wang    时间: 2014-10-14 20:10
beyond1356 发表于 2014-10-9 16:36
哦,邮箱地址是

已发送,可查收
作者: fjuaner    时间: 2014-10-15 13:58
想学学,邮箱fjuaner@126.com  多谢
作者: ripple_wang    时间: 2014-10-15 14:57
fjuaner 发表于 2014-10-15 13:58
想学学,邮箱  多谢

已发送,可查收
作者: z02070333    时间: 2014-10-27 14:50
求分享, 602107736@qq.com
另外请教下:IDE也是关键字驱动测试,这样的框架和IDE比起来会有什么优势么?新手一枚,不要拍啊
作者: ripple_wang    时间: 2014-10-28 17:02
z02070333 发表于 2014-10-27 14:50
求分享,
另外请教下:IDE也是关键字驱动测试,这样的框架和IDE比起来会有什么优势么?新手一枚,不要 ...

已发送,可查收。
优势的话自己看完自己总结,还真没想过这问题。
作者: 逝去的碑    时间: 2014-11-3 21:07
楼主,求借鉴 邮箱: 273144446@qq.com
作者: ripple_wang    时间: 2014-11-5 16:44
逝去的碑 发表于 2014-11-3 21:07
楼主,求借鉴 邮箱:

已发送,可查收。

作者: xiaoting0817    时间: 2014-11-10 12:55
求分享1539714468@qq.com
作者: 千余同    时间: 2014-11-10 16:21
谢分享,595458643@qq.com
作者: ripple_wang    时间: 2014-11-12 11:05
xiaoting0817 发表于 2014-11-10 12:55
求分享

已发送,可查收
作者: ripple_wang    时间: 2014-11-12 11:05
千余同 发表于 2014-11-10 16:21
谢分享,

已发送,可查收
作者: sidneylover    时间: 2014-11-14 09:37
csw211@qq.com
谢谢分享一下。
作者: ripple_wang    时间: 2014-11-14 10:45
sidneylover 发表于 2014-11-14 09:37
谢谢分享一下。

已发送,可查收
作者: killer_0135    时间: 2014-11-17 09:37
谢分享,241474783@qq.com
作者: ripple_wang    时间: 2014-11-17 10:12
killer_0135 发表于 2014-11-17 09:37
谢分享,

已发送,可查收
作者: hl820427    时间: 2014-11-19 10:35
楼主也给我发送一份selenium的代码借鉴一下呗,我的帐号是275523319@qq.com
作者: ripple_wang    时间: 2014-11-19 15:20
hl820427 发表于 2014-11-19 10:35
楼主也给我发送一份selenium的代码借鉴一下呗,我的帐号是

已发送 可查收
作者: xiaodanfeng520    时间: 2014-11-21 13:17
楼主帮忙发送你到邮箱 3112703550@qq.com, 顺便发送一下你的QQ号哈,多交流
作者: ripple_wang    时间: 2014-11-21 16:18
xiaodanfeng520 发表于 2014-11-21 13:17
楼主帮忙发送你到邮箱 , 顺便发送一下你的QQ号哈,多交流

已发送,可查收
公司不能用QQ,有问题可邮件联系
作者: kyo0217    时间: 2014-11-26 09:09
ripple_wang 发表于 2014-11-21 16:18
已发送,可查收
公司不能用QQ,有问题可邮件联系

楼主可否将代码贴到贵贴中呢,这样就不用一个个给大家发了
作者: hui279208143    时间: 2014-11-26 14:59
279208143@qq.com,楼主好人,膜拜学习一下。
作者: moli1009    时间: 2014-11-28 08:48
太好了,谢谢分享,支持
作者: shrrak    时间: 2014-12-1 11:24
shrrak@126.com,能否分享下,多谢了!
作者: ripple_wang    时间: 2014-12-1 15:45
shrrak 发表于 2014-12-1 11:24
,能否分享下,多谢了!

代码已贴在1楼
作者: log_1    时间: 2015-1-18 17:41
学习selenium中,可否借鉴一下代码,邮箱是:7711950@qq.com
作者: kasiluote    时间: 2015-1-19 16:01
请发送我一份,学习一下楼主的代码,谢谢了!
kasiluote@163.com
作者: zhht080    时间: 2015-1-20 14:40
553654040@qq.com     最近在学习
作者: souchy    时间: 2015-1-21 15:11
好东西,先收藏!
作者: yifan6930    时间: 2015-1-22 14:22
能把代码发邮箱学习下吗,谢谢 yifan6930@126.com
作者: ripple_wang    时间: 2015-1-30 18:08
log_1 发表于 2015-1-18 17:41
学习selenium中,可否借鉴一下代码,邮箱是:

代码在1楼
作者: ripple_wang    时间: 2015-1-30 18:08
kasiluote 发表于 2015-1-19 16:01
请发送我一份,学习一下楼主的代码,谢谢了!

代码在1楼
作者: ripple_wang    时间: 2015-1-30 18:09
zhht080 发表于 2015-1-20 14:40
最近在学习

代码在1楼
作者: ripple_wang    时间: 2015-1-30 18:09
yifan6930 发表于 2015-1-22 14:22
能把代码发邮箱学习下吗,谢谢

代码在1楼
作者: Charles_H    时间: 2015-3-18 16:16
支持
作者: ripple_wang    时间: 2015-6-15 11:03
发帖快1一年了,up下,最近也没啥研究,不知其他网友有无研究或后续的开发
作者: fridaygreat    时间: 2015-6-19 10:05
很想学习下,虽然是去年的帖子,但是值得追赞
作者: stone9159    时间: 2015-6-24 11:14
有c#版本的不呢?能给我一个不
作者: ripple_wang    时间: 2015-6-25 10:18
stone9159 发表于 2015-6-24 11:14
有c#版本的不呢?能给我一个不

C#的有些功能未实现,主要的功能已经实现,当然中间关于结果统计的还有些小问题,代码贴1楼了,如果你懂开发,可以再改改
作者: yss926    时间: 2015-6-26 11:09
求代码,初学selenium希望可以学习一下,851060254@qq.com,非常感谢!
作者: ripple_wang    时间: 2015-6-29 10:19
yss926 发表于 2015-6-26 11:09
求代码,初学selenium希望可以学习一下,,非常感谢!

代码已经贴在1楼,可以随意下载哦
作者: 月影含风    时间: 2015-7-9 15:11
感谢分享,正在学习中;
作者: hxw32315    时间: 2015-8-31 14:34
不错的分享!
作者: hxw32315    时间: 2015-8-31 14:35
新手求代码,邮箱914467534@qq.com,谢谢!
作者: xiao唯    时间: 2015-8-31 21:18
谢谢楼主分享
作者: ripple_wang    时间: 2015-9-1 12:43
hxw32315 发表于 2015-8-31 14:35
新手求代码,邮箱,谢谢!

代码在1楼哦
作者: 278306549    时间: 2015-9-2 07:29
感谢分享
作者: xiao唯    时间: 2015-9-11 10:17
初学者,可否分享一下代码?邮箱是neoye1@yeah.net,麻烦楼主了,先谢谢啦~
作者: ripple_wang    时间: 2015-9-11 13:11
xiao唯 发表于 2015-9-11 10:17
初学者,可否分享一下代码?邮箱是,麻烦楼主了,先谢谢啦~

代码在1楼哦
作者: kule_shuixinten    时间: 2015-9-11 15:10
谢谢分享,学习
作者: ceshi_    时间: 2015-10-22 22:59
410000368@qq.com  佩服楼主  期望共享。。
作者: ripple_wang    时间: 2015-10-26 09:36
ceshi_ 发表于 2015-10-22 22:59
佩服楼主  期望共享。。

  已经共享了,看1楼
作者: q292389192    时间: 2015-11-1 21:29
求分享,谢谢楼主大大。546724963@qq.com

作者: sawyerkenway    时间: 2015-11-3 11:11
求代码87327680@qq.com
作者: 563514106    时间: 2015-11-20 10:46
能否代码发我下,563514106@qq.com
作者: RunningHai    时间: 2016-2-15 08:54
楼主新年快乐2654270010@qq.com
作者: luocb1980    时间: 2016-2-19 10:09
谢谢版主,可否借鉴一下代码,邮箱是:13232716@qq.com
作者: fhhh_eyou    时间: 2016-3-29 16:03
感谢分享
作者: amy-han    时间: 2016-4-25 10:09
是否可以将代码共享学习一下,邮箱1375651338@qq.com
作者: 小丫头amy    时间: 2016-4-25 10:41
可否发个给我,563075873@qq.com




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2