您需要知道的有关Selenium云端测试

白癜风发病的原因 http://pf.39.net/bdfyy/bdfzg/161014/4992915.html

在企业构建大规模Web应用时,开发人员往往着眼于如何改进现有功能集,以及提高应用的可扩展性。而对于质量检查人员,他们更关心的是,Web应用的整体性能、可用性、以及使用中的兼容性等方面。毕竟,如果您的Web应用产品是准备面对广大区域性用户、乃至全球的消费者的话,那么他们可能通过五花八门的浏览器、设备、操作系统、及其各种组合,来访问您所提供的服务。

目前,针对此类需求最经济、最有效的方法便是:实施基于云的自动化浏览器测试。其中,业界最常用的手段便是采用Selenium测试。下面,让我们一起深入了解采用Selenium云端测试对于跨浏览器性能检测的重要性。

本地测试的局限性

众所周知,针对本地托管网站的响应式测试,是成功实现在线业务的关键。为了确保网站的内容能够恰当地呈现在不同种类的设备、及其屏幕上,测试人员需要提供一台配置高端的计算机,并在上面安装不同的操作系统和Web浏览器版本(例如Chrome、Firefox、Safari等)的组合。显然,这种本地测试的方法不但费时费力,而且无法保证测试的覆盖率。测试人员亟待通过自动化测试,来覆盖各种可能性的测试用例。

Selenium简介与特点

作为一种非常流行的开源测试框架,Selenium可以被用来创建各种可扩展的测试用例。它不但能够模拟用户与目标网站之间的交互,而且可以使用由Java、Python、PHP、Ruby、C#等多种语言编写的测试脚本,实现自动化的跨浏览器测试。

归纳起来,Selenium框架的主要特点包括如下方面:

Selenium是开源的,可以被免费使用。诸如C#、Python、JavaScript、以及RubyonRails等流行编程语言,可以被无缝地用于Selenium框架。Selenium拥有庞大且持续的社区,能够为用户提供支持。用户可以针对自动化的GUI测试,下载各种WebDriver,以支持诸如Chrome、Firefox、MicrosoftEdge等时下流行的Web浏览器。诸如Hypothesis、RobotFramework等流行且适用于Python的框架,可以通过使用它的各种输入值,来执行测试。更多有关Selenium的详细介绍

在云端使用Selenium测试的优点

总的说来,使用Selenium进行跨浏览器测试,可以在吞吐量、测试性能、并行性、覆盖范围等方面提供优势。具体而言,在云端使用Selenium测试的好处主要体现在如下方面:

通过基于云的跨浏览器自动化测试平台,我们能够获得更广阔的浏览器与平台覆盖率。SaaS(软件即服务)模型能够提供按资源使用付费的成本效益与扩展模式。云服务赋能了并行测试,且测试执行的速度更快。可以在新版、或旧版的Web浏览器、操作系统、以及设备上开展功能测试。通过利用错误跟踪、沟通和项目管理工具,来跟踪测试的整个进程,并实现团队成员的及时沟通。可利用Jenkins、TeamCity、Travis、Bamboo等CI/CD工具的优势,来实现构建、打包、以及测试过程的自动化。下表总结了Selenium的功能类别与对应的工具:

云端Selenium测试的准备

为了着手在云端开展Selenium测试,我们选择LambdaTest作为基于云的跨浏览器测试平台。您可以在该平台上执行以下任务:

在线对多种真实的浏览器和操作系统,进行基于Selenium的自动化和实时交互式跨浏览器测试。只需更改最少量的代码,即可将既有的测试移植到LambdaTest平台上。利用并发会话和并行执行的方式,来更快获取测试结果。通过查看LambdaTest服务器上针对某项测试的调试日志,来跟踪自动化测试,并分析失败的原因。使用RemoteSeleniumWebDriver,为那些强大的编程语言(如C#、Python、RubyonRails等),生成并实现跨浏览器的功能。使用详细的报告机制,来分析待测系统的性能。下面是使用LambdaTest在云端进行Selenium测试的具体步骤:

步骤1:建立帐户

首先,您需要先在LambdaTest上完成注册。如上图所示,您可以通过访问注册页面来创建一个新的帐户。完成后,请保存用户名和访问令牌,以便在登录LambdaTest仪表板时使用。

步骤2:选择定价方案

根据测试的要求,您可以选择适当的定价方案。目前,LambdaTest有Lite、Live、Web与移动浏览器自动化、以及Web自动化四种方案可供选择。您虽然可以随时对已选定的方案进行升/降级,但是其更改只能反映在下一个结算周期中。

步骤3:浏览器功能生成器(BrowserCapabilitiesGenerator)

由于要在云端执行测试,因此您需要在SeleniumGrid云上配置各种属性,其中包括:选择编程语言,指定用于测试的操作系统、浏览器类型、分辨率、以及版本号。

如上图所示,您可以登录平台,使用功能生成器来生成相关功能,以便执行跨浏览器的各种测试。之后,您需要转到“自动化”选项卡,以监视自动化浏览器的测试状态。同时,每一个测试都将具有与之相关联的测试ID和内部版本ID。

执行云端Selenium测试

有了前面的基础,下面让我们来看一个Python示例,它演示了如何使用LambdaTest上的远程SeleniumGrid,在云端进行Selenium测试。

串行测试

串行测试(Serialtesting)是一种以串行方式(即,逐个顺次进行)执行测试的实践。它会在上一个测试完成之后,再执行下一个测试。使用串行测试的缺点是:由于没有充分利用Selenium测试框架和云基础架构的资源,因此它增加了测试执行的时间。针对此类测试,我们来讨论如下的测试步骤:

在Firefox浏览器中打开DuckDuckGo。找到搜索框。输入查询的内容,即LambdaTest。执行搜索操作。释放资源。具体实现代码为:

Python

1#PythonexampledemonstratesSeleniumtestingontheCloudusingLambdaTestplatform2importtime3importunittest4importselenium5importurllib36importtime7importwarnings8fromtimeimportsleep9fromseleniumimportwebdrivertest_url=


转载请注明:http://www.aierlanlan.com/rzfs/1955.html