0

我最近开始在MonkeyTalk上为我的应用程序编写详细的自动化测试脚本。我对这个工具的强大着迷,但我面临一个小问题。

我正在使用运行文件的 csv 文件编写数据驱动的测试用例。但是现在我想对视图进行一些验证,我相信可以使用 javascript 来完成,但我无法解决它。谁能告诉我如何。

这是我正在做的事情:

1)我的脚本文件来运行 csv 文件的数据驱动测试用例

Script DataDrivenLogin.mt RunWith login.csv

2)我正在使用视图的其他脚本文件

load("libs/MyApp.js");
MyApp.DataDrivenLogin.prototype.run = function(email, _password) {
    /**
     * @type MT.Application
     */
    var app = this.app;

    email = (email != undefined && email != "*" ? email : "<email>");
    _password = (_password != undefined && _password != "*" ? _password : "<_password>");

    app.image("email").tap();
    app.input("Email Address").tap({timeout:"2000"});
    app.input("Email Address").enterText(email, {timeout:"2000"});
    app.input("Password").tap({timeout:"2000"});
    app.input("Password").enterText(_password, {timeout:"2000"});
    app.button("login").tap({timeout:"2000"});
    try {
        app.image("Open").verify(); //if label exists
    } catch(Exception) {
        app.debug().print("Label not found");
    }
    app.image("Open").tap({timeout:"2000"});
    app.table("left_drawer").selectIndex("8", {timeout:"2000"});
    app.button("Yes").tap({timeout:"2000"});
    app.image("Open").tap({timeout:"2000"});
};

但它不起作用我的脚本仍在破坏我想要做的是,如果视图不存在,则脚本不会中断并再次从顶部开始获取下一个数据值。

非常感谢您的帮助。谢谢!!!

4

1 回答 1

0

据我了解这里的问题,如果标签不存在,那么这个

app.image("Open").tap({timeout:"2000"});

也会断。试着把它也放在 try 块中。

作为

........
app.input("Password").enterText(_password, {timeout:"2000"});
    app.button("login").tap({timeout:"2000"});
    try {
        app.image("Open").verify(); //if label exists
        app.image("Open").tap({timeout:"2000"});
    } catch(Exception) {
        app.debug().print("Label not found");
    }
    app.table("left_drawer").selectIndex("8", {timeout:"2000"});
    app.button("Yes").tap({timeout:"2000"});
    app.image("Open").tap({timeout:"2000"});
于 2015-07-27T05:45:22.377 回答