Web自动化测试——常见问题篇

一、什么是自动化测试

所谓的自动化测试就是使用自动化工具来编写和执行测试用例,执行自动化测试套件,验证程序功能,就不需要人工的参与。

自动化测试工具可以访问测试数据,控制测试的执行并将实际结果与预期结果进行比较,从而能够生成被测系统详细的测试报告

二、为啥进行自动化测试(优点)

自动化测试能够替代一部分的手工测试,自动化测试能够提高测试效率

随着功能的增加,版本越来越多,版本回归的压力也越来越大,所以仅仅通过人工测试来回归所有的版本肯定是不现实的。自动化脚本可以进行复用,所以我们可以借助自动化来进行回归

自动化测试还完成对手工测试来说比较有难度的测试(比如精准计时),以及一些比较繁琐的测试。机器的执行是更可靠的,减少人为错误

三、Webdriver 的工作原理

自动化脚本代码运行后,每个 selenium 命令,比如点击、输入等等都会创建一个 HTTP 请求并发送给服务器端,这里的服务器端指的就是Webdriver浏览器驱动。

服务器端接收请求,把请求进行解析,就是根据协议规则定义这些 selenium 命令对应的浏览器具体操作,浏览器执行这些操作

执行好后,浏览器将执行状态返回给驱动,驱动在将状态信息返回到自动化脚本,最后就可以看出来结果对不对,是否符合预期

就相当于乘客乘坐出租车,乘客的指令就是脚本,司机就是 Webdriver,听从乘客的指令。来驱动出租车到达目的地,出租车就是浏览器

四、显示等待和隐式等待的区别

显示等待

显示等待是将方法封装在 WebDriverWait 类中的,在使用显示等待指定元素时,如果能够定位到元素就直接返回该元素,不再继续等待。如果不能够定位到该元素,那么就会轮询的定位目标元素,如果超过了指定的显示等待时间还没有等到目标元素,就会抛出异常(TimeoutException

隐式等待

隐式等待,就是在创建driver时,直接通过 driver 进行调用,设置全局元素等待超时时间,这个时间将在WebDriver 对象实例整个生命周期都起作用。

当要查找某元素时,如果元素可以定位,则继续执行。但目标元素没有马上出现时,浏览器会在你自己设定的时间内以轮询的方式不断地判断元素是否被定位到。若直到超出设置的时长还没有定位到元素,则抛出异常(NoSuchElementException

五、什么样的项目适合做自动化

1)功能需求稳定,界面稳定,不会频繁发生变动

2)版本迭代次数比较多,需要经常进行回归

3)项目周期比较长

六、自动化测试的流程

1)首先要做的就是分析出项目整体架构,分析项目中哪些模块是需要做自动化的

2)然后确定测试框架,进行测试规划

3)接下来就可以开始进行设计测试用例,测试用例要足够的明确和清晰,覆盖面广而精

4)再然后进行测试脚本的编写,合理运用断言开验证将结果,合理运用参数化提高测试效率

5)写完脚本后,就执行脚本,如果执行完后出现了异常或者结果不符合预期就需要仔细的分析原因

七、如何分析生成的自动化测试报告

主要看总共执行了多少用例,通过了多少,失败了多少,是否出现了错误

对于错误的用来,很大可能是脚本问题,查看报告中的日志详细信息,看具体哪个位置出错了,针对性去进行调试、修改

对于失败的用例,也是先看报告中的日志,看具体哪个位置出错了,先怀疑自己的脚本是否有误,如果脚本没有问题,那就可以认为是一个 BUG 了,提出 BUG

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

富春山居_ZYY(已黑化)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值