yxzyxz博客

导航

watin代码和神奇的MessageBox.Show语句(C#)

   最近研究了一下watin代码,watin是开源的基于C#的Web自动化测试框,支持Ajax、firefox。其代码相当庞大,复杂。说研究,其实就是看看其中的一些片段而已。

  不过还是相当有收获,在UtilityClass类中有一个FireEvent方法,其源代码如下:

Code

  FireEvent用来模拟select选择框选择,传入鼠标按键参数,在windows程序种调用web JavaScript函数激发onchange事件,而且支持Ajax测试,不过我没有测试成功,最关键的如何让程序执行时等待几秒,Thread.Sleep()语句肯定不行,应当将测试代码都写到axWebBrowser1_DocumentComplete事件里,而且我发现使用MessageBox.Show语句能等待axWebBrowser1事件在后台执行,而Thread.Sleep()语句则使axWebBrowser1事件,前台程序都处于等待状态。如下代码:

Code

  对于如何异步执行程序,真的无法成功,而Ajax测试相信也是一项需求很大的课题,恳请大牛高人援手相助,惠人惠己。

 另:

James McCaffrey 博士的 AJAX 测试自动化(http://msdn.microsoft.com/zh-cn/magazine/cc163479.aspx)用JavaScript的

window.setTimeout函数也能完成这一工作,但Watin的用dotnet的方法应该更自然一些(没办发谁让咱是完美主义者呢^-^).

posted on 2008-08-13 19:06  易勤真  阅读(3470)  评论(1编辑  收藏  举报