引言:本文将和您讨论针对混合应用(如WebView)测试的五种Python框架,及其各自的特点。
显而易见,Python已成为了如今使用最为广泛的编程语言之一。它备受欢迎的背后原因不仅在于方便易用,还能够允许用户创建出独立于平台的应用程序。
Python是一种高级的编程语言,它与生俱来就带有一些特别的功能。例如,它能够很好地支持面向对象式编程(Object Oriented Programming,OOP)。另外,Python的语法与C或C++是非常不同的,它更为简单、易学且方便理解。
如今,Python语言主要被用于服务器端的Web开发、软件服务开发、移动应用开发、以及许多其他场景的使用之中。不过在我看来,它最适合于被用来创建各种混合应用程序(hybrid applications)。
什么是混合应用?
混合应用程序是原生移动应用和Web应用程序的一种组合。此类新的应用程序可以像任何其他移动应用那样,在移动应用商店中被下载并获取。混合应用程序的最大特点是:它包含有内置的Web浏览器,因此您可以直接从移动应用本身查看到Web网页的内容。我们通常称之为--WebView(具体相关内容请详见:https://dzone.com/articles/what-is-a-webview-and-how-to-test-it)。
开发人员通常会使用Python框架,来创建各种经过最优化的混合应用程序。他们之所以会用到Python框架来进行各种开发,是因为其本身具有许多方面的优势。例如:Python框架能够为您提供大量的附加功能,以帮助您实现高效的编码工作。如此一来,您便可以更加专注在程序的逻辑上,而不是诸如代码间的通信连接等其他方面。
此外,Python框架能够提供的另一个重要功能是:WebView测试。可以说,WebView测试对于某个网站,特别是该网站在不同浏览器上的兼容性和显示效果来说都是至关重要的。
当然,如果要执行WebView测试,您离不开Python框架的支持。下面,让我们来一起讨论针对WebView测试的五种Python最佳框架:
Selenium
Selenium是最受欢迎、且最被广泛使用的Web应用类自动化测试工具。而被热捧的背后原因在于它往往被认为是Web应用测试的行业标准。根据调查显示,全球百分之九十的Web应用测试人员都在使用Selenium。
Selenium是一个开源的框架,能够支持许多种不同的语言,其中包括:Python、Java、C#、PHP、Ruby等。该框架能提供的另一个功能是:您可以通过它来应用针对多个平台(如Mac、Windows和Linux)的测试用例,进而对目标应用进行跨平台的测试。与此同时,我们还可以在Android、iOS或Blackberry等多种设备上实施Selenium的相关测试。
Selenium具有友好的用户界面。不过,为了更好地使用该框架,您可能需要具备一些高级的编程技能。另外,您还需要开发相应的软件库和自动化类型的框架,来进行深度测试。这可能算是Selenium框架在使用方面最大的瑕疵吧。
Appium Python
Appium是一种针对移动应用的自动化测试工具。它同样具有开源的框架,能够帮助您对各种原生的应用、混合应用、以及一些简单的移动应用进行测试。
Appium可以让您对不同的移动平台(如:iOS和Android)进行自动化测试。而在测试的过程中,您完全可以使用相同的API,这样不但节省了大量的代码修改时间,也节约了用户为了测试不同平台所投入的成本。
Appium服务器是由Node.js编写出来的,同时它也用到了Selenium WebDriver。它允许您在Android平台上重用iOS的代码,反之亦然。而就测试本身而言,您既可以在真实的设备上进行、也可以放到各种模拟器上“跑”。
Katalon Studio
Katalon Studio是第三种流行的自动化测试工具,它同样可以协助测试人员对Web服务、移动应用程序和各种API进行测试。它能够支持的系统平台包括:Windows、Linux、Mac和Unix等。
由于使用了Selenium和Appium引擎,Katalon Studio能够方便测试人员更容易地集成和部署不同的框架与软件库。通过记录并维护各种测试脚本与用例,Katalon Studio能够让某些测试脚本直接运行在不同的应用程序之中。另外,该框架还能支持SOAP和RESTful API,它包含着大量的内置测试用例,以方便测试人员开展各项日常工作。
Katalon Studio的另一个亮点是:无论您是测试界的专业人士,还是刚入门的“小白”,您都可以快速地上手并使用该框架。
TestComplete
TestComplete框架为全世界测试人员所熟知的原因在于:它的功能十分齐备,可以对移动应用、Web服务、以及桌面程序等进行各种自动化的测试。TestComplete框架可以支持包括Python、JavaScript和C++在内的各种编程语言。
通过使用其对象识别引擎(object recognition engine),该框架具有识别动态用户接口的能力。这对于测试那些诸如动态UI之类持续变化的应用是十分有用的。
和前面提到的Katalon Studio类似,TestComplete也具有测试记录和回放的功能,可以帮助您维护过往实施过的测试用例。
Tricentis Tosca
Tricentis Tosca框架可以通过自己的工具集,帮助用户开展全面的测试工作。它能够支持的测试环节包括:测试用例的设计,测试自动化,甚至是测试分析与报告等。
该框架具有非常友好的用户界面和十分丰富的功能,您可以流畅地进行开发、实施、执行和维护等测试步骤。它能够兼容多种协议,如:HTTP、HTTPS、RabbitMQ、TIBCO、REST、SOAP和IBM MQ等。同样,我们可以在移动设备、浏览器以及台式机等不同设备上用它来执行不同类型的测试。
总结
如今,市面上有许多款Python框架可以被用来针对混合应用程序(特别是WebView)进行自动化的测试。上面我们所提到的五种框架各有优缺点。具体该如何去选择适当的框架,则取决于您所面对的应用特征,以及您在真实场景下所需要用到的具体功能。
原文标题:5 Best Python Frameworks for WebView Testing,作者: Saif Sadiq