zoukankan      html  css  js  c++  java
  • 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的测试报告

  • 相关阅读:
    安装activeMQ(解压版)
    java匿名发送邮件(不需要登录)
    poi excel导入整数数字自动加小数点解决
    读取excel表中的数据
    DES加密解密实现
    验证码实现(google)
    下载文件到电脑本地
    Properties条件查询(适用于StorageAPI操作数据库)
    java位运算
    python测试开发工具库汇总(转载)
  • 原文地址:https://www.cnblogs.com/kevinqinan/p/4588857.html
Copyright © 2011-2022 走看看