Ruby写测试脚本问题小结

发表于:2009-6-19 11:58

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:zhoubingxin    来源:Taobao QA Team

  对于ruby,我只是一个在门口徘徊的小孩,这几天在试着写淘帮派的测试回归脚本,遇到了些问题,通过自己的瞎捣鼓,有些得到了解决,有些还在冥思苦想中,总结一下吧。

  先赞一下,这次ruby框架整体结构的调整,个人感觉挺好,以前总觉得到处都是文件夹,而且子文件夹的名字都一样的,经常点错,而且分布在lib和test下感觉有些凌乱,现在都放在test下,显然结构看上去清晰明了多了。

  好啦,说说这两天遇到的几个问题吧。

  问题1、测试数据的初始化表initdata中含多个测试场景的初始化数据。此时运行脚本时,有时候会初始化失败。

  原因分析:经过调试,发现初始化的表中,不是该场景的初始化数据会输出nil行。查看代码,发现编写的初始化这段代码只判断了当前行是否空行,如果空行就结束了,所以导致在nil行后面的几条初始化语句没有成功。

  问题2、在编写帖子脚本的时候遇到了个问题,这个帖子是用html编辑器的并且嵌在一个iframe中的。通过DOM查看器可以获取到到frame对象,但是编辑器就是一个html,没有什么id,name,怎么才能输入内容呢?

  翻了一些关于DOM的资料,决定先把焦点定位到body中。但是无法用watir自带的方法输入内容,就采用了模拟键盘的方式解决了在编辑器编写内容的问题。@ie.frame(:id, “bulletin_editor”).document.body.focus()

  @ie.sendkeys(”aaaaaaaaaaaaa”)

  不过,这里遇到了个问题,当输入的内容是中文时,输入的是乱码,还不知道该怎么解决呢?

  问题3:在一个场景中有两条用例,这两条用例执行中,一条是点按钮后会弹出层,需要输些内容这个层的输入内容用了iframe。另一条是直接点按钮就OK了不会弹出内容。

  这里我用了if @ie.frame(:id, “J_PopUpFrame”).exist?…else…的方法。

  但是当执行不弹出层的用例时,执行到if @ie.frame(:id, “J_PopUpFrame”).exist?就报错了,说找不到这个控件。很奇怪,我就是要找不到这个控件嘛,不知道针对这样的东西应该怎么做呢?点提示好像是ruby抛异常了。

  现在只好用了个笨办法分成两个场景的方式去执行,唉~

  好了,先总结到此吧,我是ruby新手,可能这些对高手们是小儿科哦,要多多赐教。我正在积极琢磨中,嘿嘿~~~

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号