Welcome 微信登录

首页 / 软件开发 / 数据结构与算法

自动化测试学习(二) selenium IDE功能扩展

自动化测试学习(二) selenium IDE功能扩展

自动化测试学习(二) selenium IDE功能扩展2014-08-23通过上一节的学习,相信我们已经会selnium IDE的基本使用了,为了使selenium 更强大,其实selenium 还提供了良好的扩展能力。----//用户扩展用户扩展就是使用javaScript文件来创建定制化特性,添加新功能,通常情况下这种扩展就是定制化命令,但扩展并不仅限于命令。这里有一些列的扩展:http://wiki.openqa.org/display/SEL/Co...
自动化测试学习(三) selenium命令

自动化测试学习(三) selenium命令

自动化测试学习(三) selenium命令2014-08-23关于,selenium 命令这一部分,为了便于像我一样的菜鸟理解,我采用通过例子讲命令的方式。边学边总结吧!相互学习。呵呵。菜鸟Selenium 命令通常被称为selenese,有一系列运行测试案例所需的命令构成。----// Actions----// ActionsActions描述了用户所会作出的操作。 Action 有两种形式: action和actionAndWait, action会...
自动化测试学习(四) selenium命令之验证页面元素

自动化测试学习(四) selenium命令之验证页面元素

自动化测试学习(四) selenium命令之验证页面元素2014-08-23根据上一节计划,这里我们来学习一下如何验证页面元素。----//验证页面元素验证页面上的UI元素,是你在自动化测试案例过程中最常用到的特性。Selenese通过各种方式验证UI元素。举例,你是否正在测试一下情况:(1)一个UI元素存在于页面上某个位置;(2)特定文本存在于页面上某个位置;(3)特定文本存在于页面上指定位置;如果你要测试文本标题,那么文本内容和它所在的页面顶部位置,测...
自动化测试学习(六) selenium命令之文字范本匹配

自动化测试学习(六) selenium命令之文字范本匹配

自动化测试学习(六) selenium命令之文字范本匹配2014-08-23文字范本匹配=======================================文字范本匹配其实可以理解为通配符。我想大家都用过windows 系统自带的搜索功能。* 星号代表一个或多个字符。? 问号代表一个字符。范本也是经常被selenes命令使用的参数;范本允许你使用特殊字符来描述期望值,而不是准确的说明期望值。selenium中需要范本的命令包括:verifyTe...
自动化测试学习(七) selenium RC工作原理

自动化测试学习(七) selenium RC工作原理

自动化测试学习(七) selenium RC工作原理2014-08-23关于selenium RC环境搭建(基于java语言),我在系统的学习selenium之前就已经做了,并在我的这个系列的文章中可以找到。那是照着一位前辈的视频操作完成的,我详细的记录的操作步骤。在这里我们一起了解一下selenium RC的工作原理。简介那么之前学习的了selenium IDE与selenium命令,那么是不是我们用selenium IDE就可以完成我们的所有自动化测试...
自动化测试学习(八) 基于maven的selenium 2.0环境搭建

自动化测试学习(八) 基于maven的selenium 2.0环境搭建

自动化测试学习(八) 基于maven的selenium 2.0环境搭建2014-08-23之前我就讲过一种方试来搭建selenium rc 的环境搭建,那个文章是基于selenium RC 1.0的的方式,目前官网已经不提供1.0的下载了,我所提供的下载链接是CSDN上的。其实,如果大家熟悉maven的话,selenium RC将变成易常简单,当然,我的操作还是基于java语言阵营的。前提:你要有maven环境。关于maven环境的搭建,请参考本博客的关于...
如何设计一门编程语言(一) 什么是坑(a)

如何设计一门编程语言(一) 什么是坑(a)

如何设计一门编程语言(一) 什么是坑(a)2014-08-23这个系列的起因是这样的,王垠写了一篇喷go的博客http://www.yinwang.org/blog-cn/2013/04/24/go-language/,里面说go已经烂到无可救药了,已经懒得说了,所以让大家去看http://www.mindomo.com/view.htm?m=8cc4f95228f942f8886106d876d1b041,里面有详细的解释。然后这篇东西被发上了微博,很多...
如何设计一门编程语言(二) 什么是坑(b)

如何设计一门编程语言(二) 什么是坑(b)

如何设计一门编程语言(二) 什么是坑(b)2014-08-23我从来没有在别的语言的粉里面看见过这么容易展示人性丑陋一面的粉,就算是从十几年前开始的C++和C对喷,GC和非GC对喷,静态类型动态类型对喷的时候,甚至是云风出来喷C++黑得那么惊天动地的时候,都没有发生过这么脑残的事情。这种事情只发生在go语言的脑残粉的身上,这究竟代表什么呢?想学go语言的人最好小心一点了,学怎么用go没关系,go学成了因为受不了跳到别的语言去也没关系,就算是抖M很喜欢被折腾...
如何设计一门编程语言(三) 什么是坑(面向对象和异常处理)

如何设计一门编程语言(三) 什么是坑(面向对象和异常处理)

如何设计一门编程语言(三) 什么是坑(面向对象和异常处理)2014-08-23在所有的文字之前,我需要强调一下,我本人对structure typing持反对态度,所以就算文中的内容“看起来很像”go的interface,读者们也最好不要觉得我是在赞扬go的interface。我比较喜欢的是haskell和rust的那种手法。可惜rust跟go一样恨不得把所有的单词都缩成最短,结果代码写出来连可读性都没有了,单词都变成了符号。如果r...
如何设计一门编程语言(四) 什么是坑(操作模板)

如何设计一门编程语言(四) 什么是坑(操作模板)

如何设计一门编程语言(四) 什么是坑(操作模板)2014-08-23其实我在写这个系列的第三篇文章的时候就已经发现,距离机器越远,也就是抽象越高的概念,坑的数量是越少的。但是这并不是说,距离机器越近的概念就越强大或者说越接近本质。这是广大的程序员对计算理论的一种误解。大多数人理解编程的知识结构的时候,都是用还原论来理解的,这个方法其实并没有错。但问题在于,“还原”的方法并不是唯一的。很多人觉得,反正你多高级的语言编译完了无非都是机器...
如何设计一门编程语言(五) 面向对象和消息发送

如何设计一门编程语言(五) 面向对象和消息发送

如何设计一门编程语言(五) 面向对象和消息发送2014-08-23面向对象这个抽象的特例总是有说不完的话题,更糟糕的是很多语言都错误地实现了面向对象——class居然可以当一个变量类型什么的这只是让人们写代码写的更糟糕而已。当然这个话题第三篇文章已经说过了,现在来谈谈人们喜欢拿来装逼的另一个话题——消息发送。按照惯例先来点题外话。说到消息发送,有些人喜欢跳出来说,objective-c的消息做得多优雅啊,代码...
如何设计一门编程语言(六) exception和error code

如何设计一门编程语言(六) exception和error code

如何设计一门编程语言(六) exception和error code2014-08-23我一直以来对于exception的态度都是很明确的。首先exception是好的,否则就不会有绝大多数的语言都支持他了。其次,error code也没什么问题,只是需要一个前提——你的语言得跟Haskell一样有monad和comonad。你看Haskell就没有exception,大家也写的很开心。为什么呢?因为只要把返回带error code...
如何设计一门编程语言(七) 闭包、lambda和interface

如何设计一门编程语言(七) 闭包、lambda和interface

如何设计一门编程语言(七) 闭包、lambda和interface2014-08-23人们都很喜欢讨论闭包这个概念。其实这个概念对于写代码来讲一点用都没有,写代码只需要掌握好lambda表达式和class+interface的语义就行了。基本上只有在写编译器和虚拟机的时候才需要管什么是闭包。不过因为系列文章主题的缘故,在这里我就跟大家讲一下闭包是什么东西。在理解闭包之前,我们得先理解一些常见的argument passing和symbol resolvin...
如何设计一门编程语言(八) 异步编程和CPS变换

如何设计一门编程语言(八) 异步编程和CPS变换

如何设计一门编程语言(八) 异步编程和CPS变换2014-08-23关于这个话题,其实在(六)里面已经讨论了一半了。学过Haskell的都知道,这个世界上很多东西都可以用monad和comonad来把一些复杂的代码给抽象成简单的、一看就懂的形式。他们的区别,就像用js做一个复杂的带着几层循环的动画,直接写出来和用jquery的“回调”写出来的代码一样。前者能看不能用,后者能用不能看。那有没有什么又能用又能看的呢?我目前只能在Hask...
如何设计一门编程语言(九) 类型

如何设计一门编程语言(九) 类型

如何设计一门编程语言(九) 类型2014-08-23类型是了解编程语言的重要一环。就算是你喜欢动态类型语言,为了想实现一个靠谱的东西,那也必须了解类型。举个简单的例子,我们都知道+和-是对称的——当然这只是我们的愿望了,在javascript里面,"1"+2和"1"-2就不是一回事。这就是由于不了解类型的操作而犯下的一些滑稽的错误。什么,你觉得因为"1"的类型是string...
如何设计一门编程语言(十) 正则表达式与领域特定语言(DSL)

如何设计一门编程语言(十) 正则表达式与领域特定语言(DSL)

如何设计一门编程语言(十) 正则表达式与领域特定语言(DSL)2014-08-23几个月前就一直有博友关心DSL的问题,于是我想一想,我在gac.codeplex.com里面也创建了一些DSL,于是今天就来说一说这个事情。创建DSL恐怕是很多人第一次设计一门语言的经历,很少有人一开始上来就设计通用语言的。我自己第一次做这种事情是在高中写这个傻逼ARPG的时候了。当时做了一个超简单的脚本语言,长的就跟汇编差不多,虽然每一个指令都写成了调用函数的形态。虽然这个...
如何设计一门编程语言(十一) 删减语言的功能

如何设计一门编程语言(十一) 删减语言的功能

如何设计一门编程语言(十一) 删减语言的功能2014-08-23大家看到这个标题肯定会欢呼雀跃了,以为功能少的语言就容易学。其实完全不是这样的。功能少的语言如果还适用范围广,那所有的概念必定是正交的,最后就会变得跟数学一样。数学的概念很正交吧,正交的东西都特别抽象,一点都不直观的。不信?出门转左看Haskell,还有抽象代数。因此删减语言的功能是需要高超的技巧的,这跟大家想的,还有跟go那帮人想的,可以断定完全不一样。首先,我们要知道到底为什么需要删减功能...
GruntMate:基于Grunt的项目管理可视化工具

GruntMate:基于Grunt的项目管理可视化工具

GruntMate:基于Grunt的项目管理可视化工具2014-10-15 cnblogs FloydGruntMate是什么?一个基于Grunt的项目管理可视化工具(还不知道Grunt是什么?可以谷歌一下就知道了!)GruntMate有哪些功能?方便的管理基于Grunt的项目方便统一管理Grunt插件提供可视化启动、停止Grunt项目监听Gruntfile.js文件变化,自动重启Grunt任务基于Grunt的Compass项目管理生成uglifyjs的压...
<< 171 172 173 174 175 176 177 178 179 180 >>