Maven+testng+yaml:Selenium Page Object模式实现

第一篇、搭建selenium开发环境

1、准备相关的Java环境

下载jdk 1.8

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Java SE Development Kit 8u121

下勾选:Accept License Agreement

笔者是64位windows环境:选择如图版本下载安装

2、配置环境变量

参考:http://jingyan.baidu.com/article/9f63fb91d87fb0c8400f0e93.html

3、准备自己的开发ide

笔者使用的intellij ide所以在这里介绍的都是这种工具,对于使用eclipse的童鞋说声抱歉了

选择File》New Project》Maven,填写好相关信息

创建maven工程OK。

第二篇:配置工程pom文件,下载相关依赖

笔者使用到selenium和testng相关资源和yaml解析包(后续介绍如何使用),pom配置如下:

第三篇:Page Object模式实现测试代码封装

说起page object模式最大的优势在于使代码更易懂,后期维护更加方便

以下以网易云音乐web版本为例进行讲解

工程整体架构:

1、元素定位信息存储在yaml配置文件中,实现无需代码重新编译应对页面变更引起的元素定位方式的变动,/resources/locator目录下:

2、要启动的浏览器,baseurl,数据库等配置信息存放在/resources/config目录下:

3、对于yaml文件的解析和selenium基本方法的封装分别在ParseYamlUntil和WebDriverUntil两个类中完成,有些童鞋习惯用BasePage类来实现WebDriverUntil类的功能也是可以的,看个人喜好,实际作用相同。

4、基本条件已经完成,开始page objcet的实现,以HomePage为例:

* 借助面向对象的思想,页面即类,页面类中包含页面的属性和方法

* 属性即页面元素,方法即页面元素的相关动作

第四篇:测试方法实现

完成了对HomePage和SearchResultPage的封装之后,结合testng实现测试方法

package play;

import org.testng.annotations.Test;

import pages.HomePage;

import pages.SearchResultPage;

public class TestPlayMusic {

@Test(description="搜索wild wild web歌曲并播放!")

public voidtestSearchAndPlayMusic(){

HomePage.cleanSearchInput();

HomePage.inputSearchContent("wild wild web");

HomePage.doSearchAction();

SearchResultPage.handleIFrame();

SearchResultPage.doPlayAction();

}

}

可见,测试方法中直接调用的都是page中的方法,组合而成,简单易懂!

第五篇:运行测试

在工程目录下创建xml文件夹用于管理testng的配置文件,在xml下创建test.xml:

右键选择Run,运行测试看看吧。

第六篇:持续集成CI

下载并启动tomcat,把下载的Jenkins的war包放在tomcat的webapp目录下,启动tomcat服务,打开浏览器,访问:localhost:8080/jenkins

新建:maven项目,配置好源码管理


配置post step:


保存配置,在工程管理页面点击立即构建查看自己的成果吧

推荐阅读更多精彩内容