哪种语言更适合初学者的编程语言自动化测试编程

初学自动化测试工具Selenium
来源:open开发经验库
前言 
Selenium是一个用于Web应用程序测试的工具,测试直接运行在浏览器中,就像真正的用户在操作一样。因此使用Selenium则可以实现模拟真实用户测试web应用程序。 
如何使用 
从上面可以看到Selenium是用来测试web应用程序的,那么自然离不开浏览器。那么下面看看使用的步骤: 
选择浏览器
对于IE浏览器和Chrome浏览器都需要下载driver。由于墙过于坚实,此处可提供chromedriver的一个 
firefox只需指定firefox.exe的路径 
添加maven依赖组件 
&dependency&
&groupId&org.seleniumhq.selenium&/groupId&
&artifactId&selenium-java&/artifactId&
&version&2.42.2&/version&
&/dependency&
&dependency&
&groupId&org.seleniumhq.selenium&/groupId&
&artifactId&selenium-chrome-driver&/artifactId&
&version&2.42.2&/version&
&/dependency&
&dependency&
&groupId&junit&/groupId&
&artifactId&junit&/artifactId&
&version&4.11&/version&
&/dependency& 当然本文是以选择Chrome浏览器为例,如果你选择其他浏览器的话则需要添加其他浏览器的driver 包,例如selenium-firefox-driver 和selenium-ie-driver 
创建一个用例 
此处用Unit Test作为启动selenium的程序,同时也表示一个case。 
对于Chrome浏览器在执行case之前必须指定chromedriver.exe的路径 
System.setProperty("webdriver.chrome.driver", "D:\\tool\\chromedriver.exe"); 
创建一个case 
创建WebDriver实例 
WebDriver webDriver = new WebDriver();
指定url地址 
webDriver.get("");
为了防止程序启动浏览器时响应超时,设置请求超时时间,此处以秒为单位 
WebDriverWait wait = new WebDriverWait(webDriver, 5); 接下来就可以调用webdriver里的findElement方法选择页面元素了,个人觉的这个方法跟js里的document.getElementBy方法很相似。唯一的区别是需要给与传的参数为特定的类By对象,例如: 
//通过文字查找元素,并触发单击事件
webDriver.findElement(By.linkText("Sign in")).click();
//通过元素name查找元素并填充数据
webDriver.findElement(By.name("username")).sendKeys("harry.");
webDriver.findElement(By.name("password")).sendKeys("");
//通过Id查找元素
webDriver.findElement(By.id("login")).click();
//通过class属性值查找元素
webDriver.findElement(By.className("glyphicon-log-out")).click(); 当然也可以通过webDriver.findElements查询多个元素,此处不再一一列举,关于webdriver的方法可查看源码。 
Demo示例 
可访问 
免责声明:本站部分内容、图片、文字、视频等来自于互联网,仅供大家学习与交流。相关内容如涉嫌侵犯您的知识产权或其他合法权益,请向本站发送有效通知,我们会及时处理。反馈邮箱&&&&。
学生服务号
在线咨询,奖学金返现,名师点评,等你来互动> 自动化测试脚本都用什么语言写?该如何解决
自动化测试脚本都用什么语言写?该如何解决
pldq_1234 & &
发布时间: & &
浏览:6 & &
回复:3 & &
悬赏:0.0希赛币
自动化测试脚本都用什么语言写?本帖最后由 liudongyue1987 于
15:08:58 编辑
初入测试之门
自动化测试脚本用什么语言写最好
什么语言在自动化测试脚本中最流行?
javascript可以写不?
希望能说的详细点,谢谢!
自动化测试用软件吧,应该和javascript无关的。
PS:我猜的,没有详细学过测试PlebsKang & &
13:30:56 & &
& & (0)(0)引用用C++和VB6結合來寫PlebsKang & &
13:30:56 & &
& & (0)(0)引用那如果学习自动化测试的话&还得先学习C++和VB6??plepeo & &
13:30:56 & &
& & (0)(0)引用
本问题标题:
本问题地址:
温馨提示:本问答中心的任何言论仅代表发言者个人的观点,与希赛网立场无关。请对您的言论负责,遵守中华人民共和国有关法律、法规。如果您的言论违反希赛网问答中心的规则,将会被删除。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&想要成为一个优秀的软件测试人员,应该学些什么?
自动化测试方向的
楼上的答案很精辟,我来个啰嗦版的会一门编程语言是必要,会哪一门取决于你用的工具类型。QTP用VB,Selenium用的比较多java/C#/ruby/python等,SilkTest用java/4test。这么多工具学哪一个呢?先自行脑补下测试工具的区别,再根据你所从事的的行业类别(web/移动端/服务器)选择对应的工具。如果你所在的公司暂时没有自动化工具,那你就学Selenium吧,语言自行脑补下(怎么这么多脑补,因为确实不是一两句话能说清的),找到自己喜欢的编程语言,如果怕找不到工作那就学java吧。学到什么程度,怎么学?不要一上来就学工具,没有意义,工具也是代码实现的。先按开发的标准来学一门语言,买一本经典的书,找一套学习视频(淘宝很多,请支持正版),先学基础,再学框架,然后往死里code,独立完成一个项目的编码(没有想象中的复杂),写点小工具。这时候你已经具备找一份搬砖的工作了,回过头来学工具,找个api文档,然后还是往死里code,有兴趣可以读一读工具的源码(Selenium是开源的)。当你写的用例达到上百了,这时候你会考虑如何维护这些用例了,然后你不满足于只能在IDE里跑跑,开始考虑集成管理,可视化操作。当你经过几个版本之后发现每次转测通过率都很低,这时候你会考虑持续集成和每日构建了。这时候你可以宣布自己初入自动化之门了,可以换个地图升级了。__________________________分割线_____________________________上面的内容还是一年前写的,最近陆续收到一些赞和感谢,一年过去了,软件测试大环境又变了很多,再补充一些个人经验。首先是定位,自动化也有很多方向web、接口、APP,不同的方向所要掌握的技能点也不一样,很少有开源的工具能够解决所有类型的自动化,而专一解决某种类型的自动化工具功能比较单一,需要集成其他工具来完成最终的每日构建。下面分别介绍三种类型的自动化:时下最炙手可热的APP自动化随着移动端创业的热潮,APP从业者的薪资也跟着水涨船高,APP自动化测试这个新兴的分支正在蓬勃发展中。APP平台有很多,andorid、iOS市场份额最高,小众的还有winPhone(后面会被WIN10淘汰)、黑莓、firefox。市场最高的也是需求最大的,选择android还是iOS取决于你的兴趣,编程语言、API Library、操作环境几乎没有交集,但起点都是一样的,就是去编写一个该平台下的APP。写的目的很简单,在不了解HTML的前提下能坐好web自动化吗?APP也是由各种原生的element构成,只有用过了才知道如何去定位、获取其属性等等。不过对于新手来说,要做好的APP自动化测试门槛比较高,从零基础到把测试框架运行起来,中间的战线会拖的漫长,没有足够的毅力和精力很难坚持下去,但做好了附加值也是相当高的。老牌的接口自动化在三种类型的自动化测试中,不管是从人力、财力投入还是回报率上,接口测试都是实施性价比最高的。很遗憾的是,目前为止我并有找到一款合适的开源工具能够解决接口自动化所需的全部需求,举个例子,我需要校验redis或者memcache缓存中的KEY值,这个需求目前只有自己写Library适配框架了。但是,像BAT这些有积累的大公司,是有内部工具解决这一切需求的,你要做的就是学好这个工具,然后融会贯通地使用就可以了。自学的话,推荐robotframework,里面有两个HTTP Library,任选一种。日渐式微的WEB自动化09左右的时候,提自动化必提QTP,俨然自动化领域的霸主,不过后来的事情大家都知道了。web自动化最大的问题在于撰写和维护的成本过高,如果你调试过那种几十层嵌套的前端框架你就会理解连定位一个元素都变得十分不易,维护的成本高是指web自动化在版本稳定之前介入的话会让整个团队死得很难看,而当版本稳定之后web端又是最不容易出问题的,前提是有接口自动化的保障。所以选择web自动化的公司我的理解,要么是想不开,要么是不缺钱。但web自动化的缺口也是很大的,小伙伴们不要被我个人的理解所吓倒,一个精通selenium的测试工程师绝对是IT公司哄抢的香馍馍。
1. 事情总是比你想象的复杂 (不要以为做了2年就啥都会了,谦虚使人进步)2. 对于所有资源,不管它是什么,您总是需要更多 (再做2年还是有很多不懂的,学无止境)3. 除非亲身经历,否则生命中的很多事情是无法正确评价的,也不可能完全理解(知道是一回事,会用是一回事,能写个一样的又是一回事,少说多看多练)4. 您总是只能得到一部分,而不是全部(认识到人的精力是有限的,在具备相当的知识面之后,就需要往特定方向专精,广度优先)
测试思维方面:1、测试基础理论(测试流程、测试的基础知识)2、测试用例设计方法论(黑盒、白盒)3、软件质量体系(建议可以参考GB/T16260)将以上3个方面的内容,融合到你的思维中去,建立属于自己测试思维的体系,明确测试在不同软件开发阶段要做些什么,怎么做。测试技术能力方面:1、学会写各种测试文档(测试计划、测试方案、测试用例、测试报告、缺陷报告等)2、学习测试工具(工具、脚本、人为方法)工具:指的是loadrunner、qtp等等类似的玩意,这不是主要,时代是在变化,这些东西谁知道什么时候会被淘汰,所以会有空去玩玩,别太上心脚本:批处理、shell脚本、java、C等等,个人觉得比较好玩而且也比较重要,因为己写点小脚本、小工具还是需要,当然咯,这个对个人的要求比较高人为手法:就是土鳖的方法进行测试,比如掐秒表,当然别小看它,因为它显示的一定是用户最真实体感结果这个方面的能力就是为了解决如何实现你执行的,你知道做什么和怎么做,接着就是技术去实现。计算机能力方面:作为一个软件测试工程师,你可以不一定要会各种技术,但是,你要是连个环境都搭建不来就太扯淡了,所以,建议请将“环境搭建”技能点点亮起来,你一定用的到,其实,我也知道搭建的机会不多,但是尽量去参加到搭建中,至少现在你在测试的系统如何搭建开发环境、测试环境、运行环境你要知道,有机会多多接触另外就是各种和计算机的杂学知识,各种系统参数的意义,系统补丁的用处等等,这个对以后的系统分析就很有好处分析破解能力:作为软件测试工程师其实有了上面的能力后,其实已经是个挺厉害的工程师了,不过个人觉得,更深一步的能力就是通过众多的迷雾中,找出软件bug能力也是很重要的,这需要你多维度的测试数据、bug、结果等等来找出一些深层次的bug,其实bug的本质仅仅是个很简单的问题,你要有抽丝剥茧的将复杂的问题,一步步简化到一个点而已。最后一个重要能力就是提炼和总结了,将你发现的问题变成方法论,做成自己的“万能方程式”,也就是“立言”。。。。当然这个是很长远的道路了至于,再往上,我也不知道了,因为我没经历过了。
软件测试的基本原理,我称之为 测试 1.0 时代, 如 ;与敏捷开发结合,我称之为 测试 2.0 时代 , 如 ;Test is Dead , 测试已“死”,适应互联网新时代的要求(比如 ),“不管黑猫白猫,捉到老鼠就是好猫”,当你跳出了“测试”这个圈圈,思考测试的价值了,我称之为 测试 2.5 时代 如 , , ;将测试和相结合,我称之为 测试 3.0 时代,但是现在的实践还比较少。至于语言、工具、OS 等知识,每个行业和具体工作 JD 有自己的要求,学就好了。
来看看我的公众号吧,每天花一点点时间,查漏补缺,学习新姿势~iTesting, 软件测试全干货分享
1、掌握正规的测试流程2、保持严谨的态度3、学习逆向思维能力
两年黑盒测试一年自动化测试经验1、测试的关键在于能够了解所测对象的操作流程,不管是黑盒还是自动化测试,能够清晰明了的掌握测试流程就可以很轻松搞定基础功能的测试,同时测试对象操作流程还可以帮助测试人员整理逻辑思维能力2、怎样把需求很快的转化为测试执行步骤,快速把需求转变成测试流程是编写测试用例的一个必要条件3、测试用例执行完后的测试总结,对测试对象的深入了解可以通过每一次的总结不断加深,将测试理论灵活的应用到测试过程中,做好测试记录4、不断从新的角度思考测试用例的能力,也许测试的工作就是枯燥的执行相同的工作,只要能够有不一样的思维方式,相同的工作也会有不同的闪光点5、不管遇到什么东西都想想应该怎么测试这个东西,哪怕是一个杯子呢6、良好的沟通能力,沟通分表达和倾听,能够认真倾听研发、产品和领导的意见,准确表达自己的意思,如果一次表达不清楚就多次表达,如果多次还是表达不清楚就换一种表达方式,比如文字沟通不了就上图,图还沟通不了就上语音,语音还不行就视频,总之一定要能够好好沟通写完才发现跑偏了,虽然工作三年还是觉得自己是个菜鸟,感觉高级测试的图很有道理,还是要根据自己的兴趣选择一个方向,不然工作会很痛苦
优秀的测试工程师,我的理解是两种,一种是对业务精通,对前后台交互问题可以做到看后果知前因,了解接口对每一个步骤有没有影响,这种是公司业务专精类型的,还有一种就是技术精通,了解的测试技术比较多,比如现在的selenium 的web自动化,app的appium自动化或者一些性能测试的loadrunner,安全测试的appscan等,这些公司精通一项就可以在找工作的道路上少走弯路,成为永不失业的汉子。当然这两种现在来说的话,基于国情考虑,能看懂code,能使用各种眼花缭乱的工具的第二种测试人员可能更能得到各种互联网公司的青睐,毕竟工资靠面试,第一种测试人员可能对本公司的产品理解更为深刻,对可能出现问题的地方更为敏感,也对公司更有用处,但是如果两种优秀的测试工程师让我选的话,我肯定是选择后者,说实话,如果你说两种你可以兼顾,都可以精通之类的话,我就没办法了,毕竟一个人的精力有限,两手抓有可能两手都要废。总之,成为一个优秀的测试人员,一定要有一个明确的定位。然后再去理解需求,查看产品文档,或者学习主流的各种测试技术工具。
刚转行做测试,接触的知识很散,正在迷途中
已有帐号?
无法登录?
社交帐号登录

我要回帖

更多关于 自动化测试的脚本语言 的文章

 

随机推荐