• 全网最细,Selenium自动化测试项目实战技巧,从0到1精通自动化测试...



    前言

    Selenium4自动化测试:https://www.bilibili.com/video/BV1MS4y1W79K/

    确定web自动化的内容

    自动化测试的最佳实践之一是明确知道要自动化的内容。在开始实施自动化浏览器测试之前,重要的是要知道首先要自动化什么内容。自动化背后的主要原因是避免重复和搬砖的任务。因此,坚持明确自动化测试内容是非常有意义的。

    例如,自动化涉及视觉场景(包括字体,颜色和布局结构)的测试并不是一个好主意。自动测试可以检查静态内容,例如标题、文案和状态等。当然,前提是我们知道它们很少更改,可以轻松地使它们自动化。

    自动化测试用例选择

    在前一点要点的基础上,有一些特定的测试用例与自动化非常匹配。那么,下一步应该是什么?可以选择频繁发生且可以预测的测试用例。

    例如:单击一个选项卡时,一个应用程序开始启动。这是带有条件的通用测试。换句话说,当我们知道某个事件肯定会发生时,结果是可以预测的。因此,为避免重复执行,可以自动化这些测试用例。

    在开始自动化测试之前,需要考虑到在自动化测试上投入的时间、精力和资源后,看看自动化测试可以带来什么好处。以下是确定哪些手动测试应该或不应该自动化应该考虑的问题。俗话说,仅仅因为您可以使某些东西自动化并不一定意味着应该这样做。
    简单>优先级>稳定性>重复性。

    选择Selenium测试工具
    切换到自动化浏览器测试时,每个公司都有不同的考虑因素。即使市场上有各种各样的Selenium测试自动化工具,选择工具也不是很容易的方法。必须根据公司的需求选择正确的Selenium测试自动化工具。

    例如,检查该工具是否支持公司所使用的现有平台。要问的其他一些问题包括以下内容:需要该工具来执行移动应用程序测试吗?使用什么框架设计?工具是否支持记录和回放测试?可以手动创建自动化测试吗?

    选择Selenium测试工具的因素

    记录和重放:此类别中的工具为自动脚本提供了记录选项。屏幕上的每个交互(例如点击,滚动或键入)都将被记录并转换为自动化步骤。可以重播已录制的脚本以执行操作并验证。

    基于坐标的识别:此类工具在x/y坐标的帮助下与被测应用程序交互,以自动化和验证应用程序。

    本机对象识别:使用本机对象识别的工具可检测给定元素树上的UI或控件元素。该树由XPATH,XML或CSS构建,以标识元素,验证和自动化脚本。

    文字识别:文本识别:文本识别或(OCR)光学字符识别工具可根据其文本识别元素。这些工具使用可见文本来推动自动化并验证应用程序。

    图像识别:这些工具会获取产品中UI元素的屏幕截图,以将其添加到自动化脚本中。这些屏幕截图将帮助AUT自动执行。

    去除Selenium自动化不确定性

    如前文中提到的,作为测试人员,Selenium自动化测试存在一些常见的障碍。有时,即使没有BUG,测试用例也会失败。另一方面,如果存在BUG,则测试可能会通过。这是阻碍Selenium自动化测试成功的重要原因。

    当存在任何不一致或误报时,这会增加我们分析结果和排查问题所花费的时间。因此,在涉及回归包时,重点是要消除不稳定的测试用例,宁可放弃掉,也要保证测试用例的高质量。

    一个成功的测试团队包括手动测试人员和自动化测试人员。现在,不少公司最大错误是认为一个人实体可以完成两项任务。但是自动化测试本身就是一项全职工作,手动测试亦是如此。期望手动测试人员执行Selenium测试自动化是不合理的。

    但是,如果企业不愿雇用新员工进行自动化测试,而将任务留给有经验的手动测试人员,则首先让他们减轻或者解除手动测试和相关职责。他们应该将主要精力集中在自动化测试,而不是其他事情上。

    否则,企业需要照片自动化工程师来完成这项工作。假设公司规模较大。在这种情况下,甚至可以招聘一名自动化测试架构师。然后可以监督和指导的自动化工程师工作。

    复查Selenium自动化测试的有效性

    团队无法在实施自动化之前进行良好的计划。这可能会对整个软件测试造成负面影响。有时候,自动化测试无法检查某些验证,其背后的主要原因是这些验证方式可能已过时。

    因此,还有一点至关重要,测试团队必须检查所有自动化测试用例的有效性。换句话说就是要始终需要确保测试用例是最新的。最好让固定的人员负责自动化测试的有效性和合理性。

    选择适合的自动化工具

    假设团队资源偏向某种的编程语言,例如Java或者Python。因此,要在Java或者Python语言环境中测试的应用程序很有意义。在这种情况下,如果选择了不支持用该语言的脚本工具,那实际上就没有意义。

    我们知道学习一种新语言需要大量的努力并且非常耗时。但是,如果选择与团队资源兼容的工具,则可以完全避免学习上的麻烦。

    主流的Selenium自动化测试框架

    配套框架:Python+selenium4+pytest+POM+allure+Jenkins;

    下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

    一、Python编程入门到精通

    请添加图片描述

    二、接口自动化项目实战

    请添加图片描述

    三、Web自动化项目实战

    请添加图片描述

    四、App自动化项目实战

    请添加图片描述

    五、一线大厂简历

    请添加图片描述

    六、测试开发DevOps体系

    请添加图片描述

    七、常用自动化测试工具

    请添加图片描述

    八、JMeter性能测试

    请添加图片描述

    九、总结(尾部小惊喜)

    生命中最重要的是我们走过的路,而不是目的地。让我们相信自己的选择,勇敢追求梦想和远方。即使在跌宕起伏的人生道路上,只要始终坚持一颗乐观向上的心,就能创造无限的可能!

    失败并不可怕,畏首畏尾才是最让人无法释怀的事情。只有放下恐惧,鼓起勇气踏出第一步,我们才能开启成功的征程。坚定自己的信念、追求自己的梦想,走向辉煌的人生巅峰!

    生活中没有什么事情是轻而易举的,但只要我们持之以恒、不放弃,就一定能克服困难,取得成功。记住,每一次失败都是通往成功的重要经验。让我们携手前进,追寻自己梦想的彼岸!

  • 相关阅读:
    开题报告《基于JavaEE的数据标注项目管理系统的设计与实现》
    【MindSpore】【SoftmaxCrossEntropyWithLogits】如何计算带有class_weight的交叉熵
    [附源码]java毕业设计社区疫情防控管理系统
    LeetCode710. 黑名单中的随机数.Random Pick with Blacklist [hash映射][前缀和][二分]
    企业为什么要做等保?不做等保有什么后果?
    微前端二:qiankun
    苹果电脑提高工作效率alfred 5中文
    JAVA开发(java后端架构常见必备功能)
    设计模式——策略模式
    总结一下最近的面试吧
  • 原文地址:https://blog.csdn.net/m0_70102063/article/details/130913557