几种常见Ruby编写问题总结
一个刚刚学习Ruby语言的朋友,在实际应用中通常都会遇到各种各样的问题的。在这里我们就为大家总结了一些常见Ruby编写问题。
先赞一下,这次ruby框架整体结构的调整,个人感觉挺好,以前总觉得到处都是文件夹,而且子文件夹的名字都一样的,经常点错,而且分布在lib和test下感觉有些凌乱,现在都放在test下,显然结构看上去清晰明了多了。
好啦,说说这两天遇到的几个问题吧。
Ruby编写问题1、测试数据的初始化表initdata中含多个测试场景的初始化数据。此时运行脚本时,有时候会初始化失败。
原因分析:经过调试,发现初始化的表中,不是该场景的初始化数据会输出nil行。查看代码,发现编写的初始化这段代码只判断了当前行是否空行,如果空行就结束了,所以导致在nil行后面的几条初始化语句没有成功。
Ruby编写问题2、在编写帖子脚本的时候遇到了个问题,这个帖子是用html编辑器的并且嵌在一个iframe中的。通过DOM查看器可以获取到到frame对象,但是编辑器就是一个html,没有什么id,name,怎么才能输入内容呢?
翻了一些关于DOM的资料,决定先把焦点定位到body中。但是无法用watir自带的方法输入内容,就采用了模拟键盘的方式解决了在编辑器编写内容的问题。@ie.frame(:id, “bulletin_editor”).document.body.focus()
@ie.sendkeys(”aaaaaaaaaaaaa”)
不过,这里遇到了个问题,当输入的内容是中文时,输入的是乱码,还不知道该怎么解决呢?
Ruby编写问题3:在一个场景中有两条用例,这两条用例执行中,一条是点按钮后会弹出层,需要输些内容这个层的输入内容用了iframe。另一条是直接点按钮就OK了不会弹出内容。
这里我用了if @ie.frame(:id, “J_PopUpFrame”).exist?…else…的方法。
但是当执行不弹出层的用例时,执行到if @ie.frame(:id, “J_PopUpFrame”).exist?就报错了,说找不到这个控件。很奇怪,我就是要找不到这个控件嘛,不知道针对这样的东西应该怎么做呢?点提示好像是ruby抛异常了。