实现下单到支付一体化操作-UI自动化遇到的问题

10月26日 收藏 0 评论 0 UI/交互

实现下单到支付一体化操作-UI自动化遇到的问题

转载声明:文章来源:https://blog.csdn.net/weixin_39782286/article/details/101707555

截止目前,基本python+requests+unittest的接口自动化的框架已经搭好,并进入运行,但是也遇到了新的问题

当前完成的业务是下单,到支付的业务流

但是支付我们是调的第三方的支付接口,且页面上还涉及了输密码的操作,不能使用接口自动化来操作

所以当前考虑的是加入UI自动化,实现,到达付款阶段的时候,可以自动调用付款的自动化完成。

对UI自动化还不是特别熟悉,现学现写,安装驱动和导入webdriver等操作可自行百度,在写的时候也遇到了一些问题,主要还是定位元素出现的问题,供参考:

1、点击到了不可点击的元素报错(is not clickable at point):

导致的结果可能就是,页面还没有加载完成,这个时候进行点击。

解决方法:加个等待时间

import time

time.sleep()

补充:开始根据其他教程用的implicitly_wait(5):

但是还是有问题,就去百度了一下,implicitly_wait()属于隐式等待,5秒钟内只要找到了元素就开始执行,5秒钟后未找到,就超时,但页面元素过多的时候,还没等页面元素稳定后就定位 ,会导致定位不准确,所以建议还是用sleep

最后解决,建议最好打开网页后,最好还是加个等待时间,不然会出现很多定位的问题,元素找不到,元素无法点击等;

2、元素找不到(no such element:unable to locate element),出现的场景是在登录后的页面(点击付款按钮跳转到确认付款页面,再点击“”确认付款“”提示找不到这个元素)再三确认元素是没有定位错的。突然意识到可能是新开网页的问题。

然后在茫茫博客中的时候找到了这篇:

https://www.cnblogs.com/Test-road-me/p/4890920.html

按照此路径,然后解决此问题,后面再有更好的方法,可以再去试试,因为这个方法的不好就是会主动切换焦点,使用的时候不是很方便。

最后把这部分单独封装,在用例里面进行实例,构造了个单独的方法进行调用。(当前执行的顺序是1,2,3)

当前实现效果就是,执行整个自动化用例,到付款阶段的时候,开始执行UI自动化的方法,付款到最终完成付款。

再接再厉

C 0条回复 评论

帖子还没人回复快来抢沙发