TUhjnbcbe - 2021/1/6 17:24:00
随着互联网产品更新迭代加快,Web开发和测试的需求也越来越大。你能想象,如果阿里的双、京东的68,这些庞大繁杂的系统,由工程师们一个个手动测试,将会是一个怎样费时费力、成本巨大的工程吗?也因此,自动化测试就成为每个大厂研发团队的必要需求。在众多工具中,Selenium无疑是备受欢迎的,作为Web应用程序自动化测试工具,它可以直接驱动浏览器,模拟真正的用户操作,帮助测试人员解决回归测试和多浏览器兼容性测试的问题,提升测试效率。可以说,Selenium已经是Web自动化测试领域的事实标准,它是怎么做到的呢?我想主要有这几个原因:免费并且开源。Selenium是一款开源软件,任何单位和个人都可以免费使用,甚至可以和:HP的QTP、IBM的RFT等付费软件相媲美;无操作系统和浏览器限制。像Windows、MACOS、Linux、IOS等操作系统和IE、Chrome、Firefox、Safari等浏览器,都能支持;支持多种编程语言。包括:Python、Java、JavaScript、Perl、PHP、Ruby、C#或.Net。Selenium与其他工具可以轻松集成。这些工具主要包括unittest、pytest、Junit、TestNG、Maven、Jenkins等。通过这些开源项目的集成,可以轻松实现单元测试、集成测试、项目管理,项目的持续集成和交付;并行和分布式测试。通过使用SeleniumGrid可以实现分布式并行测试。具备这些优势,可以说Selenium已经逐步成为Web自动化测试人员的首选,而且如果你打开招聘网站上对测试工程师的要求,就会发现,掌握Selenium,已经慢慢成为各大一线互联网公司测试招聘中的一项必备技能了。但实际上,很多工作3、4年的测试工程师,对于将Selenium在工作项目中的应用,都还不够深入,更别提把它的作用发挥到极致了。我也常常收到一些读者,反馈在学习Selenium的过程中,会出现的一些困难,比如:如何多环境配置Selenium,包括不同的操作系统和浏览器驱动;如何让Selenium和其他软件的配合使用,包括:单元测试、日志系统、数据库等;怎么快速理解和掌握数据驱动的测试、POM设计模式;如何将Selenium集成到Jenkins,实现持续集成和交付;....看到这些,熟悉吧,说实在的,我也被这些问题折磨过,但经过不断的实践和学习后,我发现,这其实就是对Selenium运行原理和编程API掌握的不够清晰。幸运的是,我无意间在极客时间看到了郭宏志关于Selenium的一个「视频」,主要讲解了Selenium几个组件的工作原理和具体用法,在这里我节选了一部分给大家看看????说真的,看了之后还挺收益的,让我真正理解了Selenium到底是怎么回事,也帮我捋清了其中组件的运行原理。但了解工作原理只是第一步,为了清晰掌握Selenium的整体框架,我还找到了一份Selenium学习核心要点图,也分享给你,建议收藏。这个知识图谱也是出自郭宏志之手,来源于他最近在极客时间推出的视频课《Selenium自动化测试实战》,上线的第一时间,我就去看了,课程的讲解很有意思,主要以项目驱动,带你深入理解Selenium的运行原理和实战技巧,掌握unittest、pytest、DDT、POM迭代测试方法,让你在实际工作中,真正将Selenium的作用发挥到极致。??扫我的海报