会有人喜欢自动化测试代码这样的风格吗?
var Ghost = require('webghost');
describe("Home", function () {
var ghost;
before(function () {
ghost = new Ghost("Chrome", "http://url/");
});
after(function (done) {
ghost.end(done);
});
it("Test submit", function (done) {
ghost.click("#feedback .inner", function (isVisible) {
// 点击建议反馈
}).getText("#feedback .tips", function (text) {
// 提示应该为空
text.should.be.equal("");
}).click("#feedback .submit", function () {
// 点击提交按钮
}).setValue("#feedback .entry textarea", "From automation testing.", function () {
// 输入内容
}).click("#feedback .submit", function () {
// 再次点击提交按钮
}).pause(2000, function () {
// 暂停2秒,等待ajax提交返回
}).getText("#feedback .tips", function (text) {
// 提示应该为:谢谢你的反馈
text.should.be.equal("谢谢您的反馈");
}).pause(2500, function () {
// 暂停2.5秒,等待面板隐藏
}).isVisible("#feedback .entry", function (isVisible) {
// 输入面板应该显示
isVisible.should.be.equal(false);
}).done(done);
});
});
10 回复
Jasmine挺好用的,我一直用它。
这是mocha/should/webdriverjs/ghost的集合体
哦,测试提交事件么,不过你还应该加上一个类似expect(5) 表示改测试需要验证断言5次之类的东西(不知道这个测试工具有没有)
这个不需要了。
一直这么连下去会头晕吧
到不会。问题是没有分支 - -
习惯了用Gherkin 写,我真看的头晕了,虽然有中文注释。
虽不明,但觉厉
其实这个测试代码有个可能会脆弱的地方
“暂停2秒,等待ajax提交返回”
通常在UI测试中最好少用sleep这类语句来等待异步的内容,原因有二:
- 异步的内容有可能在2秒后还没加载完
- 时间设置得太少,可能会导致脚本failed,时间设置大了,浪费时间空等待