使用TeamCity、TestNG和LambdaTest进行自动化测试
这篇文章是与合作创建的LambdaTest.
在这篇文章中,我们将展示如何在队伍中设置Testng测试,并使用LambDATEST签名硒网格云功能。lambdaTest允许执行自动化测试超过2000个浏览器。这有助于实现更快的持续集成和更稳定的产品交付给消费者。通过它的交互式UI仪表板,您可以获得详细的测试报告、日志和视频,这使得分析和调试任何产品问题变得更容易。
您可以阅读更多关于与LambdaTEST的努力集成的优势这篇文章.
本教程的先决条件:
- Maven和Project相关的依赖关系安装在您的建立代理机器。
- 你有一个LambdaTest帐户.您需要一个用户名和访问密钥来将Teamcity与LambDaT集成。
配置Selenium Grid测试用例
在教程的范围内,我们假设您将测试的源代码存储在Git存储库中。存储库结构是一个标准的Maven项目,具有存储在中的测试和资源src /测试
文件夹和* . properties
和pom.xml
在根文件夹中。
您可以找到一个示例存储库在这里.
步骤1.在根文件夹中,创建pom.xml
文件来描述测试运行配置和解析依赖项。
此XML文件将定义所有所需的依赖项和插件以运行测试用例:testng依赖关系,selenium-java定义web交互,用于报告的Surefire插件,以及定义测试运行格式的不同配置文件(例如单个或并行)。
看到pom.xml
例子.
步骤2.在根文件夹中,创建Config.properties
文件提供测试运行详细信息和lambdatest帐户凭据。
#Define the browser- correlation information to execute case on LambdaTest Grid browser=Internet Explorer version=11.0 os=Windows 8.1 resolution=1024x768 # LambdaTest Credentials LambdaTest_UserName=LambdaTest_AppKey=
步骤3.添加
资源
文件夹下src /测试
来存储* . xml
单个和并行测试配置的文件。
单个测试配置的示例:这个XML文件定义了触发单个测试时要执行的类。
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
并行测试配置的示例:这个XML文件定义了在触发并行测试时要执行的类。
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
步骤4.添加测试
存储测试案例的文件夹* .java.
文件和配置文件来获取属性。
属性的配置类文件用于读取和加载与配置属性相关的数据Config.properties
文件所以可以在整个运行中访问它。此数据为执行期间的所有实例提供LambDaTest帐户凭据。
配置文件的示例测试用例:
包com.lambdatest.tests;导入java.io.file;导入java.io.fileInputStream;导入java.io.filenotfoundException;导入java.util.properties;公共类配置{静态字符串路径= getFilePath();公共静态字符串readconfig(String键)抛出异常{String值=“”;尝试{属性prop =新属性();文件f =新文件(path +“/ config.properties”);//读取属性文件system.out.println(路径); if (f.exists()) { prop.load(new FileInputStream(f)); value = prop.getProperty(key); // to set all the property values to config } else { throw new Exception("File not found"); } } catch (FileNotFoundException ex) { System.out.println("Failed to read from application.properties file."); throw ex; } if (value == null) throw new Exception("Key not found in properties file"); return value; } public static String getFilePath() { String filepath = ""; File file = new File(""); String absolutePathOfFirstFile = file.getAbsolutePath(); filepath = absolutePathOfFirstFile.replaceAll("\\\\+", "/"); return filepath; } }
看到单个测试执行的测试用例.这个Java测试类文件加载了在LambdaTest Grid上执行测试所需的所有细节,并提供了在单一模式下执行测试用例的相关信息。
看到测试案例以进行并行测试执行.此Java测试类文件加载LambDATEST网格上的测试执行所需的所有详细信息,并提供相关信息以在并行模式下执行测试用例。
在TeamCity中配置项目
- 创建一个新的项目在TeamCity。它的VCS根应该指向GIT存储库,其中存储硒测试案例的代码。
- 创建一个新的构建配置在这个项目中。将其附加到项目的VCS根目录。
- 添加Maven构建步骤。Maven构建运行器支持TestNG框架并提供实时报告。除此之外,LambdaTest仪表板还将提供信息丰富的日志和视频记录。要在构建配置中配置此步骤,请参考我们的文档.
要在LambdaTest网格上执行测试:
- 对于单个测试执行,设置
测试
目标和添加- p单
作为额外的命令行参数。 - 对于并行测试执行,请设置
测试
目标和添加mvn测试-P并行
作为额外的命令行参数。
- 对于单个测试执行,设置
- 如有必要,请设置其他构建步骤。
- 在构建配置设置|参数选项卡中,添加环境变量使用LambdaTest用户名的值(
LT_USERNAME
)及访问令牌(lt_access_key.
).你可以在你的LambdaTest个人资料页面上找到它们。这些凭证的值将替换在LambdaTest Selenium Cloud Grid配置文件中指定的值。
随着集成设置完成,单击运行开始构建。构建日志将显示您的构建正在由LambdaTest执行。
在自动化您的lambdatest仪表板的标签,您可以看到测试完成并详细探索它。
分析构建结果与LambdaTest仪表板
在完成TeamCity设置和与LambdaTest的集成并执行构建之后,您可以分析所有与构建相关的信息,如时间线、脚本、视频和日志。您甚至可以直接从LambdaTest向任何受支持的项目管理工具报告bug。
当您登录到LambdaTest时,您将被重定向到仪表板,它提供到目前为止执行的测试运行的实时概述(数字、日期、图表等)。
可以在硒测试执行的所有细节中找到自动化选项卡。它提供了各种测试日志,包括网络日志、异常日志和命令日志。您还可以访问整个Selenium测试执行的视频记录,以及命令对命令的屏幕截图。
除硒测试自动化外,LambDaTest有助于实时交互式测试,屏幕截图测试,响应测试和视觉回归测试。
的实时测试面板为您提供了在2000多个浏览器中执行测试用例的自由,具有不同的浏览器/版本/操作系统/解决方案的不同组合,以提供所有用户需求。
下视觉UI测试,您可以轻松地运行和比较屏幕截图,以浏览OS和浏览器的广泛组合来探索差异。
您可以通过不同的屏幕尺寸和分辨率进行测试,以检查更改性质的响应性。
选择LambdaTest云网格的另一个优势是它提供的日志的范围和种类。它以视频、截图、网络日志的形式捕获日志,并对它们进行过滤,以便更好地分析,从而方便故障排除。
您还可以在运行期间跟踪问题或bug,并将它们添加到问题跟踪器中,以便与团队共享。
总结
通过本教程,我们解释了为什么和如何将队伍与Lambtest集成,以使开发生命周期更轻松,并提供更快的产品运输到市场。我们学会了如何执行Selenium测试,在TeamCity服务器上配置集成,并在LambdaTest Selenium Cloud Grid上执行构建。
现在,您可以开始集成自己的TeamCity项目,并使用强大的LambdaTest工具包实现自己的目标。
幸福的建筑!