- 博客(40)
- 收藏
- 关注
思考自动化测试--开始(一)
Edit思考自动化测试--开始(一)自动化测试的开始自动化测试,从一个大家陌生的概念,到现在越来越多的人在关注使用自动化测试。似乎自动化测试已经成了一个“高级"。但是其实很多人对自动化测试本身有很多误解,自动化测试不是银弹,不是瑞士军刀。自动化测试并不能代替测试本身。很多领导或者客户了解到自动化测试,就都会有用自动化测试覆盖测试的冲动。在这种冲动下,投入大量的人力财力,经常是无功...
2015-01-14 10:23:02 349
原创 用ruby做自动化测试--入门
也许很多让对ruby中的开源工具Watir,都有耳闻,也就是Ruby其实可以对Web的自动化测试有了很好的工具了。不过在做Web的自动化测试的时候,不知道有没有遇到过弹出窗口的问题,甚至有没有想过Ruby是否可以Window的应用进行一定的自动化测试呢?如果有很简单的思路,既然ruby可以调用Window的Com接口,那我们是不是可以利用Win32api的接口,做些事情呢?我也是在网上很多大...
2013-07-31 17:40:27 1358
原创 说说watir-webdriver那些事(十四)模拟键盘操作
一个web功能自动化测试工具应该具备三个基础属性:1.可以定位web的DOM元素,这个我在前面的定位已经讲过了2.可以执行js脚本,这个不仅是上一章说的执行js,还包括对控件的写js操作3.模拟键盘鼠标进行操作。 前两点,已经在前面都谈过了,下面讲讲第三点,模拟操作,首先说说模拟键盘操作: 键盘模拟如果用过Selenium的话,会知道神奇的send_keys几乎涵盖...
2012-03-15 14:11:13 283
原创 说说watir-webdriver那些事(十三)执行js命令
在很多时候,使用Watir-webdriver提供的方法,操作可能有些不方便,另外页面可能存在一些js代码,可以调用。所以很多情况,在执行自动化测试脚本的时候,也会编写一些js的脚本来执行,帮助自动化测试执行。执行js脚本只要调用execute_script命令即可。例如: require 'watir-webdriver'b=Watir::Browser.newb....
2012-03-12 14:57:10 189
原创 cucumber安装及入门
行为驱动的测试,如果说你还不了解这个概念,那你应该先去网上查查,如果你知道行为驱动的测试,那么我们将讲讲这个cucumber的工具,一个用于行为测试的工具。先说安装:1.安装ruby,这个不细说了,网上找能找出一大堆来。2.之后下载DevKit-tdm-32-4.5.1-20101214-1400-sfx.exe,解压3.之后安装Devkit,命令如下:...
2012-03-08 18:56:29 829
原创 说说watir-webdriver那些事(十二)table的处理
Table是经常遇到的一个数据展示组件,我们在做自动化测试的时候免不了跟他打交道。这里我们简单说一下如何处理Table这样的组件。首先还是举个例子, <html> <head> <title>Table</title> <style> table {...
2012-03-07 20:26:30 164
原创 说说watir-webdriver那些事(十一)下拉框处理
在网上看watir-webdriver,有人说Select框的中文无法进行选择,我自己试了一下现在的新版本0.5.3,是可以的,不用再打什么补丁了,简单的试了一下,下面是测试用的html <html><head><title>select</title></head><body> <...
2012-03-07 11:19:06 136
原创 说说watir-webdriver那些事(十)Cookie处理
Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入jsessionid,这样服务器可以知道该用户是否合法用户以及是否需要...
2012-03-06 18:32:13 162
原创 说说watir-webdriver那些事(九)屏幕抓图
一般自动化测试的时候,总会用到抓图,把测试当时的结果保存下来,watir-webdriver使用的是它底层的Selenium-webdriver就有的截屏工具,非常好用,具体代码如下: browser.driver.save_screenshot 'screenshot.png' 记住,他的截屏非常强大,一般页面太长只能截一屏,然后屏幕外的需要使用滚动条,现在你使用...
2012-03-06 18:13:10 121
原创 说说watir-webdriver那些事(八)使用Page Object模式
Page Object这种模式来组织自动化测试脚本应该说是目前比较流行的方式,这种模式有助于提高脚本的可维护性和健壮性。简单地说把,就是把页面对象和操作步骤按照Page为单位组织。举个例子吧,之前我们的脚本都是这样写的: browser = Watir::Browser.newbrowser.goto "http://example.com/login"browser.text...
2012-03-06 17:42:30 117
原创 说说watir-webdriver那些事(七)如何处理JS弹出窗口
首先举个例子,html的js弹出窗口的代码如下:<html> <head><title>Popup Window</title></head> <body> <input id = "btn" value = "click" type = &q
2012-03-06 17:00:00 200
原创 说说watir-webdriver那些事(六)如何处理弹出窗口
在实际的测试过程中,所有的业务操作不会在一个页面内完成,经常会做的工作就是弹出一个新的窗口,想新的窗口中进行操作,虽然目前很多比较流畅的页面设计都尽量避免使用这种方式,不过弹出窗口还是存在于很多web应用中。一般弹出窗口有这么四类:使用window.open的js命令弹出一个新的浏览器,这种方式遇到的比较少,因为实在不美观;有一种叫做模态窗口,这个相当于页面在子窗口,子窗口不关闭,主窗...
2012-03-06 16:25:04 189
原创 说说watir-webdriver那些事(五)如何进行等待
Watir会等待页面load完毕,才能进行下面的操作,所以不需要等待页面加载完毕。这里所说的等待,是指在Web页面中,经常碰到的Ajax异步加载。这种加载,会在你进行一个操作后,对后台进行交互,而这种交互不会占用前台的等待,你可以进行其他任何在这个页面的其他操作,交互完毕后,可能会弹出窗口,可能会弹出控件,也可能一个控件消失。我们要做的就是等待这种过程的结束,之后进行测试案例下面的操作。等待的方法...
2012-03-04 22:36:35 158
原创 说说watir-webdriver那些事(三)如何定位页面元素
功能自动化测试做的就是,找到页面的控件元素,然后操作这些控件,完成模拟人工的测试操作。所以开头肯定是要定位到页面上的元素。watir-webdriver提供了多方方法,帮助我们定位Web页面上的元素。 常用的定位方法如下: :id => 'id',:name => 'name',:class ...
2012-03-03 22:31:48 191
原创 说说watir-webdriver那些事(四)定位frames
frame一直是一个让自动化测试工程师极其头疼的问题,尤其是watir针对iframe总是有些奇怪的问题,并且针对那些不太明白html的人来说,frame也确实比较难以理解。我简单说明一下,frame简单的说就是在一个页面里可以套用其他的页面,但是可能我们在看页面的时候没有什么感觉,基本看不出来。但是在做自动化测试的时候,就一定要关注Frame,比方说页面里面有个frame,在这个frame...
2012-03-03 20:03:22 154
原创 说说watir-webdriver那些事(二)一些简单的操作
一般上手自动化测试的人都喜欢立竿见影的看到一些成效,这里也简单的简单介绍一下基本的操作,非常具体的使用方法,还是要通过查询API来获取。 打开浏览器 如果知道Selenum webdriver(watir-webdriver使用的就是selenium的webdriver)机制的人应该明白,webdriver使用的是在启动页面的时候,将js注入到页面,通过js来控制页面的控件来...
2012-03-03 16:15:02 218
原创 说说watir-webdriver那些事(一)开始
selenium的webdriver可以说是,自动化测试中别具一格的东西,在开源的自动化测试工具中可谓的独霸一方啊,有的时候很佩服发明这个东西的那三个家伙,真实奇思妙想,而且还聪明异常。不过于此同时,ruby中的watir也是风头很盛,ruby语言的优美,加上watir对自动化测试的实现,也可以说相当不错。之后出现的watir-webdriver就是讲watir的语法引进,使用webdriver来...
2012-03-03 15:42:34 151
原创 SilkTest那些事儿_第一章 ST的HelloWord_做校验3
前面两节已经让我们打开了ST的大门了,进门后我们首先来看看校验怎么完善。这个有过开发经验的人,尤其是使用过junit ,nunit的童鞋们,都对断言记忆犹新,而我们第二节使用的的是 [-] if(计算器.结果.GetText() == "10. ") [ ] print("好吧,你算对了,算你狠.") [-] else [ ] print("算错了吧,还得瑟不.计算器...
2011-06-10 18:13:35 116
原创 SilkTest那些事儿_第一章 ST的HelloWord_写脚本2
录制回放了吧,这个是自动化测试的最基本的招数,但是只会这样是远远不够的,很多情况下我们发现录制下来的东东怎么就不能给力的执行啊怎么改啊?如果我想在执行中增加一些逻辑怎么办?很多很多增强的功能例如数据驱动了,查询数据库了怎么搞啊?总之一句话,不弄弄脚本,就会被脚本折磨。要不你早点控制他,要不让他一直折磨你。好吧好吧,迈出第一步,咱先改改上次录制的脚本,看看我们能做些什么。 首先,GUI这个东...
2011-06-06 22:43:39 128
原创 SilkTest那些事儿_第一章 ST的HelloWord_录制回放1
但凡程序员学习一门新语言,他要干的就是打出一个Hello World来。甚至某位程序员联系书法,展开宣纸,磨好墨,tian四声(此字不会写啊)好笔,大笔一挥,就是Hello World。本人这里,就用Hello World来代替入门的意思。带着大家一起快速入门silktest。一般将自动化测试工具入门必从录制回放开始,一般还都选择计算器,咱也别找那个例外了,来个痛快的,速速开始。录制...
2011-06-02 23:13:07 170
原创 SilkTest那些事儿(引言)
开篇总是要介绍一下我要讲的是什么东西,一般这个时候会长篇阔论这个东西好还是不好,至少要有个总体评述吧。本人也本着遵循惯例的原则,简单说明一下SilkTest。对于了若指掌的朋友们,可以翻页看后面的内容了。 咱们先说明一下SilkTest出身,先把正身严明了,才能继续下去。最初人家的父亲是Segue Software公司,用于企业级的功能自动化测试工具,注意企业级,这个词大了,但凡工具...
2011-06-02 21:52:55 113
原创 rails :layout 详解(转载)
一般来说layout有如下五种:gobal layout,controller layout,shared layout,dynamic layout,action layout假设我们有一个views/projects/index.rhtml页面:代码 1. <h2>Projects</h2> 2. <ul> ...
2011-03-01 14:43:21 135
原创 ruby中的autoload(转载)
http://hooopo.iteye.com/blog/604975autoload可以加载(注册)任何模块的类或常量,不能有::操作符的...特别广泛应用在如下代码结构:Ruby代码 #rack.rb #这样的文件结构ruby源码里随处可见 module Rack autoload :B...
2011-02-22 10:53:58 390
原创 Ruby 面向对象编程的一些高级应用
1.send的用法 在RUBY中可以在运行时,来决定那个对象被调用,send方法就是做这个的,他接受一个symbol变量为参数。 首先来个非常非常的简单的例子: class Foo def foo "aa" endendputs Foo.new.__send__(:foo) 当然也可以使用send方法,不过为了和可能出现...
2011-01-27 15:30:25 600
原创 为什么要用GUI?
(gui是什么?不想说了,查查吧。似乎对于做自动化测试的人来说,已经很习以为常了。)最近在写开源的自动化测试的框架,对比商用的自动化测试框架,有一个很有趣的现象。商用工具在开始的时候都不约而同的定义的了GUI这种东西,把页面对象抽离出来。而开源有不一而同的,讲对页面对象的定义写到执行的语句中,动态识别。到底哪个更好,哪个更灵活呢?我想很多时候分析两个哪个好的时候,都是将两个对比物,...
2010-11-29 21:13:13 328
原创 如何写判断语句
一说到判断,大家一定会想if-else呗,这个有啥的。可就是我们经常用的if-else给我们的程序带来了,繁琐的结构,晦涩的代码,凌乱的组织。我经常看到,完全看不懂的判断,在哪里疯狂猜测,这个是要干什么,有的时候甚至我要找到我需要调试的的一个分支,需要用去好长时间。到底判断语句怎么了,我想通过一个例子讨论一下判断怎么写才好: 判断应该是在程序中经常使用的,分支交交叉叉,当条件复杂,情况凌乱...
2010-11-25 10:55:53 339
原创 javafx web数据交换
http://download-llnw.oracle.com/javafx/1.2/tutorials/javafx-javascript/index.html
2010-08-25 15:42:21 145
原创 [转载]编码的解决
http://www.blogjava.net/nokiaguy/archive/2008/07/19/216024.html 哈佛校训此刻打盹,你将做梦;而此刻学习,你将圆梦。 Java编码问题解决方案大揭密 本文为原创,如需转载,请注明作者和出处,谢谢!<!-- [if gte mso 9]...
2010-08-25 15:34:15 224
原创 ROR_find查询
ROR里的查找主要使用find命令:先贴一段API find(*args) Find operates with four different retrieval approaches:Find by id - This can either be a specificid (1), a list of ids (1, 5, 6...
2010-08-10 15:27:16 83
让dreampie来调试django
在写django的时候,发现调试并不方便,找了许多方法,总结一下在dreampie下调试还是不错的,下面说一下方法。 首先如果你的django里面表数据使用了中文,O(∩_∩)O~,可能dreampie会在中文报错。解决方法:打开C:\Program Files\DreamPie\share\dreampie 下的subp-py2.zip\dreampielib\subproces...
2010-03-16 16:28:43 114
原创 自动化测试中的验证码处理方法小总结
自动化测试中的验证码处理方法小总结目前,不少网站在用户登录、用户提交信息等登录和输入的页面上使用了验证码技术。验证码技术可以有效防止恶意用户对网站的滥用,使得网站可以有效避免用户信息失窃、广告SPAM等问题。但与此同时,验证码技术的使用却使得WEB自动化测试面临了较大的困难。验证码一般应用在WEB系统涉及登录和输入的页面上,其实现的一般方法是在页面上显示一幅图片,要求用户肉眼识别图片中的信...
2010-01-06 16:49:04 297
原创 JDBC基础教程之ResultSet对象
ResultSet 包含符合 SQL 语句中条件的所有行,并且它通过一套 get 方法(这些 get 方法可以访问当前行中的不同列)提供了对这些行中数据的访问。ResultSet.next 方法用于移动到 ResultSet 中的下一行,使下一行成为当前行。结果集一般是一个表,其中有查询所返回的列标题及相应的值。例如,如果查询为 SELECT a, b, c FROM Table1,则结果集...
2009-12-28 11:34:32 165
JMock简单入门
先说说JMock是用来干什么的,我觉得最简单的说,他就是用来模拟一个类,即使这个类根本没有实现。这个跟他的名字就比较像了。举个例子吧,有一个Subscripter的类,他没有实现只有接口,我们有一个Publisher的类,这个类的测试,要用到这个传说中的Subscripter类,这个时候在没有实现,或者想减少测试干扰的时候,我们可以模拟Subscripter这个类。废话少说,实现这个例子吧:...
2009-11-06 15:01:42 196
junit实例
Tutorial 1 This tutorial introduces the basic annotation supports that implemented in Junit 4.123456789101112131415161718192021222324252...
2009-11-05 21:20:42 90
原创 自动化测试相关的网站
以下自动化测试技术相关的网站,是本人日常查阅资料收集。拿出来跟大家分享,请大家继续反馈,我把它添加到列表中。类别名称网址国内综合性测试网站无忧测试http://www.51testing.com/测试时代http://www.testage.net/中国软件测试...
2009-11-04 10:40:02 329
使用selenium进行web测试项目框架
最近看了一下selenium如果要把这个用于自动化测试,需要进行整理,形成一个框架,我也对Google搜索这样简单的功能做了一些尝试,形成了一个简单的框架,简单的说应该有四层:第一层应该是UIObject这个对象层,主要是用来封装对象的操作方法,例如:[code="java"]public class TextFieldUIObject extends UIObject { /**...
2009-11-03 21:24:02 87
selenium RC 入门
selenium 是 openQA的一个用于Web应用程序测试的不错的开源工具。它是通过javascrīpt来驱动测试的,真实在浏览器中运行测试,更接近用户的实际操作。它定位方式很灵活,可以直接用标签 ID,link等,当然最为灵活并可靠的就是通过xpath 来定位,能过xpath几乎没有不可定位的元素。此外它支持各类主流浏览器IE,firefox,safari,而且是同一个脚本就可搞定,...
2009-11-03 18:01:48 95
vugen代理的设置方法
如果使用vugen运行的话最好在设置里里面,填写代理及用户名密码否则可以使用如下代码:web_set_proxy("proxy.xxxxx.com:8080"); //这里使用代理web_set_user("xxxxxxxx","xxxxxxxx","proxy.xxxxx.com:8080"); //这里设置代理的用户名和密码 //然后直接连接we...
2009-11-03 14:05:01 157
原创 如何使用webqq(prism)
先安装 prism代码:sudo apt-get install prism然后运行它在主菜单中网络(internet)里面找到 prism在提示窗口中就输入URL: http://web.qq.com/Name:WebQQ下面选中: desktop(也就是创建个桌面快件方式)然后确定,就样就可以直接运行 QQ了下面直接桌面上双击WebQ...
2009-10-20 11:02:00 121
winff的安装
winff是在ubuntu利用ff一个比较好的视频转化工具。安装步骤如下:1.sudo apt-get install winff2.sudo apt-get install libavcodec-unstripped-52我在ubuntu 9.04上安装,可以使用。...
2009-10-19 17:34:15 252
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人