|
本帖最后由 ripple_wang 于 2015-6-25 10:43 编辑
受到seleniumIDE的启发,用java+webdriver写了个自动化测试的小框架,跟大家分享下。
先给大家看下程序的运行结果:
运行结果说明:
显示浏览器ie,chrome...;
显示程序运行开始和结束的时间;
判断某个element是否显示在页面上;
打印Page title, Page url, 某个link的href;
检查点统计;
java main 函数里的代码如下:
- String fileName = "D:\\Test\\baidu.txt";
- String logfileName = "D:\\Test\\Baidu-" + new SimpleDateFormat("yyMMddHHmmss").format(new Date()) +".txt";
-
- Run example = new Run();
- example.RunCase(fileName, "ie");
- example.printandlog(logfileName);
- example.RunCase(fileName, "chrome");
- 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以内的附件)
|
评分
-
查看全部评分
|