对于测试工程师新手来说,最痛苦的莫过于入门,其实只要入门3个月左右,对于自动化测试,所有的测试工程师除了喜爱,就是更爱.自动化测试工作,是从根本上解放人性,不用重复去完成鼠标的点点点,例如以下测试常常要手工完成的功能模块: 1. 注册(测试点: 手机注册,邮箱注册,用户名注册,然后是个人注册,企业注册的各种角色注册,之后是注册失败,失败信息验证...) 2. 登录 3. 商品&商品配置 4. 购物车 5. 下单 6. 支付 其中要整个网站跑一遍,再熟悉业务的测试同学也要花费4-8个小时,不吃不喝…
一.先来看一个小DEMO 通过上一篇博文<Web自动化测试框架Watir(基于Ruby) - 第1章 Windows下安装与部署>的介绍,我们已经有了完整Watir运行环境,现在我们可以来试用一下Watir,来对其进一步了解: 图1-1 测试脚本:测试百度搜索 我们现在使用Watir来实现一个“百度搜索框测试”的自动测试, 代码如下: #encoding: utf-8 #测试百度搜索 require 'watir' puts "打开浏览器" browser = Watir:…
大年初一,楼主在这里给大家拜年,祝大家码上升职加薪,码上有对象结婚,码上有车有房,幸福安康. 过完年,回学校注册报道之后,大概就要回深圳到公司开始实习了.提高自己,无非就有两种方式,一是看书学习,二是实践体悟.起码有两个月没怎么看过专业书和写过代码了,现在趁过年这段时间赶紧看看书,给自己充充电. 为什么要学习设计模式 在学校里面学习一些基础编程课程之后,例如掌握一门编程语言,以及学习算法与数据结构,难道我们就掌握了编程的全部了么?当然不是,如果我们只是满足于写出所谓正确的代码,输入变量,得出结果…
1.简介 多线程技术属于操作系统范围内的知识: 进程与线程 可以这么理解,一个应用程序就是一个进程,在一个进程中包含至少一个线程:进程就是线程的容器,真正工作.处理任务的是线程. 进程是操作系统分配资源的基本单位:线程是操作系统进行调度,时间分配的基本单位: 进程由内核对象和地址空间两部分构成,内核对象就是一小块记录进程信息的内存,只允许操作系统访问:地址空间就是存放数据和程序的空间: 2.多线程运行机制 对于单个CPU,在每个时间点只能只能执行一个线程,多线程的实现是基于对时间片的轮回机制的,…
JFinal概述 JFinal 是基于Java 语言的极速 web 开发框架,其核心设计目标是开发迅速.代码量少.学习简单.功能强大.轻量级.易扩展.Restful.在拥有Java语言所有优势的同时再拥有ruby.python等动态语言的开发效率.JFinal发展概况 JFinal 项目开发始于2011年初,作者詹波(James Zhan)曾任搜格信息技术有限公司Java架构师,北京信息管理科学研究所CTO,现任微格网际(北京)科技有限公司联合创始人.网校网CTO.项目开源于2012年3月18日…
很多技术开发人员喜欢追逐最新的技术,如Node.js, go等语言,这些语言只是解决了某一个方面,如只是擅长异步高并发等等,却在企业管理后台开发方面提供的支持非常不够,造成项目团队技术选项失败,开发后期进退两难,内部怨天尤人,情绪低落,项目失败不可避免. 而java语言是开发部标平台技术的非常理想的开发语言,因为他非常全面,各个方面的底层框架都有具备,高性能的socket通信框架比如netty.mina, 可以帮助你构建高并发大规模的Gps服务器,接入十几万的海量终端,之所以说全面,是因为我们不…
测试框架有很多,比如常用的 UI自动化测试框架 ①.java+selenium/appium+testNG/Junit+Maven/Ant/Gradle+Jenkins+MySQL+testlink/redmine ②.python+selenium/appium+unittest/pytest+Git+Jenkins+MySQL+testlink/redmine ③.python+rebot framework+unittest/pytest+Git+Jenkins+MySQL+testlin…
根据近几年前端框架的热门,在前端开发框架不断更新与交换的时代,每一年都有黑马出现,是否适合自己开发的项目就不得而知了,只有认真的了解之后才能知道,这里主要给大家说一下如何选择适合旅游的前端UI框架?相信这是很多网友期待的内容. 每当在新项目开始的时候,总会要面对一个问题,就是对前端框架的选用问题,是选用框架,还是不用,如果用了,大家都选用什么框架?再就是如果选用了框架,发现需要多引入很多额外的样式和脚本文件,会增加项目的质量,使项目变的笨重,同时还要多写很多的样式文件来来覆盖框架中给定的样式,或…
一.前言 Web自动化测试一直是一个比较迫切的问题,对于现在web开发的敏捷开发,却没有相对应的敏捷测试,故开此主题,一边研究,一边将Web自动化测试应用于工作中,进而形成能够独立成章的博文,希望能够为国内web自动化测试的发展做一点绵薄的贡献吧,笑~ 二.Watir搭建流程 图1-1 需要安装的工具 下载地址:http://railsinstaller.org/ 因为安装Ruby还需要用到其他的一些开发工具集,所以建议从网站http://railsinstaller.org/下载,而且使用该安…
实现效果:执行脚本后启动Firefox浏览器后进入百度主页,输入“Selenium”后,单击搜索按钮,最后关闭浏览器的过程(默认安装了Firefox浏览器),如下图所示: 脚本内容如下: # -*- coding:UTF-8 -*- from selenium import webdriver driver=webdriver.Fire() driver.get("https://baidu.com") driver.find_element_by_id("kw")…
目录一.基本语句1.循环控制(break,continue)3.字符的替换(replace,repalceFirst,replaceAll,regex)4.字符串的连接("+",append)5.字符串的截取和分割(substring,split)6.文件夹的创建与删除(mkdirs,delete)7.文件的读写(BufferedWrite,BufferedReader)8.系统时间的获取( ((Calendar.getInstance()).get(Calendar.YEAR) )9…
目录一.基本语句 1.循环控制(break,continue) 3.字符的替换(replace,repalceFirst,replaceAll,regex) 4.字符串的连接("+",append) 5.字符串的截取和分割(substring,split) 6.文件夹的创建与删除(mkdirs,delete) 7.文件的读写(BufferedWrite,BufferedReader) 8.系统时间的获取( ((Calendar.getInstance()).get(Calendar.Y…
文章提纲 全书总评 读书笔记 C1.初识神经网络 C2.神经网络是如何学习的 C3.有监督学习(运用感知机) C4.无监督学习(自组织映射) Rreferences(参考文献) 全书总评 书本印刷质量:5星.纸张很白,印刷清楚,文字排版合适,基本没有排版过程中引入的错误,阅读不累眼睛. 著作编写质量:3星.入门书,看完后可能会对神经网络有个基本概念,但是也可能就只有个基本概念.基本概念描述还是清楚的,还给出了比较好的参考资料.几个例子讲的很浅,好处就是提供了代码,如果有开发方向的需要可以参考.深…
最近使用eclipse进行自动化测试时,遇到一种情况,无法调起浏览器,且有报错,如下: org.openqa.selenium.WebDriverException: failed to lookup address information: nodename nor servname provided, or not known Build info: version: '3.6.0', revision: '6fbf3ec767', time: '2017-09-27T15:28:36.4Z…
1 概述 1.1 计算机 计算机包括硬件和软件两部分.硬件包括计算机中可以看得见的物理部分.软件提供看不见的指令.这些指令控制硬件并且使得硬件完成特定的任务. 1.2 程序设计 定义:创建(或开发软件).软件包含了指令,告诉计算机做什么. 应用场景:软件遍布我们周围.除了个人计算机,飞机.汽车.手机甚至烤面包机中,同样运行着软件. 1.3 程序设计语言 软件开发人员在程序设计语言的强大工具的帮助下制作软件. 1.4 如何选择学习那种编程语言? 程序设计语言有很多种,每种语言都是为了实现某个特定的…
今天是农历2014年的最后一个工作日了,在这里提前祝大家新年快乐.羊年大吉!当然本人今天也拿出来点儿真东西,做为献给大家的新年礼物,依次共勉. 下文主要讲述的是使用Java代码来完成对cube基于部门维度创建custom view,实现角色级别的权限控制 第一部分:通用数据库设计 1:事实表(订单分析)--存放departkey关联部门 2:维度表(部门) 3:赋权表 role_id以及对应的role_name,来源于cognos cjap认证中的角色表depart_id以及对应的depart_…
public static void main(String[] args) { //获取复制开始前系统时间毫秒值 long start=System.currentTimeMillis(); //文件复制,先设置源文件位置和目标文件位置 File sourceFile=new File("D:/HAO/movie.mp4"); File descFile=new File("D:/HAO1/movie.mp4"); //读取流 BufferedInputStrea…
public class CircleSinglyLinkList { private Node head; CircleSinglyLinkList(){ this.head = null; } CircleSinglyLinkList(Node head){ this.head = head; } //向表头插入一个值为x的结点 public void insertHead(int x){ Node newNode = new Node(x); if(this.head == null){…
TestNG是什么? TestNG按照官方的定义: TestNG是一个测试框架,其灵感来自JUnit和NUnit,但引入了一些新的功能,使其功能更强大,使用更方便. TestNG是一个开源自动化测试框架;TestNG表示下一代(Next Generation的首字母). TestNG类似于JUnit(特别是JUnit 4),但它不是JUnit框架的扩展.它的灵感来源于JUnit.它的目的是优于JUnit,尤其是在用于测试集成多类时. TestNG的创始人是Cedric Beust(塞德里克·博伊…
自动化测试框架搭建 1 Java环境的搭建 1.1访问oracle的官网下载最新版本的jdk http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html 进去后选择电脑配置对应版本的JDK版本. 下载成功以后直接下一步,安装默认的路径.这里注意:安装的过程中会提示一个JRE的安装路径,需要注意一下,一个是运行环境(JRE),一个是编译的环境,JDK中默认会有JRE. 1.2配置环境变量  打开电脑中的…
自动化测试基础 一. 软件测试分类 1.1 根据项目流程阶段划分软件测试 1.1.1 单元测试 单元测试(或模块测试)是对程序中的单个子程序或具有独立功能的代码段进行测试的过程. 1.1.2 集成测试 集成测试是在单元测试的基础上,先通过单元模块组装成系统或子系统,再进行测试.重点是检查模块之间的接口是否正确. 1.1.3 系统测试 系统测试是针对整个产品系统进行的测试,验证系统是否满足需求规格的定义,以及软件系统的正确性和性能等是否满足其需求规格的要求. 1.1.4 验收测试 验收测试是部署软…
TestNG是一个开源自动化测试框架; TestNG是类似于JUnit,但它不是一个JUnit扩展.它的灵感来源于JUnit.它的目的是优于JUnit的,尤其是当测试集成的类. TestNG消除了大部分的旧框架的限制,使开发人员能够编写更加灵活和强大的测试. 因为它在很大程度上借鉴了Java注解(JDK5.0引入的)来定义的测试,它也可以告诉你如何使用这个新功能在真实的Java语言生产环境中.一般开发使用的是JUnit做单元测试,而测试一般都是勇士TestNG. 首先,就是下载相关jar包(te…
自动化测试框架搭建 1 Java环境的搭建 1.1访问oracle的官网下载最新版本的jdk http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html 进去后选择电脑配置对应版本的JDK版本. 下载成功以后直接下一步,安装默认的路径.这里注意:安装的过程中会提示一个JRE的安装路径,需要注意一下,一个是运行环境(JRE),一个是编译的环境,JDK中默认会有JRE. 1.2配置环境变量  打开电脑中的…
1.Native App自动化测试及Appuim框架介绍 android平台提供了一个基于java语言的测试框架uiautomator,它一个测试的Java库,包含了创建UI测试的各种API和执行自动化测试的引擎.如果想使用uiautomator去做App自动化测试的话,需要去学习java语言,本文分享的主题是基于python的,那么如何使用python来控制App呢?就需要借助本文将要讲到的框架appium.见下图,用python脚本去控制appium,appium再控制uiautomator…
reudom Automated testing framework based on requests and unittest interface. 基于 Unittest 和 Requests 的 接口自动化测试框架 介绍 基于Unittest/Requests的接口自动化测试库 提供脚手架,快速生成接口自动化测试项目. 自动生成HTML测试报告. 支持用例参数化. 支持用例失败重跑 对原生Requests库API无损 目录架构 myreudom/ ├── test_case/ │ ├──…
整理了一些Java方面的架构.面试资料(微服务.集群.分布式.中间件等),有需要的小伙伴可以关注公众号[程序员内点事],无套路自行领取 写在前边 用单元测试Junit完全可以满足日常开发自测,为什么还要学习TestNG,都影响了我的开发进度! 最近技术部老大突然宣布:全体开发人员必须熟练掌握自动化测试框架TestNG,就有了上边同事们的抱怨,是的,开始我也在抱怨,因为并不知道它是个什么东东,但从开始接触到慢慢编写测试用例,应用到项目后,我发现它真的超实用. 我们来一起看看它比Junit好在哪?…
1.Monkeyrunner:优点:操作最为简单,可以录制测试脚本,可视化操作:缺点:主要生成坐标的自动化操作,移植性不强,功能最为局限:2.Rubotium:主要针对某一个APK进行自动化测试,APK可以有源码,也可以没有源码,功能强大:缺点是针对APK操作,而且需要对APK重新签名(有工具),因此操作相对复杂:3.UiAutomator:优点:可以对所有操作进行自动化,操作简单:缺点:Android版本需要高于4.0,无法根据控件ID操作,相对来说功能较为局限,但也够用了:4.Monkey:…
一.什么是WebZ WebZ是我用Python写的“关键字驱动”的自动化测试框架,基于WebDriver. 设计该框架的初衷是:用自动化测试让测试人员从一些简单却重复的测试中解放出来.之所以用“关键字驱动”模式是因为我觉得这样能让测试人员(测试执行人员)快速上手,无需编写代码也能执行自动化测试. 二.为啥开源 WebZ的开发用到了一些现有的开源项目,我很感谢这些开源项目的作者,希望自己也能成为一名开源者,和大家分享自己的成果,一起交流技术.一起成长. 该项目的GitHub地址:https://g…
自己折腾了一个python的自动化测试框架,梳理了一下流程,简单分享一下. 项目背景 B/S架构,进行用户界面的自动化测试 工具选择 python开发的自动化测试框架,足够灵活,可以随时根据需求进行变更,易于维护 框架思路(unittest) 采用数据驱动的设计,将数据分层出来,与业务逻辑剥离,测试人员专注测试用例,不用关注代码,提高了测试效率 测试框架介绍 测试工程的结构如下: Data目录 存放涉及业务的资源,例如上传图片场景的图片资源 Driver目录 存放浏览器驱动文件 Excel目录…
目标 组内任何人都可以进行自动化测试用例的编写 完全分离测试用例和自动化测试代码,就像写手工测试用例一下,编写excel格式的测试用例,包括步骤.检查点,然后执行自动化工程,即可执行功能自动化测试用例,包括测试结果.测试报告. 任何一台安装了JDK环境的windows机器都可以直接运行,不必考虑运行环境的问题. 整理了一下目前使用的自动化测试框架,基于Selenium WebDriver + python,关键字驱动,简单总结一下. 自动化工程: driver 目录            ---…