Selenium2(java)框架设计 九
设计框架原则:
数据分离,业务层和逻辑层不要混杂在一起.
设计图:

框架结构初始化:

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)框架设计 九的更多相关文章
- 读懂框架设计的灵魂—Java反射机制
尽人事,听天命.博主东南大学硕士在读,热爱健身和篮球,乐于分享技术相关的所见所得,关注公众号 @ 飞天小牛肉,第一时间获取文章更新,成长的路上我们一起进步 本文已收录于 CS-Wiki(Gitee 官 ...
- 《手把手教你》系列基础篇(九十七)-java+ selenium自动化测试-框架设计篇-Selenium方法的二次封装和页面基类(详解教程)
1.简介 上一篇宏哥介绍了如何设计支持不同浏览器测试,宏哥的方法就是通过来切换配置文件设置的浏览器名称的值,来确定启动什么浏览器进行脚本测试.宏哥将这个叫做浏览器引擎类.这个类负责获取浏览器类型和启动 ...
- java简单框架设计
设计框架包可以作为一个工具给大家用,需要有完全不同设计思路给出来,不同于我们去做一个web服务.网站. 或者一个业务微服务,需要从原来使用视角转换成一个构建者视角. 框架或者工具,更多是框架来管理或者 ...
- Fork/Join 框架-设计与实现(翻译自论文《A Java Fork/Join Framework》原作者 Doug Lea)
作者简介 Dong Lea任职于纽约州立大学奥斯威戈分校(State University of New York at Oswego),他发布了第一个广泛使用的java collections框架实 ...
- Java+Selenium3自动化测试框架设计系列--href="javascript:void(0)"如何获得元素定位
经过前面两篇文章的铺 垫,我们这篇介绍,webdriver如何处理,一个浏览器上多个窗口之间切换的问题.我们先脑补这样一个测试场景,你在页面A点击一个连接,会在新的 tab窗口打开页面B,这个时候,你 ...
- 组件化框架设计之Java SPI机制(三)
阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680 本篇文章将从深入理解java SPI机制来介绍组件化框架设计: ...
- java课程设计(计算器)
JAVA课程 设 计 报 告 1206401-18 瞿杰 一.设计时间 2013年6月 24日-----6月28日 二.设计地点 湖南城市学院实验楼计算机506机房 三.设计目的 1.巩固学习VB ...
- java课程设计团队博客《基于学院的搜索引擎》
JAVA课程设计 基于学院网站的搜索引擎 对学院网站用爬虫进行抓取.建索(需要中文分词).排序(可选).搜索.数据摘要高亮.分页显示.Web界面. 一.团队介绍 学号 班级 姓名 简介 2016211 ...
- 转 分享我在阿里工作十年接触过Java框架设计模式
转 原文: 分享我在阿里工作十年接触过Java框架设计模式 一.前言 说起来设计模式,大家应该都耳熟能详,设计模式代表了软件设计的最佳实践,是经过不断总结提炼出来的代码设计经验的分类总结,这些模式或者 ...
随机推荐
- AVR之BOOTLOADER技术详解(转)
源:http://blog.csdn.net/zhenhua10/article/details/6442412 ATmega128具备引导加载支持的用户程序自编程功能(In-System Progr ...
- css叠加原则,就近原则
<html><head lang="en"> <meta charset="UTF-8"> <title>< ...
- 搭建App主流框架_纯代码搭建(OC)
转载自:http://my.oschina.net/hejunbinlan/blog/529778?fromerr=EmSuX7PR 搭建主流框架界面 源码地址在文章末尾 达成效果 效果图 注:本文部 ...
- [转]android中解析后台返回的json字符串
普通形式的:服务器端返回的json数据格式如下: {"userbean":{"Uid":"100196","Showname&qu ...
- 关于HTTP_CLIENT_IP,HTTP_X_FORWAR
HTTP_CLIENT_IP:可通过http头伪造HTTP_X_FORWARDED_FOR:可通过http头伪造REMOTE_ADDR:可能是用户真实IP也可能是代理IP 服务端获取IP地址 http ...
- Linux下VNC配置多个桌面和修改密码 不会当系统重启vnc失效
1:vncserver 2:iptables -I INPUT -p tcp --dport 5901 -j ACCEPT 客户端方式 3:iptables -I INPUT -p tcp --d ...
- Nexus搭建私服 学习
为什么要搭建nexus私服 因为有些公司不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以,有必要再局域网里找一台有外网权限的机器.搭建nexus私服,然后开发人员连接到这台私服 ...
- openstack controller ha测试环境搭建记录(十四)——配置cinder(存储节点)
先简述cinder存储节点的配置: 1.IP地址是10.0.0.41: 2.主机名被设置为block1: 3.所有节点的hosts文件已添加相应条目: 4.已经配置了ntp时间同步: 5.已 ...
- (译)Windsor入门教程---第四部分 整合
介绍: 目前为止,已经介绍了应用程序的各个部分.首先是添加了Windsor程序集,然后是添加了控制器工厂,还添加了installer类来注册控制器.虽然但是我们还没用在应用程序中调用他们.在这 ...
- 隐藏Nginx版本号的安全性与方法
搭建好nginx或者apache,为了安全起见我们都会隐藏他们的版本号,这边讲的是nginx的版本号,如果你也想隐藏apache的版本号,那请点前面的链接.请看nginx版本号信息隐藏文章. Ngin ...




