• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

webapplicationtestinginruby(1)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

       最近开始玩一个叫OGame的web游戏,才玩了几天就发现基建太费时间了,才升到lev12就要等将近2个小时。浏览了游戏的FAQ和讨论区,发现游戏没有提供公开的接口,于是便想写个程序来简化操作,初步考虑了一下,有2个方案可以选择:

A 模拟ie来帮我做一些简单的动作
B 利用ie的接口,在特定情况下直接触发ie的事件

需求整理如下: 

NO 描述 优先度
1

定期刷新页面获取最新的信息

2 根据取得的信息判断,一旦资源满足条件,就开始按照指定策略升级建筑。
3 最新信息mail通知
4 战斗信息自动log,星图信息自动log

准备用ruby来开发,先考察A方案的可行性,使用socket模拟ie访问网站,要解析http的包,工作量比较大。
B方案暂时还没有头绪,ruby下访问com接口只记得有个excel的例子。

于是google了一下,发现Watir(web application testing in ruby)这个东东,是用来自动测试web 应用的一个开源框架。
原理是利用ie的COM接口来操纵ie的一些行为。正好是俺需要的东东。

开始动手了,先翻出一个Watir的sample,是访问google的,很简单,一下就运行通过了。

 1require 'watir' 
 2# the watir controller 
 3# open the IE browser 
 4ie = Watir::IE.new 
 5# Step 1: go to the test site: http://www.google.com 
 6ie.goto("http://www.google.com"
 7# Step 2: enter 'pickaxe' in the search text field 
 8ie.text_field(:name, "q").set("pickaxe"# q is the name of the search field 
 9# Step 3: click the 'Google Search' button 
10ie.button(:name, "btnG").click # "btnG" is the name of the Search button 
11# Actual Result: Check that the 'Programming Ruby' link appears on the results page 
12if ie.contains_text("Programming Ruby"
13  puts "Test Passed. Found the test string: 'Programming Ruby'. Actual Results match Expected Results." 
14else 
15  puts "Test Failed! Could not find: 'Programming Ruby'" 
16end 
17# End of test: Google search

Eclipse的Console里面显示:

Test Passed. Found the test string: 'Programming Ruby'. Actual Results match Expected Results.

好,开头很顺利,下面进一步了解一下watir怎么用。



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
一步一步学Ruby(六):方法定义及调用发布时间:2022-07-14
下一篇:
Ruby6细节补充发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap