bob2002网站 测试

使用TeamCity、TestNG和LambdaTest进行自动化测试

这篇文章是与合作创建的LambdaTest

在这篇文章中,我们将展示如何在队伍中设置Testng测试,并使用LambDATEST签名硒网格云功能。lambdaTest允许执行自动化测试超过2000个浏览器。这有助于实现更快的持续集成和更稳定的产品交付给消费者。通过它的交互式UI仪表板,您可以获得详细的测试报告、日志和视频,这使得分析和调试任何产品问题变得更容易。

您可以阅读更多关于与LambdaTEST的努力集成的优势这篇文章

本教程的先决条件:

  • Maven和Project相关的依赖关系安装在您的建立代理机器。
  • 你有一个LambdaTest帐户.您需要一个用户名和访问密钥来将Teamcity与LambDaT集成。

配置Selenium Grid测试用例

在教程的范围内,我们假设您将测试的源代码存储在Git存储库中。存储库结构是一个标准的Maven项目,具有存储在中的测试和资源src /测试文件夹和* . propertiespom.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中配置项目

  1. 创建一个新的项目在TeamCity。它的VCS根应该指向GIT存储库,其中存储硒测试案例的代码。
  2. 创建一个新的构建配置在这个项目中。将其附加到项目的VCS根目录。
  3. 添加Maven构建步骤。Maven构建运行器支持TestNG框架并提供实时报告。除此之外,LambdaTest仪表板还将提供信息丰富的日志和视频记录。要在构建配置中配置此步骤,请参考我们的文档

    要在LambdaTest网格上执行测试:

    • 对于单个测试执行,设置测试目标和添加- p单作为额外的命令行参数。
    • 对于并行测试执行,请设置测试目标和添加mvn测试-P并行作为额外的命令行参数。
  4. 如有必要,请设置其他构建步骤。
  5. 构建配置设置|参数选项卡中,添加环境变量使用LambdaTest用户名的值(LT_USERNAME)及访问令牌(lt_access_key.).你可以在你的LambdaTest个人资料页面上找到它们。这些凭证的值将替换在LambdaTest Selenium Cloud Grid配置文件中指定的值。

随着集成设置完成,单击运行开始构建。构建日志将显示您的构建正在由LambdaTest执行。

自动化您的lambdatest仪表板的标签,您可以看到测试完成并详细探索它。

TC-TestNG-LT

分析构建结果与LambdaTest仪表板

在完成TeamCity设置和与LambdaTest的集成并执行构建之后,您可以分析所有与构建相关的信息,如时间线、脚本、视频和日志。您甚至可以直接从LambdaTest向任何受支持的项目管理工具报告bug。

当您登录到LambdaTest时,您将被重定向到仪表板,它提供到目前为止执行的测试运行的实时概述(数字、日期、图表等)。

LambdaTest仪表板

可以在硒测试执行的所有细节中找到自动化选项卡。它提供了各种测试日志,包括网络日志、异常日志和命令日志。您还可以访问整个Selenium测试执行的视频记录,以及命令对命令的屏幕截图。

lambdatest自动化

除硒测试自动化外,LambDaTest有助于实时交互式测试,屏幕截图测试,响应测试和视觉回归测试。

实时测试面板为您提供了在2000多个浏览器中执行测试用例的自由,具有不同的浏览器/版本/操作系统/解决方案的不同组合,以提供所有用户需求。

lambdatest实时测试

视觉UI测试,您可以轻松地运行和比较屏幕截图,以浏览OS和浏览器的广泛组合来探索差异。

LambdaTest可视化UI测试

您可以通过不同的屏幕尺寸和分辨率进行测试,以检查更改性质的响应性。

LambdaTest响应测试

选择LambdaTest云网格的另一个优势是它提供的日志的范围和种类。它以视频、截图、网络日志的形式捕获日志,并对它们进行过滤,以便更好地分析,从而方便故障排除。

您还可以在运行期间跟踪问题或bug,并将它们添加到问题跟踪器中,以便与团队共享。

LambdaTest问题跟踪器

总结

通过本教程,我们解释了为什么和如何将队伍与Lambtest集成,以使开发生命周期更轻松,并提供更快的产品运输到市场。我们学会了如何执行Selenium测试,在TeamCity服务器上配置集成,并在LambdaTest Selenium Cloud Grid上执行构建。

现在,您可以开始集成自己的TeamCity项目,并使用强大的LambdaTest工具包实现自己的目标。

幸福的建筑!

发现更多

Baidu