在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
最近开始玩一个叫OGame的web游戏,才玩了几天就发现基建太费时间了,才升到lev12就要等将近2个小时。浏览了游戏的FAQ和讨论区,发现游戏没有提供公开的接口,于是便想写个程序来简化操作,初步考虑了一下,有2个方案可以选择:
需求整理如下:
准备用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怎么用。 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论