第07课:Page

第07课:Page Object 自动化框架实施

首先说明一点,我们在第 05 篇工程化整合自动化代码的时候虽然引入了 PageFactory 这个类,但是这不属于框架的使用,这是一种设计模式。要想搭建一套完整的自动化框架,需要做以下几件事情:

  • 启动一个浏览器,并加载其插件,对 driver 进行有效的管理;
  • 管理被测试控件;
  • 设计合理的测试用例(即 TestNG 的使用);
  • 运用 Page Object 设计模式,将每一个 Web 界面的控件和方法进行封装。
  • 封装常用的公共类和方法;
  • 也是最重要的一点,就是要实现运行测试用例与开发源码的剥离。

上面所述的 6 点中,前 5 点在前面的章节中基本已经介绍完毕。最后一讲着重介绍下第 6 点内容,实现测试用例与开发源码的剥离。实现方式我们借助阿帕奇的一个非常出色的插件:Maven。

前提

我们现在重新建个工程,此工程不在是原来的 Java 工程,现在来建立一个 Maven 工程,要想建立 Maven 工程,先必须在开发环境中下载 Maven。

Eclipse 里安装配置 Maven

1.在官网 http://maven.apache.org/download.cgi 地址下载 Maven 插件:

2.将压缩包解压到本地文件夹中:

3.将 Maven 安装目录的 bin 加入到 path 环境变量中:

4.验证 Maven 是否安装成功:

Eclipse 里配置 Maven

1.单击 Eclipse | Window | Preferences 命令,搜索 Maven,单击 Installations 按钮,单击 add 按钮,将 maven 所在目录设置添加进去。单击 finish 按钮,勾选新添加的 maven,单击 OK 按钮,如下图所示:

2.单击 Window | Preferences 命令,搜索 Maven ,单击 User Settings 按钮,将 Maven | conf | settings.xml 文件设置为全局变量文件。

3.在 Eclipse 里右键新建一个 Maven 工程。

我们可以看到 Maven 工程下的目录,请记住以后做自动化开发的时候,一般实现类、封装类都放在 src/main/java 目录下,在 src/test/resources 目录下只放测试类。这样做的目的就是为了后续 Maven 打包的时候只把 main 下的类进行打包。

Maven 的一个重要插件

好了,上面已经介绍了 Maven 的安装配置,这里重点讲解如何实现测试类和开发源码的分离,那么必须借助 Maven 的一个插件 Maven surefire-plugin,用其来调用 TestNG 的 XML 文件,以此来实现测试脚本的运行。

使用 Maven surefire-plugin

首先使用 pom.xml 文件引入 Selenium 的依赖,引入代码为:

    <dependencies>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>2.43.1</version>
        </dependency>
    </dependencies>

其次使用 pom.xml 文件引入 TestNG,引入代码为:

       <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.8.8</version>
        </dependency>
    </dependencies>

最后 surefire 的 maven 插件,指定运行 TestNG 的 testsuite.xml 文件,配置代码为:

<build>
 <plugins>
 <plugin>
 <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <suiteXmlFiles>
                        <suiteXmlFile>testsuite.xml</suiteXmlFile>
                    </suiteXmlFiles>
                </configuration>
            </plugin>
 </plugins>
</build>

cmd 到 Maven 的安装的 bin 目录下,执行 mvn test:

执行成功之后,还可以到 Target 下得到一个 TestNG 的运行报告。

课程总结

本课程讲解到这里要告一段落了,其实任何知识都是无止境的,除了本次课程讲解的这些内容外,还有许多自动化的知识,本系列教程希望大家可以有如下收获:

  • 可以熟练调用各个浏览器;
  • 掌握基本的测试控件;
  • 熟记常用的测试类;
  • 明确 PageFactory 的设计模式;
  • 明确自动化框架的实质:就是为了实现业务测试运行与开发源码的剥离。
上一篇
下一篇
目录