问题描述
我使用的是qtp11来进行silverlight自动化功能测试的,一些控件都能识别,但是遇到一些覆盖类型(在一个控件上叠加一个控件)的就识别不出来了,我用对象探测器来探,根本就探不到外面那层的,只能识别到最里面的那层!在录制的时候我看到脚本里好像识别出来了。特别是silverlight里面有一些控件识别不了,比如自己制作的按钮就识别不了,录制的时候是使用坐标来进行点击的。求解决方案啊!
解决方案
解决方案二:
自己先顶下,希望能帮我解决,我只想在公司立足啊!
解决方案三:
该回复于2011-09-06 09:47:35被版主删除
解决方案四:
立足就不好给你建议了!我们只用开发工具来测试,自己写测试程序。当开发人员完成一个任务,这个任务必定有提交物(例如是哪一个程序库中的哪几个类或者方法等等),必定在工单中描述了别的开发人员(或者是xaml设计师)如何调用它,那么所编写的程序也就如此调用它。至于输入输出数据,既可以在设计时给出接口,甚至额外在接口上多几个(因为在之前任务是经过测试和开发人员共同评审的,然后才定下的接口),也可以通过文字描述、从系统VisualTree上搜索的方式,例如在一个ListBox(变量名假设叫做lst)上寻找一个项,其中有一个TextBlock,这个TextBlock中有一个文字段,其中包含abc这三个字母,假设要找出最终(一个或者多个)符合这个条件的组件来,可以这样写vartbs=lst.Items.Cast<object>().Where(c=>cisTextBox).Cast<TextBlock>();varresult=tbs.SelectMany(c=>c.GetChildren()).Where(c=>cisRun).Cast<Run>().Where(r=>r.Text.Contains("abc"))
这样就可以找到最终的组件,然后你的代码就给它设置测试数据就可以了。而不是什么录制屏幕坐标之类的。对于开发人员,没有什么“自动化测试工具”是真正合用的。那些靠从网上下载个这类工具高自动化测试的,都是手工测试人员,这就很难在一个强调自动化测试的团队里长期存在,因为进行自动化测试其实还是要凭编程实例的!
解决方案五:
高-->搞实例-->实力
解决方案六:
哎,我也遇到了同样的问题,在录制Silverlight脚本时,一个控件也识别不了,出来的值都只是坐标值
解决方案七:
我用autorunner测试silverlight,也有好多控件识别不了,QTP支持silverlight吗?