设计框架原则:

数据分离,业务层和逻辑层不要混杂在一起.

设计图:

框架结构初始化:

com.wymall.test:这是存放这个框架源代码的根目录

base:里面有个基类(BaseParpaare.java),这个类的只要作用是启动和关闭浏览器,启动浏览器使用了TestNG

的@BfforeClass,在这个注释下写了driver的初始化以及打开浏览器等操作;关闭浏览器使用了TestNG的@AfterClass,在这个注释下写了driver退出的操作;测试用例以@Test注释为主体。测试用例继承这个基类,运行测试类的时候,会先去基类中找@BeforeClass下的代码去执行,然后再去执行@Test的内容,最后再执行@AfterClass的内容。

pages:页面元素类,每一个java类,都是一个页面,存放的都是对应页面的所有元素。

pageshelper:主要存放对应页面的帮助类,在这个页面上做了什么操作都要写在这个pageshelper中,比如登陆方法。

plugins:主要存放的是arrow插件以及第三方插件。

testcases:存放测试用例的地方,在这个包下,还会有很多子包,一般一个模块划分为一个子包,子包的命名以模块名命名。

utils:主要是封装了各种工具类,包括读取excel,selenuim api封装类,读取数据库类,读取属性文件类和选择浏览器类等。

config目录:存储框架类所需的所有属性文件,比如arrow的配置文件以及自定义的一些属性文件。

doc目录:可以存放一些项目文档,比如框架的说明文档,编码规范等。

data目录:各模块需要用到的一些测试数据,以Excel文件形式存放在该目录下。每个模块对应一个Excel文件,每个sheet对应的是一个测试用例。

res目录:主要存放的是driver,比如chromedriver和iedriver等。也会存放一些图片,第三方脚本(比如autoit)。

result目录:存放测试框架运行测试用例生成的报告(包含log,截图等)。

把Java项目转变为Maven项目

1.maven安装,下载地址:http://maven.apache.org/

2.修改全局配置文件:D:\apache-maven\conf,编辑settings.xml,找到localRepository关键字,我们需要把这个localRepository 注释去掉(<!-- -->),不然这个配置不会被加载。配置修改为<localRepository>D:\autotest\maven\repo\m2</localRepository>,路径为本地路径

3.配置镜像在settings.xml中找到mirror标签,在标签对中加入:

<mirror>
<id>repo2</id>
<mirrorOf>central</mirrorOf>
<name>repo2center</name>
<url>http://repo2.maven.org/maven2/</url>
</mirror>
<mirror>
<id>nexus-tmatesoft</id>
<mirrorOf>central</mirrorOf>
<name>Nexus tmatesoft</name>
<url>http://maven.tmatesoft.com/content/groups/public/</url>
</mirror>

4.修改用户配置文件:将编辑的settings.xml文件复制到本地D:\autotest\maven\repo目录下

在eclipse中配置maven

5.项目转换:项目右键-->configure-->Convert to Maven Project,转换完成之后项目的根目录会生成一个pom.xml文件,这个文件是maven的配置文件,项目名称会有M的标识。

加入项目依赖(添加jar包)

添加selenium jar包,访问maven仓库:http://mvnrepository.com/,搜索selenium找到对应的版本,将版本的信息复制到pom.xml

保存之后就会自动下载selenium相关的jar包:

加入TestNG配置文件

项目右键-->TestNG-->Convert to TestNG-->Finish

Selenium2(java)框架设计 九的更多相关文章

  1. 读懂框架设计的灵魂—Java反射机制

    尽人事,听天命.博主东南大学硕士在读,热爱健身和篮球,乐于分享技术相关的所见所得,关注公众号 @ 飞天小牛肉,第一时间获取文章更新,成长的路上我们一起进步 本文已收录于 CS-Wiki(Gitee 官 ...

  2. 《手把手教你》系列基础篇(九十七)-java+ selenium自动化测试-框架设计篇-Selenium方法的二次封装和页面基类(详解教程)

    1.简介 上一篇宏哥介绍了如何设计支持不同浏览器测试,宏哥的方法就是通过来切换配置文件设置的浏览器名称的值,来确定启动什么浏览器进行脚本测试.宏哥将这个叫做浏览器引擎类.这个类负责获取浏览器类型和启动 ...

  3. java简单框架设计

    设计框架包可以作为一个工具给大家用,需要有完全不同设计思路给出来,不同于我们去做一个web服务.网站. 或者一个业务微服务,需要从原来使用视角转换成一个构建者视角. 框架或者工具,更多是框架来管理或者 ...

  4. Fork/Join 框架-设计与实现(翻译自论文《A Java Fork/Join Framework》原作者 Doug Lea)

    作者简介 Dong Lea任职于纽约州立大学奥斯威戈分校(State University of New York at Oswego),他发布了第一个广泛使用的java collections框架实 ...

  5. Java+Selenium3自动化测试框架设计系列--href="javascript:void(0)"如何获得元素定位

    经过前面两篇文章的铺 垫,我们这篇介绍,webdriver如何处理,一个浏览器上多个窗口之间切换的问题.我们先脑补这样一个测试场景,你在页面A点击一个连接,会在新的 tab窗口打开页面B,这个时候,你 ...

  6. 组件化框架设计之Java SPI机制(三)

    阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680 本篇文章将从深入理解java SPI机制来介绍组件化框架设计: ...

  7. java课程设计(计算器)

    JAVA课程 设 计 报 告 1206401-18   瞿杰 一.设计时间 2013年6月 24日-----6月28日 二.设计地点 湖南城市学院实验楼计算机506机房 三.设计目的 1.巩固学习VB ...

  8. java课程设计团队博客《基于学院的搜索引擎》

    JAVA课程设计 基于学院网站的搜索引擎 对学院网站用爬虫进行抓取.建索(需要中文分词).排序(可选).搜索.数据摘要高亮.分页显示.Web界面. 一.团队介绍 学号 班级 姓名 简介 2016211 ...

  9. 转 分享我在阿里工作十年接触过Java框架设计模式

    转 原文: 分享我在阿里工作十年接触过Java框架设计模式 一.前言 说起来设计模式,大家应该都耳熟能详,设计模式代表了软件设计的最佳实践,是经过不断总结提炼出来的代码设计经验的分类总结,这些模式或者 ...

随机推荐

  1. zf-关于公司框架的时间字段的格式转换问题。。

    <ww:date value="" format="yyyy-MM-dd">

  2. Android学习之Service(1)--->Started方式

    界面退出后进程程序还在运行,不会被杀死,如音乐播发器.后台下载等 注:本文只讨论Started方式 main.xml代码分析 <?xml version="1.0" enco ...

  3. 超级好用的excel第三方组件

    http://www.cnblogs.com/MR_ke/archive/2010/02/25/1673243.html 前一篇介绍了怎么用com操作excel,后来有朋友说用NPOI好,下面我也来介 ...

  4. .net task

    Task 是4.0里面带来的一个很好用的线程类,后台也是由线程池控制的 有时间是里面的方法得好好看看. 今天学到一个新的. 当需要两个操作并行执行,然后再线性执行时.可以先 Task1 Task2执行 ...

  5. Keepalived详细介绍简介

    1.1.Keepalived简介 Keepalived是Linux下一个轻量级别的高可用解决方案.高可用(High Avalilability,HA),其实两种不同的含义:广义来讲,是指整个系统的高可 ...

  6. implemented loader.php

    http://stackoverflow.com/questions/11787176/manage-url-routes-in-own-php-framework This is how i imp ...

  7. Cocos2dx 学习笔记整理----开发环境搭建

    最近在学习cocos2dx,预备将学习过程整理成笔记. 需要的工具和环境整理一下: 使用的版本 cocos2dx目前已经出到了v3.1.1,学习和项目的话还是用2.2.3为宜,毕竟不大想做小白鼠,并且 ...

  8. kafka 集群部署 多机多broker模式

    kafka 集群部署 多机多broker模式 环境IP : 172.16.1.35   zookeeper   kafka 172.16.1.36   zookeeper   kafka 172.16 ...

  9. (简单) POJ 1511 Invitation Cards,SPFA。

    Description In the age of television, not many people attend theater performances. Antique Comedians ...

  10. KEIL MDK 查看代码量、RAM使用情况--RO-data、RW-data、ZI-data的解释(转)

    源:KEIL MDK 查看代码量.RAM使用情况--RO-data.RW-data.ZI-data的解释 KEIL RVMDK编译后的信息 Program Size: Code=86496 RO-da ...