151-3895-5886
 

web性能测试,用javascript进行IE测试的两种方法

2018-08-28 浏览:
 在平时工作中时常需要对网站进行自动化测试,虽然一些简单的测试可以通过爬虫的方式来做,但是如果涉及到比较复杂的js和CSS渲染的话,就必须使用真正的浏览器了。毕竟自己实现HTML DOM解析还相对容易,但是如果做上述工作就太麻烦了。
  由于我们网站90%以上的用户用的都是IE,而有一些代码也是特定于IE的,因此在测试的时候,必须要对IE进行自动化测试。当然,大部分代码对各个浏览器都是兼容的,因此也可以采用其他更自动化,兼容性更广的方法来进行Web测试。
WEB_javascript编程
  在Windows下进行自动化测试,个人觉得最合适的方法就是WSH+javascript了,可以使用WScript对象和众多ActiveX组件来完成诸多功能,而且语法和普通javascript都一样,主要需要熟悉的就是各个组件的接口。
  使用js进行IE测试的流程是:
  1.通过WScript.createObject创建一个IE对象,并绑定它的事件回调(Event Callback/Sink)
  2.调用IE对象的navigate2方法,打开指定的网页,并将其Visible属性设置为true
  3.在IE对象的OnDocumentComplete事件中,检查网页是否已经完全载入(不然访问document对象会有问题)
  4.通过document对象访问各个HTML对象以及其计算出来的CSS属性,并模拟用户输入进行功能性测试
  5.在最后调用IE对象的quit方法关闭IE,如果为了保险,可以找到所有的IE窗口,向其发送Alt+F4按键将其关闭
  6.将得到的测试信息通过SMS(例如定制的HTTP接口)或者电子邮件(通过CDO.Message对象)发送到对应人员
  上面是大致的流程,具体在设计和编码的时候,会遇到一些其他的问题:
  1.JS中如何创建与绑定事件回调
  2.如何在测试中绕过IE的阻止自动弹窗的设置,使得可以进行用户模拟点击打开新窗口的测试(不然弹窗会被阻止)
  其实在创建一个ActiveX组件的时候,WScript.createObject方法第一个参数是组件名,第二个参数就是事件回调函数的前缀了。例如对于IE对象来说,它的组件名是InternetExplorer.Application,对应的事件有DocumentComplete、OnQuit等(参见DWebBrowserEvents2),假设我希望收到DocumentComplete事件通知,可以这样写代码:
  在上面的代码中需要加入一个while循环,这样才能不退出程序,继而收到事件响应。
  在HTML文档都已经载入完毕以后,就可以访问browser的document对象获取DOM树,进行一系列操作和测试了,例如通过document.getElementById('btnSumbit').click()模拟form提交之类的。
  另外,在IE中,如果通过代码模拟点击想产生一个新窗口,往往会被IE自动弹窗阻拦功能挡住,就是平时常见的顶部提示阻止了一个弹窗的细黄条。在测试过程中,我们往往需要模拟用户输入产生自动弹窗,这时候,需要在测试的时候去掉这个功能,然后在测试结束的时候再打开这个设置。要做到这一点,只需要修改注册表的HKEY_CURRENT_USER下的\Software\Microsoft\Internet Explorer\New Windows\Allow项,添加上对应的域名即可。在JS里可以这样写:
  另外,进行IE测试需要打开Windows桌面才行,因此它有一个比较郁闷的要求,就是不能是未登录状态,我们为了解决这个问题,是开了一个Windows虚拟机,在虚拟机里面专门设置了计划任务运行相关这个测试js的。
  因为IE测试限制很多,因此我们平时也可以采用phantomjs进行测试。phantomjs是一个内嵌了Webkit的无界面浏览器(headless browser)。通过phantomjs定义的一系列接口,我们可以实现很多Web自动化的测试,例如打开网页,监控每个访问,并生成HAR格式的图形,给网页生成截图,打开新浪微博模拟登陆获取微博信息等。在phantomjs的examples目录中有很多例子可以学习,例如生成HAR流量图的netsniff.js等。下面是一个生成网站截图的例子:
  另外,如果需要将查看HAR流量图自动化嵌入自己网站的,网上也有开源的程序可以使用。
  上面的两种测试方法都是通过javascript做的,其实,平时在windows下熊猫写了不少javascript的实用程序给自己和朋友们用,尤其是那些不懂程序的朋友。例如生成费用分摊Excel表的功能,把图片转化为文字的功能,分析一些格式文件生成其他文件的功能等。
  因为Windows环境上缺省就可以通过WSH运行javascript,而IE/Word/Excel/PowerPoint/WMI等都可以通过js来操作,因此对windows来说,WSH+js是一个非常实用的工具。
郑州融科网络专注于企业网站建设、网站制作、高端网站设计,郑州荥阳、上街做网站就找融科网络!
本文章网址:http://www.ppssdd.com/info/758.html。转载请保留出处,谢谢合作!
文章标签: windows 解析 浏览器 兼容性 javascript
 
阅读下一篇
如何分析微信公众号阅读量的真假
 
 
推荐阅读
WindowsXP系统停止服务怎么办
网站的文章和文章链接有啥优点
SEO是一个长期坚持的工作你坚持住
织梦dedecms首页列表无刷新实现时时
在网上发现被人曝光负面信息应该
如何检验文章的页面质量高不高?
web性能测试,用javascript进行IE测试
网站改版后url要注意哪些问题
织梦常用的几种字段判断输出实例
2018年个人网站站长的出路
郑州网站建设融科网络微信二维码
 
准备开展业务?
郑州建站咨询服务
联系专业的商务顾问,诊查网站现状及关键词、分析竞争对手的流量、一对一咨询、及其报价详情