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的测试报告

 

转载于:https://www.cnblogs.com/kevinqinan/p/4588857.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值