自动化测试框架 selenium api的封装

接上一篇 http://tianxietaotao.blog.51cto.com/12002420/1951701 这篇我大概介绍下我这个工具的简单介绍

先上图:

制作背景:

Web自动化测试在现在测试领域已经越来越普遍,但是写代码对于好多测试猿代码基础较弱,搭建系统也比较麻烦。所以我抽闲暇时间做了这个简单的工具:下面简单介绍下功能

工具简单介绍:

1、工具栏:Resume:调试阶段执行到下一个断点 next:单步执行 debug/run 模式切换 执行、停止

2、用例树:用例采用execl或者xml维护,可以加入到测试系统

3、工作区:单用例执行时方便 执行和调试 包含 table查看用例数据 、find 断点时查找元素判断书写方式是否正确

4、log:执行日志

5、调度区:暂时支持顺序执行、用例调整顺序删除等

我称这个软件为 个人客户端版Auto,虽然还有很多细节需要完善,我还是介绍下我写这个软件的过程,如果有借鉴的地方,欢迎大家吐槽。

好习惯先上图 

这张图是整个软件可以完善的覆盖selinum功能的核心。这里大家睁大眼看吧

1、初始想法

Selinum 我们关注的只有两点 1、元素  2、动作

我在做软件的时候也分为两个实例 1、查找元素  2、执行动作  有了这个思路我们的第一步就可以开迈了

2、想法细化

1、模型设计 用人话说就是 用例的每一条命令包含的内容 抽象为java模型

2、用例源选择 execl、xml 等 用例源 这里介绍使用execl

细化到这已经足够你实施第一步了

1、使用过selinum应该知道 selinum每一个findelement方法 返回为WebElement WebElement可以继续查找元素

这个功能我们不能砍掉啊,链式查找很常用。我们查看WebElement 的类实现树 惊喜的发现 WebDriver 和WebElement 居然实现了同一个接口。多态用起来

查找元素方法设计为 入口

1、WebElement findElement(WebDriver dr, Command c){ return findElement(SearchContext, str);}

2、WebElement  findElement(SearchContext dr, String[] str) {
while(str.length) {findElement(dr, str[0]) };
return dr;
}
3、WebElement findElement(SearchContext dr, String str){if (strb.startsWith("xpath:")) {
			return dr.findElement(By.xpath(str.substring(6)));
		} }

这样 1掉2,2掉3 3为具体根据模型设计读取的类,这样元素查找的问题就解决了

2、命令:命令比较简单 最傻的方式就是设计命令后 if else if 时间原因我也是这么做的

这样基础的核心就有了!界面的封装缺失也挺消耗时间的。上面的给大家共勉吧!

时间: 2024-11-08 23:25:17

自动化测试框架 selenium api的封装的相关文章

小白学 Python 爬虫(28):自动化测试框架 Selenium 从入门到放弃(下)

人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(五)爬虫框架的安装 小白学 Python 爬虫(7):HTTP 基础 小白学 Python 爬虫(8):网页基

RobotFramework自动化测试框架-Selenium Web自动化(三)关于在RobotFramework中如何使用Selenium很全的总结(下)

本文紧接着RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)继续分享RobotFramework中如何使用Selenium进行自动化测试. 本文章节目录: 1.Get Value 2.Get Webelements和Get Webelement 3.Get Window Titles 4.Go Back 和 Go To 5.Get List Items 6.Get Selected List

小白学 Python 爬虫(27):自动化测试框架 Selenium 从入门到放弃(上)

人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(五)爬虫框架的安装 小白学 Python 爬虫(7):HTTP 基础 小白学 Python 爬虫(8):网页基

自动化测试框架selenium+java+TestNG——配置篇

最近来总结下自动化测试 selenium的一些常用框架测试搭配,由简入繁,最简单的就是selenium+java+TestNG了,因为我用的是java,就只是总结下java了. TestNG在线安装: 打开Eclipse   Help ->Install New Software ,   然后Add   "http://beust.com/eclipse" 选择TestNG,finish下一步完成安装. 验证是否安装成功 File->new->other 导入sele

RobotFramework自动化测试框架-Selenium Web自动化(-)-Open Browser和Close Browser

Selenium出来已经有很多年了,从最初的Selenium1到后来的Selenium2,也变得越来越成熟,而且也已经被很多公司广泛使用.Selenium发展的过程中,分了很多模块,这里我们主要介绍Webdriver,Webdriver已经被很多浏览器所兼容.WebDriver在自动化脚本和浏览器之间充当的角色和之前介绍的Appium很像. 由于现在很多的浏览器都已经主动支持和兼容了WebDriver,所以Webdriver在启动后,会确认浏览器的native component是否存在可用而且

RobotFramework自动化测试框架-MongoDBLibrary库的使用

笔者接着 RobotFramework自动化测试框架-DatabaseLibrary库的使用(对数据库的操作) 继续分享robotframework 对数据库中的MongoDB的详细操作.这是笔者第二篇关于robotframework 对数据库的操作的分享介绍. MongoDB是非常常用的一个非关系型数据库,在RobotFramework中,也提供了对MongoDB数据库测试操作的支持.我们可以通过在浏览器中访问github的网站地址 https://github.com/iPlantColla

基于Selenium的自动化测试框架 - SeLion学习之一(基本介绍)

SeLion是一个基于Selenium的自动化测试框架,是Selenium下的一款非常优秀的框架结构,但是资料非常少,在国内使用的也就相对较少,本人会用一系列的文章,比较详细的介绍该框架结构,希望能给广大的自动化测试爱好者提供一个实现思路,如果对该本人文章感兴趣或者有什么问题,欢迎留言,我会尽量回答,也欢迎转载该系列文章.该文章是本系列第一节,SeLion的基本介绍,先让大家对SeLion有一个基本的认识. 一:SeLion是什么?SeLion是基于Selenium的一款开源测试框架,是对Sel

UI自动化测试框架之Selenium关键字驱动

一.原理及特点 1. 关键字驱动测试是数据驱动测试的一种改进类型 2. 主要关键字包括三类:被操作对象(Item).操作(Operation)和值(value),用面向对象形式可将其表现为Item.Operation(Value) 3. 将测试逻辑按照这些关键字进行分解,形成数据文件. 4. 用关键字的形式将测试逻辑封装在数据文件中,测试工具只要能够解释这些关键字即可对其应用自动化 二.准备 使用工具:eclipse 用到的第三方jar包:poi.jar(操作excel);selenium.ja

使用jenkins + python + selenium一步步搭建web自动化测试“框架”(1) - 各部件简介

原先搭建过一个自动化测试框架,迷迷糊糊不求甚解,算是搭建了一个仅限于能用的.根本算不上框架的玩意儿. 现在回过头来好好看看究竟每一步是怎么联系起来的,是怎么运行起来的. 本次博客先说说各部件都是干什么的. 各部件简介: jenkins: 提到jenkins就不能不提持续集成.jenkins是一个持续集成方面很好很成熟的开源软件,jenkins本身又是一个java的开源项目,提供了很多功能丰富的插件. 那到底持续集成是个什么东西?整这么多专业名词一点都不接地气.说说我的白话理解: 先看看持续和集成