Python实现Web UI自动化测试实战电子书

计算机与互联网 工业技术 Storm 李鲲程 边宇明 著
简介: 《Python实现WebUI自动化测试实战:Selenium3/4+unittest/Pytest+GitLab+Jenkins》主要介绍如何基于Python使用Selenium、unittest、Pytest、GitLab、Jenkins等工具实现WebUI自动化测试,以帮助读者提升测试水平。《Python实现WebUI自动化测试实战:Selenium3/4+unittest/Pytest+Gi

内容提要

本书主要介绍如何基于Python使用Selenium、unittest、Pytest、GitLab、Jenkins等工具实现Web UI自动化测试,以帮助读者提升测试水平。

本书第1章简要介绍自动化测试的相关概念和思路、Selenium的特点和发展历史、WebDriver的原理,以及Selenium IDE的简单应用。第2章和第3章介绍与Python相关的基础知识,为后续内容的讲解做准备。第4章~第15章详细介绍使用各种框架进行自动化测试的方法和实战案例,帮助读者进一步掌握自动化测试技能。第16章从实际情况出发,介绍提升自动化测试用例执行效率的几种常见方法,供读者在实际操作中参考。

本书适合计算机相关专业的学生、测试行业的从业人员和希望提升自动化测试实战水平的技术人员阅读。

我和作者的合作始于自动化测试。

我们合作的产品1.0版本发布时,由于从规划设计到开发上线,时间短,任务重,产品带伤上线,出现了不少功能性的漏洞(bug)。产品上线后我们收到了原型客户的大量反馈,于是,除了修复bug,我们还需要正常地进行需求迭代。当时的测试主要是以功能、性能测试为主,测试团队整体的工作效率不高,而且每次迭代都会遗留不少问题。于是,我们想到了通过自动化的方式进行常规的回归测试和冒烟测试:一方面可以提高自动化用例的覆盖度,保证已有功能不出问题;另一方面也能大幅提高测试人员的工作效率,保证新功能稳定投产。

经过半年多的努力,作者带领测试团队的自动化测试工程师,付出了大量的努力,实现了主要功能点的自动化测试。覆盖移动端和Web端的UI自动化测试以及Server端的接口自动化测试,自动化测试时间控制在4小时之内,很大程度上提高了测试效率,提高了产品的稳定性。

回顾整个自动化测试方法创建的过程,作者和团队逐步探索,遇到了不少问题,攻克了不少难关,摸索出了一条适用于企业级SaaS应用的自动化测试方案。在这里,我们希望读者能将自动化测试作为项目、产品的常规测试方法进行实践,探索自己的自动化测试方案。

首先,要从观念上重视自动化测试团队的作用,将自动化测试作为重要的测试方法内化到测试过程中,建立完整的自动化测试团队,制订适应自己产品和项目的自动化测试方案。

其次,在实施过程中,量身定制,有侧重点地覆盖测试点,逐步完善用例库。

再次,根据测试的结果,评估实效,制订改进方案。

最后,逐步改进,对成功的经验加以肯定,对失败的教训予以总结和重视,将自动化测试过程标准化,并且做到跟随需求的迭代而迭代。

稻盛和夫在《活法》中说:“专心致志于一事、努力工作的人,通过日常的精进,精神自然得到磨砺,进而形成厚德载物的人格。”我想,正是由于本书作者在工作中持之以恒地追求工作效率和产品质量,他们才能不断总结出测试的方法论;加之以“厚德载物”的人格,以及“利他”的精神,他们又将自动化测试的精华赋能给每一个测试人。最后,希望每一个测试人可以在书中获得进益!

前言

为什么要写这本书

在开始本书内容之前,先简单介绍一下软件项目模式,如瀑布模式、敏捷开发、DevOps(过程、方法与系统的统称)等,然后通过分析模式的演变引出对测试的思考,这样有利于读者学习测试的相关知识。我深信:好的开始是成功的前提。

简单来说,瀑布模式将软件生命周期划分为制订计划、需求分析、软件设计、程序编写、软件测试和运行维护6个基本步骤,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。敏捷开发的出现缩小了需求和开发之间的“隔阂”,有效地缩减了产品开发的周期,并提高了产品开发的效率。敏捷开发的特点是高度迭代、有周期性,并且能够及时、持续地响应客户的频繁反馈。敏捷开发测试与普通测试的区别如下。

版权:人民邮电出版社