当前位置: 首页 > news >正文

网站建设旅游深圳的宝安区繁华吗

网站建设旅游,深圳的宝安区繁华吗,潍坊网站建设首荐创美网络,饿了么网站做生鲜吗昨天因为要装watir-webdriver的原因将用了快一年的ruby1.8.6升级到了1.9。由于1.9是原生支持unicode编码,所以我们可以使用中文进行自动化脚本的编写工作。 做了简单的封装后,我们可以实现如下的自动化测试代码。请注意,这些代码是可以正确运…

昨天因为要装watir-webdriver的原因将用了快一年的ruby1.8.6升级到了1.9。由于1.9是原生支持unicode编码,所以我们可以使用中文进行自动化脚本的编写工作。

做了简单的封装后,我们可以实现如下的自动化测试代码。请注意,这些代码是可以正确运行并作为正式的自动化测试用例的。

 测试浏览器 = Watir::Browser.new :firefox测试浏览器.转到 'www.google.com'在(测试浏览器.的.text_field(:name, "q")).中.输入 "qq"点击 测试浏览器.的.button(:name, "btnG")等待(测试浏览器.的.div(:id, "resultStats"))断言 '测试通过' if 测试浏览器.的.text.包含('腾讯QQ')关闭 测试浏览器

这样一来,自动化测试脚本跟手工测试用例就非常相似了,大言不惭的说相似程度可以达到60%。

这样做有什么好处呢?

  • 手工测试用例更加容易“翻译”正自动化测试用例:
    由于加入了符合自然语义的”的”及“在”函数,整个测试用例的自然度得到大大提升,基本可以做到不熟悉自动化代码的人员可以大致猜测到用例的真实用例。让用例自己说话,这比反复释疑和解惑要好上一些;
  • 手工测试人员编写用例的门槛相对降低:
    由于代码的灵活度及兼容性相对较大(ruby语言的特性)及测试api相对简单(watir的特性),手工测试人员应该可以更加方便的理解和编写代码,这样用例编写的门槛降低;
  • 用例维护成本降低:
    中文化的用例代码可以很容易的进行review。大家应该有这样的经验,在有些代码中会出现一些随意的ab, zb之类难以理解的变量或方法名。纠其原因无非是不好的编程习惯或词穷的英文积淀。用上中文之后这些情况会有很大好转。代码本地化这项工作日本这些年一直在做,而且成果丰硕。我们完全可以通过ruby借鉴这一点;
  • webdriver的强大特性
    上面的测试代码是基于watir-webdriver编写的。由于webdriver支持多种浏览器,如ff,chrome,safiri,ie等,代码的扩展性非常强。在配置合理及框架支撑的前提下,基本可以做到一套脚本多浏览器运行,这对回归测试来说应该是一个利好消息;

当然,测试脚本中文化,自然化口语化也会带来一些列的问题,这点我们也必须清楚认识到。

  1. 用例编写会相对费时一些;中英文结合编码在输入速度上确实不如纯英文;
  2. 对程序员来说上面的代码会有些怪异或者是令人难以忍受的;对于完美主义者来说,上面的代码是“不纯粹”且有些难看的;

总结一下,个人的观点如下:

对于产品代码来说,中英文混编的风格目前来说应该是不合时宜的。但对于测试脚本来说,中文越多,用例可读性越高,自动化测试代码越接近手动用例,这反而应该是一件不错的事情。这在里先抛砖引玉,希望有志同道合者可以一起研究,让自动化脚本更加的人性、自然、可读、可维护。也许在不远的将来,手动用例可以直接拿来当自动化用例执行也未尝不可能。

下面是用例的完整代码,由于只是演示兴致,因此只是随意在Module层进行了简单的可视化封装,过于简陋和demo,还望砖家手下留情。

 # encoding: utf-8require 'rubygems'require 'watir-webdriver'module CWrapdef 点击(obj)obj.click rescue obj.class.to_s + '对象无法进行点击'enddef 加载完毕()selfendalias :中 :加载完毕alias :的 :中alias :应该 :的def 在(obj)objenddef 等待(obj)obj.wait_until_present rescue puts('该' + obj.class.to_s + '对象无法进行等待操作')enddef 关闭(obj)obj.close rescue puts('无法关闭这个' + obj.class.to_s + '对象')enddef 输入(text)self.set text rescue puts('这个' + self.class.to_s + '对象无法进行输入')enddef 转到(url)self.goto url rescue puts(self.class.to_s + '对象不是一个浏览器对象')enddef 包含(text)self.include? text rescue puts self.class.to_s + '对象无法进行包含操作'enddef 断言(text)puts textendendinclude CWrap测试浏览器 = Watir::Browser.new :firefox测试浏览器.转到 'www.google.com'在(测试浏览器.的.text_field(:name, "q")).中.输入 "qq"点击 测试浏览器.的.button(:name, "btnG")等待(测试浏览器.的.div(:id, "resultStats"))断言 '测试通过' if 测试浏览器.的.text.包含('腾讯QQ')关闭 测试浏览器

最后:下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】

http://www.yayakq.cn/news/635117/

相关文章:

  • 绍兴做企业网站的公司wordpress 图片剪裁
  • 韩文网站域名备案宁波seo推广优化怎么做
  • 造价员证在哪个网站上查询做网站用什么版本系统
  • 虚拟主机网站空间微信官方网站网址
  • 网站盗号怎么做网页设计模板免费下载田田田田田田田田田田
  • 公司网站建设价位优质网站建设价格
  • 常州外贸集团 网站建设wordpress mysql用户名密码
  • 地方门户网站怎么赚钱网站建设龙岗
  • 和林格尔网站制作网站设计公司的推广
  • 零基础学做网站难吗网站建设呼和浩特
  • 北京网站建设上石榴汇黑龙江做网站的公司
  • 字画价格网站建设方案山西省城乡住房建设厅网站
  • 南山优化网站建设案例他达拉非说明书
  • 专业模板网站制作哪家好广东旅游网站建设方案
  • 厦门网站建设建站中心朝青板块网站建设
  • php网站开发技术网站建设延期合同书
  • 网站建设的课程都需要什么优化防控措施
  • 戴尔小企业官网seo变现培训
  • 廊坊网站建设系统广告联盟全自动赚钱系统
  • 建站资源共享成都住建局官网平台登录
  • 中国建设工程造价管理系统网站百度服务
  • 域名年费多少网站建设公司网站建设服务
  • 健身会所网站模板北京朝阳区房价
  • 中时讯通信建设有限公司网站沈阳网站建设策划方案
  • 无锡电商网站旧房改造装修翻新
  • 帝国cms 网站地图插件oa软件定制开发
  • 做pc端网站咨询能源科技网站建设
  • 河北网站制作菏泽做网站建设找哪家好
  • 做推广哪个网站效果好建设官方网站的主要作用
  • 丽水市建设局网站贵阳网站建设方案推广