查看完整版本: 有关watir的问题

yuysky 2007-4-10 09:02

有关watir的问题

我在学习watir的时候遇到这样一个问题,在测试.aspx页面上的超链时,用ie.link(:text,"XXX").click这个语句执行不能成功,而.com的页面就可以成功操行,请问是不是watir不能对.aspx页面进行测试?如果可以的话,应该怎么编写代码?

yuysky 2007-4-10 10:46

遇到高手,请教解决了这个问题
其实不是它不认识.aspx页面的链接,而是页面上有不止一个的frame,所以这句如果改为ie.frame(:name,"XXX").link(:text,"XXX").click就可以了
现在发布给大家共享

spqr_tristan 2007-8-5 00:47

建议操作对象前,先对其进行定位,确认下是不是想要操作的对象

查客 2007-8-17 16:15

我也要学watir 楼主给个 安装包下载地址

   有安装方法更好了
  嘿嘿

  先谢了

zidane 2008-4-11 12:08

回复 1# 的帖子

方法1:ie.link(:name, 'XXXX').click
方法2:ie.link(id, 'XXXXX').click
很多时候是你定义方法的时候有问题,你只需要在HTML source里面确认你要的东西的唯一性就可以了。
另外建议多看下watir里面的help文档,里面有对link这个方法使用的介绍
使用open source,更多的是需要自己学会看文档和自己扩展

lifr 2008-4-11 21:44

le.link(:name, "xxxx").exists?

shanxi 2008-4-12 16:37

watir,目前让我感觉非常怪异的地方在于,它居然用了AutoIt的核心dll。
让人觉得有些不伦不类的。

lifr 2008-4-25 22:38

绝大部分(99%)都是访问/操作dom,只有很少一点地方使用了autoit,何来不伦不类之说?

shanxi 2008-4-26 16:52

[quote]原帖由 [i]lifr[/i] 于 2008-4-25 22:38 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=956661&ptid=72422][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
绝大部分(99%)都是访问/操作dom,只有很少一点地方使用了autoit,何来不伦不类之说? [/quote]

1.照你所说,既然只有1%用了autoit.dll,100公里只差最后1公里,为何它不自己实现呢,反而用第三方的?
2.更何况这第三方的dll又不清不白?我想你可能不知道AutoIt跟AutoHotKey之间的恩怨,何况AutoIt只是免费项目而已,一旦依赖Autoit的方法出错了,整个Automation流程涉及到SendKey和操作Windows窗体会受到影响。既然它已经是开源框架,它提供的任何组件就都该开源以使使用信赖。这里我非常推荐[b]WATIN[/b]

lifr 2008-5-10 18:36

1. 不要重复发明轮子。
2. 确实不明白二者的恩怨。赞同你的观点,最好使用开源的组件。不过我不清楚是否有合适的类似的开源组件?如果有但watir不采用那才是有问题。
3. 如果用WatiN,那么开发效率能赶上Watir吗?

我个人认为Watir的最大的优点是1)其高效的API,2)使用ruby语言。我虽然从没有用过c#,但java用得还是很多的。ruby的开发效率是大大高过java。所以我提出上面的第三点疑问。

shanxi如果二者皆通,且不妨做一个概要的对比。我想这是件很有意义的事。

shanxi 2008-5-12 20:20

回复 10# 的帖子

对watir最大的反感就在于它用了不该用的那个dll,AutoIt之所以在之后不开源就跟这起恩怨有关。

对应的C#版本WatiN全部代码均为自行开发,层次比较清晰,出错后也很易跟踪到相关位置。

Ruby是所谓的全OO脚本语言,已有不少网站用它来作RD。
对Ruby的具体应用做的不多,但通过接触Selenium使用Javascript操控DOM,感觉Javascript脚本层次混乱,逻辑不清,非常不易理清条理;另外还有perl语言,一种操作非得搞出多种实现途径,令人很是头疼,perl的发展做不到OO却还偏偏向其上发展。至于Ruby版和C#版具体应用上的复杂度,有空会比较的;目前主要的精力在用C++进行Win 32 和 COM编程上。

lifr 2008-5-12 21:17

谢谢snanxi的介绍.

我的感觉是这样的. 使用autoit.dll那一部分只是watir的很小的一部分,也不是核心部分,且不暴露给user.
所以如果有比较好的开源实现,转移过去也不是难事.

我作为使用者,倒不怎么care这一点. Watir提供的API能否能漂亮的解决问题,这才是我最关心的.
页: [1]
查看完整版本: 有关watir的问题