将原来操作Date of Flight控件的语句删除掉,重新运行脚本直到操作Date of Flight之前停下,继续录制,这时对Date of Flight重新进行操作,查看生成的函数: # Flight Reservation
set_window ("Flight Reservation", 4);
edit_set ("Date of Flight:", "11/11/11");
WR已经将Date of Flight控件识别为edit类型,并能生成正确且更易阅读的语句。
但是这个映射语句只对当前session有效,如果WR重新启动了,且没有再次执行映射语句,则对这个控件的操作还将回到obj函数。一个解决的办法就是将所有这些映射的语句放到“启动脚本”中:
新建一个脚本命名为myinit,将映射语句都复制到脚本中保存。在Tools->General Options->General Startup->Startup test中指向myinit脚本。保存重启Winrunner
再次录制Flight,操作Date of Flight控件,WR会自动将其映射为edit类型。
对于Configuration Class的补充:
1. Class name中显示的是你选中的控件类名称
2. Mapped to class中是选择要映射到的标准类,记住要选中相近的类,不然WR生成的语句也不能支持其操作。
3. Recording Method指明WR将如何记录操作。默认是Record,WR将记录对这个控件的所有操作,Pass Up通常是对窗体的,生成Win_mouse_的函数,As Object指明让WR将控件看成object(在上面的例子里as object和没有正确识别生成的语句一样,都是obj的函数),Ignore将会使WR忽略对这个控件的所有操作,简单说就是录不上了。
4. Learned Properties中显示指定类型的识别属性,Obligatory属性是必须要学习识别的。Optional属性是备选学习识别,当Obligatory定位后控件不唯一,则使用Optional属性辅助定位。其他的就是没有用到的属性。
5. Selector的作用是当Obligatory和Optional属性都无法唯一定位一个控件时,使用这个来定位,selector包括location和index两个,WR帮助中说明它俩的区别,但我个人觉得其实区别不大。