Selenium自动化测试框架介绍
Selenium自动化测试框架介绍
1.测试架构作用
a.可维护性
b.提高编写脚本效率
c.提高脚本的可读性
2.框架的几大要素:
Driver管理,脚本,数据,元素对象,LOG,报告,运行机制,失败用例重复运行
3.config.xml配置文件作用
a.全局配置文件
b.可以在这里面配置运行哪个浏览器
c.可以定义等待元素display的时间
解析config.xml文件
a.使用dom4j.jar, jaxen-1.1.1.jar
b.代码演示解析过程及方法
文件载入 :
XML解析:
XML节点判断:
XML处理:
XML读取:
4.配置文件的值持久化
a.新建一个类:com.test.util.Config.java
5.Driver管理
a.新建一个com.test.base.SeleniumDriver类
函数调用启动浏览器:
6.架构目录介绍
src/main/java(源代码)
com.hzcf.finance.bean包:
TestCase:通过构造函数向测试用例元素赋值来构建测试用例。
TestObject:通过构造函数向测试对象赋值。
com.hzcf.finance.data包:
TestCaseDataProvider:通过读取excel中数据来对测试数据进行参数化。
com.hzcf.finance.selenium包:
InitBrowser:设置浏览器类型。
OperationBrowser:根据InitBrowser中浏览器类型打开相应浏览器。
SeleniumMethod:元素操作及定位。
SeleniumMethod1:元素操作及定位PLUS版。
com.hzcf.finance.testng包:
TestngListener:测试监听。
com.hzcf.finance.readexcel包:
ReadObject:读取配置文件conf.xml中的对象。
ReadTestCase:读取testcase.xls定义的定位操作类型。
com.hzcf.finance.readxml包:
ReadConfig:读取配置文件构造函数。
com.hzcf.finance.report包:
ExecutionLog:日志配置。
com.hzcf.finance.testcase包:
ExcuteTestCase:测试用例管理。
ExcuteTestObject:定位类型转换。
com.hzcf.finance.testcase.common包:
TestCaseCommon:测试登陆初始化。
UploadPicturePage:上传文件方法。
com.hzcf.finance.testcase.scrpit包:
用于存放测试用例。
com.hzcf.finance.util包:
DateTimeUtil:获取系统时间并做格式转换。
ExcelUtil:Excel相关操作。
FileSystemUtil:文件操作。
FormatMoneyUtil:格式化大洋。
idNum:随机生成身份证号。
MailUtil:邮件配置。
Mobile:自动生成手机号。
MouseAndKeyboardUtil:鼠标键盘操作。
PrintScreenUtil:截图操作。
PropUtil:日志操作。
RandomSerial:随机数生成。
StringToCodeUtil:读取字符串解析成代码。
XMLUtil:读取xml文件并解析。
log4j.properties(日志配置)
conf配置文件夹
conf.xml:配置文件
testcase.xls:存放元素定位方法。
testdata.xls:存放数据驱动数据。
tsetobject.xls:存放页面定位元素。
execdriver文件夹
存放chromdriver.exe、IEDriverServer.exe文件。
output文件夹
存放logs和screenshots文件。
test-output(测试结果)
eclipse通过xml运行case后的测试结果存储位置;
uploadfiles存放上传文件信息。
测试用例.xml
testng测试配置文件,管理case运行
mail_conf.properties邮件配置文件。
pom.xml文件,maven jar包管理。
7.框架特性
a、支持多种常见的主流浏览器:
包括IE,Firefox,Chrome浏览器。
b、Integration(持续集成)
与CI工具结合,如与jenkins结合进行自动化集成。
c、自动生成测试报告
自动生成测试报告,运行完成后可自动发送邮件报告。
Selenium自动化测试框架介绍的更多相关文章
- 『心善渊』Selenium3.0基础 — 1、Selenium自动化测试框架介绍
目录 1.Selenium介绍 2.Selenium的特点 3.Selenium版本说明 4.拓展:WebDriver与Selenium RC的区别 5.Webdriver工作原理 1.Seleniu ...
- Selenium自动化测试框架入门整理
关注嘉为科技,获取运维新知 本文主要针对Selenium自动化测试框架入门整理,只涉及总体功能及框架要点介绍说明,以及使用前提技术基础要求整理说明.作为开发人员.测试人员入门参考. 本文参考:Se ...
- 《Selenium自动化测试实战:基于Python》Selenium自动化测试框架入门
第1章 Selenium自动化测试框架入门 1.1 Selenium自动化测试框架概述 说到目前流行的自动化测试工具,相信只要做过软件测试相关工作,就一定听说过Selenium. 图1-1是某企业 ...
- 《手把手教你》系列基础篇(七十五)-java+ selenium自动化测试-框架设计基础-TestNG实现DDT - 中篇(详解教程)
1.简介 上一篇中介绍了DataProvider如何传递参数,以及和一些其他方法结合传递参数,今天宏哥接着把剩下的一些常用的也做一下简单的介绍和分享. 2.项目实战1 @DataProvider + ...
- 《手把手教你》系列基础篇(七十六)-java+ selenium自动化测试-框架设计基础-TestNG实现DDT - 下篇(详解教程)
1.简介 今天这一篇宏哥主要是结合实际工作中将遇到的测试场景和前边两篇学习的知识结合起来给大家讲解和分享一下,希望以后大家在以后遇到其他的测试场景也可以将自己的所学的知识应用到测试场景中. 2.测试场 ...
- 《手把手教你》系列基础篇(七十八)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试- 中篇(详解教程)
1.简介 上一篇讲解了依赖测试的各种方法,今天继续讲解依赖测试的方法,这一篇主要是讲解和分享通过xml文件配置组名依赖方法( 主要是测试组的用法).废话不说,直接上干货. 2.实例 测试组:一个组可包 ...
- 《手把手教你》系列基础篇(八十)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试-番外篇(详解教程)
1.简介 经过前边几篇知识点的介绍,今天宏哥就在实际测试中应用一下前边所学的依赖测试.这一篇主要介绍在TestNG中一个类中有多个测试方法的时候,多个测试方法的执行顺序或者依赖关系的问题.如果不用de ...
- 《手把手教你》系列基础篇(八十三)-java+ selenium自动化测试-框架设计基础-TestNG测试报告-下篇(详解教程)
1.简介 其实前边好像简单的提到过测试报告,宏哥觉得这部分比较重要,就着重讲解和介绍一下.报告是任何测试执行中最重要的部分,因为它可以帮助用户了解测试执行的结果.失败点和失败原因.另一方面,日志记录对 ...
- 《手把手教你》系列基础篇(八十四)-java+ selenium自动化测试-框架设计基础-TestNG日志-上篇(详解教程)
1.简介 TestNG还为我们提供了测试的记录功能-日志.例如,在运行测试用例期间,用户希望在控制台中记录一些信息.信息可以是任何细节取决于目的.牢记我们正在使用Selenium进行测试,我们需要有助 ...
随机推荐
- C++程序设计(关于函数中数组传递的一点心得)
题目: 10个学生考完期末考试评卷完成后,老师需要划出及格线,要求如下: (1) 及格线是10的倍数: (2) 保证至少有60%的学生及格: (3) 如果所有的学生都高于60分,则及格线为60分: ...
- MyBatis入门学习教程-优化MyBatis配置文件中的配置
一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 1 <?xml version=" ...
- Google Tensorflow 源码编译(二):Bazel<v0.1.0>
这几天终于把tensorflow安装上了,中间遇到过不少的问题,这里记录下来.供大家想源码安装的参考. 安装环境:POWER8处理器,Docker容器Ubuntu14.04镜像. Build Baze ...
- Install Maya 2015 x64 in CentOS 7
Thanks for Must(QQ ID)'s big help for installing Maya in CentOS7. This is my steps for installing ma ...
- 基于Three.js的360X180度全景图预览插件
基于Three.js的360X180度全景图预览插件 时间 2015-08-12 10:01:10 HTML5中国 原文 http://www.html5cn.org/article-8621-1 ...
- 【学】jQuery的源码思路4——增加一些功能
本文说一些简单的jQuery实现原理 eq() get() hide() show() index() find() //返回找到的一组元素中的第n个 zQuery.prototype.eq=func ...
- 轨迹记录App是怎样对定位轨迹进行过滤、优化和平滑处理的
https://www.zhihu.com/question/39983016 卡尔曼滤波原理 卡尔曼滤波学习笔记 卡尔曼滤波的原理说明 http://www.cs.unc.edu/~welch/ka ...
- SQL查询树形结构的所有子节点
如下一张表test:id name pid----------- ---------- -----------1 电器 NULL2 家电 13 冰箱 24 洗衣机 25 电脑 16 笔记本 57 平板 ...
- python字符串的编码格式
参考网站: http://www.cnblogs.com/siqi/archive/2012/11/10/2763598.html 环境: win7 x64 python v2.7.10 结论: 1 ...
- 尚学堂Spring视频教程(一):模拟Spring
Spring简单的说就是作为控制反转的容器,看这篇文章前需要先搞懂“控制反转和依赖注入“这个设计模式 我们先来模拟Spring,实现用户添加的功能,新建WEB项目”Spring_0100_Abstra ...