看了
江南白衣 的
Selenium--透明反复推介的集成测试工具(Pragmatic系列)确实不错。值得推荐使用。但是有的时候确实也挺麻烦。
比如说,我一个页面可能有上百个文本框。等很多动作。
那在Junit 里可能要 写 一段很长的代码了。
像
test.open("/");
test.click(""
);
test.type("");
。。。。。
。。。。。。。
。。。。。
我想在稍微大点的项目中 这样写测试代码 可能也是个噩梦。。
解决办法
1.如果没有安装firefox
下载fireFox 2.Selenium IDE
- 下载 Selenium IDE https://addons.mozilla.org/firefox/2079/
- Firefox > Tools > Selenium IDE
- Selenium IDE > Options > Options...
- 选择 Format 选项.
- 点击添加按钮.
- (Name of the fommat )给新添的起个名字
testSelenium
- 粘贴下面JS代码到文本恇
- 点击确定
- 点击工具 菜单 Selenium IDE > Options > Format > testSelenium
- 可以录脚本了
testSelenium.js
var SEPARATORS = {
pipe: "|",
comma: ",",
tab: "\t"
};
function formatCommands(commands) {
var result = '';
var sep = SEPARATORS[options.separator];
var prefix = options.wrap == 'true' ? sep : "";
var postfix = prefix;
for (var i = 0; i < commands.length; i++) {
var command = commands[i];
if (command.type == 'command') {
result += prefix + command.command + sep + command.target + sep + command.value + postfix + "\n";
}
}
return result;
}
function parse(testCase, source) {
var doc = source;
var commands = [];
var sep = SEPARATORS[options.separator];
var base = options.wrap == 'true' ? 1 : 0;
while (doc.length > 0) {
var line = /(.*)(\r\n|[\r\n])?/.exec(doc);
var array = line[1].split(sep);
if (array.length >= (base+3)) {
var command = new Command();
command.command = array[base+0];
command.target = array[base+1];
command.value = array[base+2];
commands.push(command);
}
doc = doc.substr(line[0].length);
}
testCase.setCommands(commands);
}
function format(testCase, name) {
return formatCommands(testCase.commands);
}
options = {
separator: 'pipe',
wrap: 'true'
};
configForm =
'<description>Separator</description>' +
'<menulist id="options_separator">' +
'<menupopup>' +
'<menuitem label="Pipe" value="pipe"/>' +
'<menuitem label="Comma" value="comma"/>' +
'<menuitem label="Tab" value="tab"/>' +
'</menupopup>' +
'</menulist>' +
'<checkbox id="options_wrap" label="Wrap command with separator"/>';
最后 录制的 脚本 如下
base url http://www.cnblogs.com/
|open|/||
|clickAndWait|link=注册||
|type|ctl00_cphMain_tbApplicant|junmy|
|type|ctl00_cphMain_tbEmail|wunjunlove(At)gmial.com|
|type|ctl00_cphMain_tbCompany|msSonft|
|type|ctl00_cphMain_tbCity|shenzhen|
|type|ctl00_cphMain_tbApplyText|teeee详细申请理由(比如:技术专长,感兴趣的技术,在Blog中写哪方面的内容|
|click|ctl00_cphMain_btnSend||
把此录制的脚本 保存为一个文件。
再写一个类专门来处理分析 这个脚本
就不用 在Junit测试 写 那么长的
像
test.open("/");
test.click(""
);
user.type("");
等特长的代码了 。