Javascript 使用casper和phantom js进行自动化UI测试的正确方法是什么?
我有200个手动测试用例,我想为UI测试自动化,为此我选择了Casper framework和Phantom JS 下面是主页的示例测试用例Javascript 使用casper和phantom js进行自动化UI测试的正确方法是什么?,javascript,phantomjs,automated-tests,frontend,casperjs,Javascript,Phantomjs,Automated Tests,Frontend,Casperjs,我有200个手动测试用例,我想为UI测试自动化,为此我选择了Casper framework和Phantom JS 下面是主页的示例测试用例 /** * homepage.js - Homepage tests. */ var test = "abc"; casper.test.begin('homepage', 5, function suite(test) { casper.start("url", function() { test.assertTitle
/**
* homepage.js - Homepage tests.
*/
var test = "abc";
casper.test.begin('homepage', 5, function suite(test) {
casper.start("url", function() {
test.assertTitle("Title abc", "title is the one expected");
test.assertEval(function() {
return __utils__.findAll("nav.top-fly-out-nav > ul > li > a").length < 8;
}, "7 navigation link found");
test.assertExists('form[action="/search"]', "Search form found");
this.fill('form[action="/search"]', {
keyword: "clear"
}, true);
this.click('#bws-s-search-btn');
this.waitForSelector('.bws-detail-listing',
function pass () {
test.pass("Searh result page loaded}");
},
function fail () {
test.fail("Searh result page not loaded");
}
);
});
casper.then(function() {
test.assertTitle("Search", "title is ok");
test.assertUrlMatch(/keyword=clear/, "search has been submitted");
test.assertEval(function() {
return __utils__.findAll(".bws-detail-listing article").length > 0;
}, "search result found");
});
casper.run(function() {
test.done();
});
});
/**
*homepage.js-主页测试。
*/
var test=“abc”;
casper.test.begin('homepage',5,功能套件(test){
casper.start(“url”,函数(){
测试资产名称(“名称abc”,“名称为预期名称”);
test.assertEval(函数(){
返回-utils-findAll(“导航顶部飞出-nav>ul>li>a”)。长度<8;
},“找到7个导航链接”);
test.assertExists('form[action=“/search”]”,'search form found');
this.fill('form[action=“/search”]”{
关键词:“清除”
},对);
点击(“#bws-s-search-btn”);
此.waitForSelector(“.bws详细信息列表”,
函数传递(){
test.pass(“Searh result page loaded}”);
},
函数失败(){
测试失败(“Searh结果页未加载”);
}
);
});
casper.then(函数(){
test.assertTitle(“搜索”,“标题正常”);
test.assertUrlMatch(/keyword=clear/,“搜索已提交”);
test.assertEval(函数(){
return _uuutils_uuu.findAll(“.bws详细列表文章”)。长度>0;
},“搜索结果已找到”);
});
casper.run(函数(){
test.done();
});
});
我想问以下问题
1) 编写测试用例的正确方法是什么?例如,当前所有测试值都是硬编码在测试用例中的,如导航计数、标题等。。。如何在Json中保留测试值
2) 如何逐个执行10个不同的模块测试用例,如test1.js test2.js
3) 如何将测试结果记录在文本文件中
4) 这是创建测试模块的正确方法吗?这是正确的体系结构 这里有四个问题,它们加在一起太宽泛了,无法用一个答案来描述。而且,它们都是不同的,彼此不依赖。请为他们中的每一个人单独问一个问题(最后一个问题除外,因为它主要是基于观点的)。不知道,2,3.用,4,,最后,请做@ArtjomB。说。