刚开始接触selenium是进公司后,老大给我们培训了一下UI自动化(其实也不叫培训啦,就是让我们知道有这么个东西吧,我这么说,老大看到得打人了,哈哈)。要进行自动化测试,当然就得搭建一个自动化测试框架了,说到框架,好多是不是和我一样,心里嘀咕:我曹,框架是什么东东,那么高大上的名词,我一个纯手工,一个彻底的小白,怎么搞得定吗?然而,当我各种百度、浏览文档、博客后,原来搭建这个框架是多么的easy。

 
框架搭建:
看自己喜欢怎么分层,就是你自己喜欢怎么搞就怎么搞,但最终目的是要达到代码维护很容易。之前看的一份文档有一下几种方式:1.根据page来分层,单个页面元素进行封装;2.数据驱动方式;等
 
  我的分层:页面元素层、数据库层、数据库访问层、场景代码层
 
  框架搭建设计思想:1、分层思想实现代码维护简单;2.架包的导入(使用selenium需要两个架包:selenium-java-2.44.0.jar和selenium-server-standalone-2.48.2.jar。不同浏览器版本对应不同selenium架包版本,我目前尝试的火狐版本与selenium对应版本:火狐33.0->selenium2.44.0;火狐43.0->selenium2.53.0),selenium版本与浏览器版本不对应的话,脚本运行不起来。
  一开始调试脚本是通过JUnit进行调试,之后又用了一下testNG,但总是感觉不方便,于是在想,可不可以实现这种效果:我只需在页面上点击某个链接就实现后台代码的运行?当然,首先想到的是,利用web开发知识,但是感觉那样太麻烦了,还是得开发好多东西。下面fitnesse就登场了。
  接触fitnesse是老大写的自动化接口测试平台,作为小白的我们只能是看着wiki语言发呆,因为一点也搞不懂其中的运行原理,应该叫简单的脚本代码都看不懂,于是,懊恼的我又各种百度,找fitnesse资料,不幸的消息是,资料全都告诉我fitnesse是一个非常适合接口自动化测试的平台,心瞬间凉了。
  然后的然后就是看呀看呀,还是没头脑,之后就扔了,没看了。直到最近老大离职,发了封自动化测试平台管理邮件,又想起了fitnesse,然后就又各种百度fitnesse框架搭建,然后就一个意外,实现了一个链接调用后台代码,跑起来了。
  关于fitnesse其实很简单的,看看源码、原理就可以上手了,不过最好下载个框架看看,要不然其实摸不到头脑。
 
 

Java+selenium+Fitnesse的更多相关文章

  1. java selenium (五) 元素定位大全

    页面元素定位是自动化中最重要的事情, selenium Webdriver 提供了很多种元素定位的方法.  测试人员应该熟练掌握各种定位方法. 使用最简单,最稳定的定位方法. 阅读目录 自动化测试步骤 ...

  2. java+Selenium+TestNg搭建自动化测试架构(1)实现代码和数据的分离

    1.主要介绍介绍Java+Selenium+POM的自动化测试框架的搭建,第一个首先实现代码和账号URL等信息的分离.第二点支持跨浏览器,通过读取配置文件的方式实现. 1)将账号URL等信息添加在pr ...

  3. Electorn(桌面应用)自动化测试之Java+selenium实战例子

    基于electorn的桌面应用,网上相关资料较少.所有记录一下.使用java+selenium+testng对该类型应用的自动化测试方法. 代码样例 package com.contract.web. ...

  4. 【java+selenium】网易云音乐刷累计听歌数

    背景应该是在去年的时候,刷知乎看到一个问题,大概是说怎么刷网易云音乐个人累计听歌数,然后有一个高赞回答,贴了一段js代码,直接在浏览器console执行就可以了.当时试了下,直接一下子刷了有好几万.悲 ...

  5. java+selenium的helloworld

    在学校上测试课程,接触到自动化管理工具,在加上助教工作需要改作业,所以想着学下selenium这一强大的web自动化工具. 1.lenium官网:http://www.seleniumhq.org/  ...

  6. java+selenium自动化实践

    git+java+selenium+testng +maven+idea 1.git之代码维护(下载.分支切换.上传) 下载命令 "git clone git@github.com:Luna ...

  7. java selenium webdriver处理JS操作窗口滚动条

    未经作者允许,禁止转载!!! java selenium webdriver处理JS操作窗口滚动条 java selenium webdriver处理JS操作窗口滚动条 import org.open ...

  8. Java+Selenium 3.x 实现Web自动化 - 1.自动化准备

    (一)自动化准备 说明:本文主要记录了基于公司现有项目(一个电子商务平台),从0开始实现UI自动化的历程.从准备阶段,部分内容直接省略了基础知识,一切以最终做成自动化项目为目标,难免会有晦涩之处.文章 ...

  9. Java+selenium自动化测试基础

    Java+selenium maven配置 maven的配置,但还需要建立maven的本地库,修改apach-maven的setting.xml http://www.cnblogs.com/haoa ...

随机推荐

  1. Mybatis(六):spring与mybatis三种整合方法

    1.采用MapperScannerConfigurer,它将会查找类路径下的映射器并自动将它们创建成MapperFactoryBean. spring-mybatis.xml: <?xml ve ...

  2. JsonHelper修改4.0

    public class JsonHelper { /// <summary> /// 将对象序列化为JSON格式 /// </summary> /// <param n ...

  3. struts2设置非默认路径的struts.properties以及.properties文件解决方案

    一.web应用的classpath简介    classpath路径在每个J2ee项目中都会用到,即WEB-INF下面的classes目录,所有src目录下面的java.xml.properties等 ...

  4. Angular+Electron+VSCode的桌面应用

    Angular+Electron+VSCode的桌面应用 转自:http://blog.csdn.net/yr7942793/article/details/50986696 第一部分 Electro ...

  5. phpstrom直接运行和调试php

    最近想学服务器开发,但是没找到免费的虚拟主机,好在有一大把的php主机, 于是决定学php了,但并不准备学网页制作,只是把php作为服务器逻辑处理语言. 下载xampp,打开phpstrom的设置界面 ...

  6. const成员或者引用成员必须使用构造函数初始化列表的方式

    #include<iostream.h> class A { const int a; int b; }; void main() { A obja; }编译出现如下错误:error C2 ...

  7. ResourceBundle读取utf-8格式properties 中文乱码

    解决方法: ResourceBundle prop = ResourceBundle.getBundle("app");String defaultTunnelName = new ...

  8. C# linq查询 动态OrderBy

    groupList是原始数据集合,List<T> sortOrder是排序类型,desc 或者asc sortName是排序属性名称 1.使用反射. private static obje ...

  9. ES6学习笔记(1,let和const)

    在介绍let和const之前我们先复习一下相关的知识点. 关于函数作用域 开发过程中,在ES6(ECMA2015)标准推出之前,声明变量的方式一直都是var,而变量的作用域一般也只在函数内部,即函数作 ...

  10. 使用Javascript实现随机字符串

    方法一(其实是毫秒时间数字字符串): function randomString() { return '' + new Date().getTime(); } 方法二(随机字母数字字符串): var ...