使用JS/VBS来测试你的COM组件
2007-07-04 00:17
253 查看
最近又看了一遍去年的这个时候所买的COM类的书籍,对COM有了更深一层的认识。记得去年的这个时候还只知道接口和对象,只知道类型标识符和接口ID,只知道...^.^
前些日子公司让我做一个控件,因为功能很简单,所以没几天就完成了。这个控件是用来在IE中使用的,所以我就把它做成了COM组件。客户在使用我的控件的时候,他们使用JavaScript来调用其中的函数,为了能和客户的思路一致,我简单地学习了一下JScript。JScript和JavaScript基本是一样的,使用JScript的好处是:我只需要写测试脚本,不用再写测试用的Web页。因为能在WScript和CScript宿主中运行的脚本,简单修改都能在宿主IE中运行,而我控件的接口函数是脚本无关的,所以我完全不用担心我的控件在WScript/CScript中能正确调用而在IE中不能正确调用的问题。
以下是我所使用的测试脚本,考虑到保密的问题(公司利益),所以我修改了一下其中的语句,但这不会对脚本本身造成任何影响。JScript和VBScript都非常简单易学,用他们来测试COM组件再合适不过,希望我的代码对那些想通过简单方法来测试COM组件的人有用。
// This is a part of the DemoApp control
// Copyright (C) 2007 BeiJing XXX Limited Corporation
// All rights reserved.
//
// This source code is only intended as a demo of using DemoApp
// control in JScript. It works in WScript/CScript script host
// environment only. You can write you own code like this so
// that they can work in the Internet Explorer.
//
main();
function main()
...{
try...{
var DemoApp, bOK, rnd;
DemoApp = new ActiveXObject("DemoApp.DemoCtrl");
bOK = DemoApp.isInstalled();
if (bOK)...{
WScript.echo("已经安装!");
ver = DemoApp.getVersion();
vmx = (ver >> 8) & 0xff;
vmn = ver & 0xff;
WScript.echo("Version:"+vmx.toString()+"."+vmn.toString());
WScript.echo("""+DemoApp.getString(0, 50)+""");
var name = DemoApp.getName();
WScript.echo("""+name+""");
var pass = DemoApp.getPassword();
WScript.echo("""+pass+""");
var seek = DemoApp.getSeek();
WScript.echo("""+seek+""");
}
}catch(e)...{
WScript.echo(e);
}
}
前些日子公司让我做一个控件,因为功能很简单,所以没几天就完成了。这个控件是用来在IE中使用的,所以我就把它做成了COM组件。客户在使用我的控件的时候,他们使用JavaScript来调用其中的函数,为了能和客户的思路一致,我简单地学习了一下JScript。JScript和JavaScript基本是一样的,使用JScript的好处是:我只需要写测试脚本,不用再写测试用的Web页。因为能在WScript和CScript宿主中运行的脚本,简单修改都能在宿主IE中运行,而我控件的接口函数是脚本无关的,所以我完全不用担心我的控件在WScript/CScript中能正确调用而在IE中不能正确调用的问题。
以下是我所使用的测试脚本,考虑到保密的问题(公司利益),所以我修改了一下其中的语句,但这不会对脚本本身造成任何影响。JScript和VBScript都非常简单易学,用他们来测试COM组件再合适不过,希望我的代码对那些想通过简单方法来测试COM组件的人有用。
// This is a part of the DemoApp control
// Copyright (C) 2007 BeiJing XXX Limited Corporation
// All rights reserved.
//
// This source code is only intended as a demo of using DemoApp
// control in JScript. It works in WScript/CScript script host
// environment only. You can write you own code like this so
// that they can work in the Internet Explorer.
//
main();
function main()
...{
try...{
var DemoApp, bOK, rnd;
DemoApp = new ActiveXObject("DemoApp.DemoCtrl");
bOK = DemoApp.isInstalled();
if (bOK)...{
WScript.echo("已经安装!");
ver = DemoApp.getVersion();
vmx = (ver >> 8) & 0xff;
vmn = ver & 0xff;
WScript.echo("Version:"+vmx.toString()+"."+vmn.toString());
WScript.echo("""+DemoApp.getString(0, 50)+""");
var name = DemoApp.getName();
WScript.echo("""+name+""");
var pass = DemoApp.getPassword();
WScript.echo("""+pass+""");
var seek = DemoApp.getSeek();
WScript.echo("""+seek+""");
}
}catch(e)...{
WScript.echo(e);
}
}
相关文章推荐
- jsp、js限制本地上传图片大小、类型(js经过测试,项目中可以使用)
- 测试当前IE浏览器文档模型版本的js代码(使用documenMode)
- 使用Nodejs+Protractor搭建测试环境
- 【转帖】使用JsUnit和JSMock的JavaScript测试驱动开发
- [转 js] 使用JsUnit和JSMock的JavaScript测试驱动开发
- mongo-mapreduce测试(7)——使用js存储过程
- js对浏览器内部及外部窗口宽度及高度使用测试
- javascript 使用VBArray (JS调用VBS的例子)
- 使用jsonp跨域调用百度js实现搜索框智能提示,并实现鼠标和键盘对弹出框里候选词的操作【附源码和在线测试地址】
- VS2012创建ATL工程及使用MFC测试COM组件
- 使用Nodejs+Protractor搭建测试环境+Protractor的安装及其遇到的问题
- IT咨询顾问:一次吐血的项目救火 java或判断优化小技巧 asp.net core Session的测试使用心得 【.NET架构】BIM软件架构02:Web管控平台后台架构 NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json 使用LINQ生成Where的SQL语句 js_jquery_创建cookie有效期问题_时区问题
- VS2012创建ATL工程及使用MFC测试COM组件
- node.js学习笔记(二)--使用mongoose简单的CRUD操作及测试模块mocha的使用
- 使用mochajs进行js测试
- VS2012创建ATL工程及使用MFC测试COM组件
- 前端js性能测试工具(JSLitmus)的使用
- 性能测试 vbs使用(一)
- 使用jquery插件测试url链接是否有效及js ping url
- 测试Swift语言代码高亮-使用highlight.js