MonkyTalk学习-5-TestSuite
开始研究下什么是MonkeyTalk中Testsuites的概念。
官方的解释如下:
You can organize your scripts into tests suites for running and reporting. A test suite is a file with an .mts extenstion that contains at least one test script, and may optionally contain a setup script and a teardown script.
简单点说,testsuite就是一个集合的概念,可以放很多测试用例在里面。
一般来说主要包括三方面的内容:
TestCase,单独的一个测试用例,
Setup,每个测试用例运行之前,都会运行的用例。
TearDown,每个测试用例运行结束,都会运行的用例。
其实这跟Junit3里的测试用例比较类似。
这次练习中,总共有四个步骤,五个文件,
第一个文件----Testsuite.mts是一个测试用例集,即一个测试用例的集合,

此Testsuite中包含了几个类型的文件,
1. setup-Prepare.mt文件,是一个类似于Junit3中的Setup()的存在
2. Teardown-Clearup.mt,是一个类似于Junit3中的Teardown()的存在
3. Test 是两个测试用例,一个需要从user.csv中读取参数,文件位置在这个脚本当前目录中。创建方法参照前一章
一下是源文件:(只贴出来js的脚本)
1. Prepare.mt,是准备工作,主要是在登录框中输入Setup(),然后清除
load("libs/NewDemo.js");
NewDemo.Prepare.prototype.run = function() {
/**
* @type MT.Application
*/
var app = this.app;
app.input("username").tap();
app.input("username").enterText("Setup()");
app.device().waitFor("20");
app.input("username").tap();
app.input("username").clear();
};
2. Clearup.mt,是收尾工作,主要是在登录框中输入Teardown(),然后清除
load("libs/NewDemo.js");
NewDemo.Clearup.prototype.run = function() {
/**
* @type MT.Application
*/
var app = this.app;
app.input("username").tap();
app.input("username").enterText("TearDown()");
app.device().waitFor("20");
app.input("username").tap();
app.input("username").clear();
};
3. Login.mt, 是登录1的脚本,需要传递参数username 和 password
load("libs/NewDemo.js");
NewDemo.Login.prototype.run = function(username, password) {
/**
* @type MT.Application
*/
var app = this.app;
username = (username != undefined && username != "*" ? username : "<username>");
password = (_password != undefined && password != "*" ? password : "<_password>");
app.input("username").enterText(username);
app.input("password").tap();
app.input("password").enterText(password);
app.button("LOGIN").tap();
app.device().waitFor("10");
app.button("LOGOUT").tap();
};
4. Login2.mt,是登录2的脚本,部需要传递参数,参数是写死的
load("libs/NewDemo.js");
NewDemo.Login2.prototype.run = function() {
/**
* @type MT.Application
*/
var app = this.app;
app.input("username").enterText("login2");
app.input("password").tap();
app.input("password").enterText("longin2");
app.button("LOGIN").tap();
app.device().waitFor("10");
app.button("LOGOUT").tap();
};
运行的时候,同样需要脸上模拟器,需要App启动,截获录制按钮之后,选中TestSuit.mts,点击播放按钮。

所有测试完成之后,产生了Junit的测试报告

同时还有HTML的测试报告

浙公网安备 33010602011771号