测试小记
搭建环境
- python3.7(之前已安装)
- pyCharm(之前已安装)
- 浏览器驱动
熟悉语法
- python-selenium(现学)
- HTML & CSS
问题与解决方法
- 问题1 :登录之后,新页面的元素无法被成功定位。
解决方法:在Windows中,有窗口句柄的概念,由于新跳转的页面窗口句柄发生变化,此时窗口句柄已发生改变,因此我们需要转换到最新的窗口句柄。
browser.switch_to.window(browser.window_handles[-1])
联想:MATLAB的语法中存在函数句柄的概念,它可以用来代表一个函数。
- 问题2:在测试程序运行时,系统无法做到连贯地执行每条代码,会出现后台反应不及时的情况。
解决方法:我们需要主动增大不同测试指令运行前后的时间差,让系统有充足的时间检索数据。
browser.implicitly_wait(t) 或 time.sleep(t)
补充:time.sleep(t)带来的运行时间变化可以被观察到。
- 问题3:在同个页面,无法成功定位某个元素。
解决方法:
(1)如果该元素没有id,可选用xpath,但xpath可能会影响代码的美观(个人感受);
(2)网页结构存在iframe,我们需要先转换到元素所在iframe下,再进行定位;若已转换iframe,在定位其他iframe所包含元素时,需先退出当前iframe。
//转换
browser.switch_to.frame('fm0000001911')
//先退出当前再转换
browser.switch_to.default_content()
browser.switch_to.frame('fmOrderAdd')
-
问题4:通过测试程序的运行,连续输入多个值时,会出现某个输入框的内容自动消失的情况,其他输入框的内容则不会自动消失。
思考:可能是系统的bug。 -
问题5:同样的代码,运行的结果却不一样,这里指:第一次运行成功,第二次运行失败。
思考:可能与浏览器和服务器的处理能力有关系。 -
问题6:在选择数据进行实收核销时,点击“保存并核销”后报错:内部服务器错误。(测试用例2.4.9)
-
问题7:在修改计费单位代码时,点击“保存”后报错:内部服务器错误。(测试用例2.4.8)
-
问题8:有时数据检索时间较长,甚至一直处于检索中的状态。
思考:检索数据量为24页和48页的数据时,都出现过这种情况。