自动化测试过程中所入的坑3——解决问题思维的转换
工作过程中遇到坑可能需要转换一下思维,使用其他途径达到异曲同工之妙,下面是我在做自动化测试工作中世纪遇到的几个问题,以及解决办法,特此记录分享一下:
- 项目为一个我web编辑器,测试要求将文件中内容输入到编辑器中。测试环境robot framework
设计者在这个页面欠套了三层frame。遇到的问题是外面两层frame能正常切换,但是最里层frame切换进去后并不报错的情况下,不能定位到最里层的元素。这样就不能实现输入功能。
初步解决思路:使用copy和paste方式进行输入,但是此时就需要保证光标定位在编辑器中。因为自动化脚本执行到paste之前光标就会失去焦点,因此此时陷入了僵局。
扩展思路:虽然不能切换到最里层frame,点击编辑器的body部分,但是可以点击外层的frame。因为元素点击过程是点击元素中心位置,这样的点击操作也可使光标定位在编辑器中。
进一步扩展:js在点击元素操作时,是不需要像selenium一样切换frame的,因此可以使用js直接操作里层body元素
- 在web测试过程中,根据页面元素写了以下locator,xpath=//div[@class= 'file']//a[span[@class='file_name' and contains(text(),'testppt')] and span[@class='file_extension' and text()='pptx']]. 但是脚本却一直定位不到元素。一度怀疑自己的 locator写错了。为了验证将locator改写成最简单的. xpath=//div[@class='file']//span[text()='testppt']仍然找不到元素,简直要崩溃的节奏。最后关头发现竟然是html中class属性后面有一个空格。虽然这算是开发的bug,但是确实也考验测试者的细心与思路的扩展。、
- 项目为pc,client测试,要求通过软件打开一个ppt文件,并验证ppt中存在一段预期的文字。遇到的问题是powerpoint软件中的元素使用公司提供的软件以及autoit都不能准确识别文字的内容,也就是所获取的文本框元素value值为空。解决思路为:使用copy的方式将文本框中内容复制到剪切板中,robot framework中使用关键字能够获取剪切板内容。并以此进行文本的对比。