Selenium webdriver docker如何帮助软件自动化测试人员?

Selenium webdriver docker如何帮助软件自动化测试人员?,selenium-webdriver,docker,Selenium Webdriver,Docker,docker如何帮助自动化测试人员 我知道它提供了类似于虚拟机的linux容器,但如何在软件自动化测试中使用这些容器。简短回答 您可以使用Docker轻松创建一个隔离、可复制和可移植的测试环境。每个依赖项都指向一个映像,当您需要一个环境来测试应用程序时,只需运行一些映像 长话短说 应用程序有很多依赖项 典型的应用程序与其他系统有很多依赖关系。您可能有一个数据库、一个LDAP、一个Memcache或您的系统所依赖的许多其他东西。应用程序本身需要一个专用版本(Java7或Java8)的特定运行时(J

docker如何帮助自动化测试人员

我知道它提供了类似于虚拟机的linux容器,但如何在软件自动化测试中使用这些容器。

简短回答 您可以使用Docker轻松创建一个隔离、可复制和可移植的测试环境。每个依赖项都指向一个映像,当您需要一个环境来测试应用程序时,只需运行一些映像

长话短说 应用程序有很多依赖项 典型的应用程序与其他系统有很多依赖关系。您可能有一个数据库、一个LDAP、一个Memcache或您的系统所依赖的许多其他东西。应用程序本身需要一个专用版本(Java7或Java8)的特定运行时(Java、Python、Ruby)。您可能还需要一个带有应用程序设置的服务器(Tomcat、Jetty、NGINX)。您可能需要为应用程序设置一个特殊的文件夹结构,等等

设置测试环境变得很复杂 所有这些都构成了应用程序所需的环境。您需要这个环境来在生产环境中运行应用程序、开发应用程序和测试应用程序(手动或自动)。这个环境可能变得非常复杂,维护它将花费您大量的时间和麻烦

依赖关系变成图像 这就是Docker发挥作用的地方:Docker让您将数据库(应用程序的初始数据已设置)放入Docker映像。LDAP、Memcache和您所依赖的所有其他应用程序也是如此。Docker让您甚至可以将自己的应用程序打包到一个映像中,该映像提供了正确的运行时、服务器、文件夹结构和配置

图像使您的环境易于再现 这些图像是独立的、孤立的和可移植的。这意味着您可以在每台机器上拉动它们,并按原样运行它们。不需要安装数据库、LDAP、Memcache并配置它们,只需拉取映像并运行它们。这使得在需要时在几秒钟内创建一个全新的环境变得非常容易

测试变得更容易了
这是测试的基础,因为你需要一个干净、新鲜、可复制的环境来进行测试。尤其是“可复制”和“新鲜”很重要。如果运行自动测试(在开发人员maschine或构建服务器上本地运行),则必须使用相同的环境。否则你的测试就不可靠了。Fresh很重要,因为它意味着您可以在测试完成并且测试创建的所有数据混乱消失时停止所有容器。当您再次运行测试时,您只需启动一个干净且处于初始状态的新环境。

docker映像是否存储在类似Git、SVN的中央存储库中?如何在其他机器上提取容器?您可以在Docker注册表中存储Docher图像。在上有一个用于公共映像的官方注册表,但您也可以安装自己的私有注册表(请参阅)。在构建映像的机器上,您可以将其“推”到注册表,在另一台机器上,您可以将其从注册表中“拉”出来。非常像GIT和SVN是为代码而做的。