全栈自动化测试实战:基于TestNG、HttpClient、Selenium和Appium
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2 测试前的准备工作

2.2.1 配置Maven

在Java构建工具中,常用的有Gradle、Maven和Ant。本书统一使用Maven。Maven既可以使用Eclipse自带的,也可以使用本地计算机上的,为简明步骤,本书使用Eclipse自带的Maven,配置方法如下。

①在C:\Users\lujiatao\.m2目录中新增settings.xml文件,输入以下内容。lujiatao为计算机的用户名,需根据实际情况替换。另外,如果.m2目录不存在,则自行创建即可:

下面对上述内容进行说明。

■<mirror>标签用于配置镜像地址,如果不配置,则默认会到Maven中央仓库下载依赖文件。由于Maven中央仓库服务器在国外,下载速度较慢,因此这里将镜像地址配置在了国内的阿里云上,这样下载速度会快很多。

■<profile>标签主要用于动态配置多套环境,这里用于配置JDK版本。如果不配置,则Maven默认使用JDK 5。

②在Eclipse中单击“Window → Preferences → Maven → User Settings→ Browse”,选择“C:\Users\lujiatao\.m2\settings.xml”文件,如图2-1所示。

图2-1

③最后依次单击“Update Settings”“Apply and Close”按钮完成配置。

2.2.2 创建工程

单击“File → New → Project”选项,打开如图2-2所示的对话框。

图2-2

选择“Maven → Maven Project”选项,单击“Next”按钮进入下一步,如图2-3所示。

图2-3

勾选“Create a simple project(skip archetype selection)”,该选项表示只需创建一个简单的Maven工程,不需要任何模板。单击“Next”按钮进入下一步,如图2-4所示。

图2-4

Group Id代表组织的唯一标识符,采用反向域名(和Java的Package命名类似)的形式。Artifact Id代表该组织内的唯一标识符。如果把Group Id当作一个公司,那么Artifact Id就是该公司中的一个项目。Name代表项目的完整命名。填写完成后单击“Finish”按钮,一个名为“testng”的工程就出现在了Eclipse中,如图2-5所示。

图2-5

最后在“testng → src/test/java”上用鼠标右击,从弹出的快捷菜单中选择“New → Class”选项。在Package栏填写“com.lujiatao.testng”,在Name栏填写“FirstClassTest”,单击“Finish”按钮。注意,此时不需要勾选“public static void main(String[] args)”,因为TestNG的运行方式和普通Java项目的运行方式有所不同,不需要显式指定main()方法作为程序运行的入口。

2.2.3 测试执行

1.配置TestNG依赖

想要用TestNG执行测试用例,首先要有TestNG。下面使用Maven自动下载TestNG,具体操作是在pom.xml文件的<name>标签后输入以下粗体部分内容:

保存pom.xml文件,这时Maven会自动下载TestNG及其依赖的其他jar包。

2.安装TestNG插件

在Eclipse中单击“Help →Install New Software”,在Workwith中输入“http://beust.com/eclipse”并按回车键,稍等片刻后下方会出现“TestNG”,勾选“TestNG”,如图2-6所示,单击“Next”按钮进入下一步,如图2-7所示。

图2-6

图2-7

这里显示了要安装的插件名称、版本和ID。单击“Next”按钮进入下一步,这时会显示Apache的许可信息,勾选“I accept the terms of the license agreement”,表示同意许可信息,单击“Finish”按钮。插件开始自动下载并安装,安装完成后会提示重启Eclipse,重启即可。

3.编写和执行测试用例

在FirstClassTest中输入以下粗体部分内容:

保存代码,在FirstClassTest.java上用鼠标右击,从弹出的快捷菜单中选择“Run As → TestNG Test”选项,此时Eclipse的控制台输出如下:

下面对运行结果进行说明。

①第一行显示了TestNG的版本号。

②使用System.out.println()方法打印“Hello TestNG!”。

③测试用例testCase1的测试结果为通过(PASSED)。在TestNG中,一个用@Test注解修饰的方法代表一个测试用例。

④一个Test代表一系列Class的合集,此处默认为Default test。共运行1条测试用例,其中失败0条,跳过0条。

⑤一个Suite代表一系列Test的合集,此处默认为Default suite。共运行1条测试用例,其中失败0条,跳过0条。

4.查看测试报告

运行TestNG后,工程中会多出一个test-output目录。展开test-output目录,在emailable-report.html上用鼠标右击,从弹出的快捷菜单中选择“Open With → Web Browser”选项,此时可以看到HTML格式的测试报告,如图2-8所示。

图2-8

除默认测试报告外,TestNG还支持与第三方测试报告的集成,常见的包括ReportNG、Extent Reporting和Allure等。当然,TestNG也支持自定义测试报告。