搜索

欧宝体育娱乐平台:项目案例:Web自动化又报错了?快收下这份排错秘籍

发表时间: 2022-05-01 02:32:40 来源:欧宝体育首页APP 作者:欧宝体育app客户端


  随着自动化测试在招聘市场的热度越来越高,越来越多的小伙伴都开始主动或被动地开始接触自动化测试,但是不可避免在自动化过程中碰到各种各样的报错。

  大家看到报错的时候是不是又在百度出来的一大堆答案中尝试却又没有结果?为什么其它大佬们感觉写起自动化脚本起来轻轻松松,自己碰壁了之后却抓耳挠腮除了薅掉一大把头发没有任何进展?是不是甚至产生了报错恐惧症,看到报错就开始手心出汗,觉得总有报错想害朕?

  实际上,报错还真是方法的作者们考虑到了大家可能出现的错误,为大家排错给出的提示,掌握好阅读和处理报错的方式,很多问题其实都能迎刃而解。

  这里首先放出我整理好的报错原因和处理方案,我们再一步步来看,为什么会出现这些报错,从报错里面我们又应该学到些什么:

  给出的信息其实很好理解:第一行提示chromedriver版本不支持98版本的chrome浏览器,后面报错提示代码出错的位置在对应文件中的某一行,可以直接点击跳转到相应代码位置查看。

  所以一条异常报错信息,给我们带来的是帮助排查问题的一系列内容:报错的原因是什么,报错的位置在哪里,从而方便完成问题的定位。清楚了异常怎么看,那么接下来我们看看怎么处理自动化过程中常见的各种异常信息。

  以网易系列的产品来作为例子体验,网易云的网页对大家做自动化测试设下了重重难关,短短一个登录流程,就有无数的坑可以让代码翻车,我们逐个来看代码流程:

  这段代码实现的流程非常简单,完成通过QQ登录的流程,但是过程中有无数翻车点:

  访问网页时容易出现的错误是地址忘了带上协议,因此尽量从浏览器地址栏复制,报错代码:

  报错为元素无法操作,通过分析页面,发现自动化打开的浏览器中登录按钮没有在页面上出现,而导致无法操作。

  这次并没有使用随机的id属性,报错的原因是由于出现了新页面需要切换,并且同时元素还在iframe中,因此需要进行两层处理:

  selenium为每个窗口都指定了唯一的一个句柄,通过句柄切换可以将浏览器切换到新打开的窗口中操作

  同时在操作时,由于浏览器的响应时间可能跟不上,因此可以添加一个合适的等待时间。

  由于需要点击的QQ头像元素在iframe中,所以进行iframe的切换后再进行定位。

  在短短几行代码中见了这么多异常,我们要清楚的是,在编写代码过程中怎么尽可能避免出现这些异常,这几条是最终对于web自动化编写过程中的总结

  3.复制xpath表达式的时候,留个心,看看有没有可能会变化的id属性。 尽可能手写xpath或者css表达式。

  1、平时可以看一下console中,当前层级是不是top,如果不是,那就是在iframe里面。

  8.如果某些元素点击操作不可用,分析异常信息以及网页html文档,找到可以操作的元素再操作。

欧宝体育娱乐平台_欧宝体育首页APP_欧宝体育app客户端 Copyright © 2011-2020 www.gzsenjie.com All Rights Reserved  双视角安检机

Design by:lxhd.cn

客服中心
热线电话
0755-29651618
上班时间
周一到周五
二维码