您的位置:首页 > Web前端 > JavaScript

MonkyTalk学习-4-JS脚本修改运行

2015-06-19 09:06 567 查看
JS脚本的修改和运行方面的内容,

1. 导出脚本

在录制完成或者通过Table View界面编辑过之后,会自动生成JavaScript脚本,进入JavaScript的Tab下,可以看出如下的结果



点击Export按钮,会自动生成一个.js文件,内容和在JavaScript 中看到的内容相同。

2. 能做什么

If you want to include common programming structures like flow control, loops, and random number generators, then exporting to Javascript is a good way to do so.

这是官方对于编辑脚本的作用的解释,简单点说,在JS中可以做循环,随机数之类的操作。下面对循环做个例子。

如图

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();

};


大概的意思是,之前的操作,从csv文件上读取参数值,调用了Login.mt进行登录和退出,现在要做的是,从JS上实现循环N次操作。

3. 编辑脚本

导出的js脚本就可以编辑了,加上循环语句。因为也没写过js脚本,挑了个最简单的写了

load("libs/NewDemo.js");
NewDemo.Login.prototype.run = function(username, password) {
/**
* @type MT.Application
*/
var app = this.app;
for(var i =0; i < 5; i ++){
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. 运行脚本

如何运行脚本呢?回到我们的Run.mt,如图



修改图中的MonkeyID中的Login.mt 为 Login 或者Login.js

连接IDE和模拟器,模拟器启动App是必须的

然后运行这个Run.mt就可以了。

经测试,是可以的,确实,在从csv上获得了一组参数之后,就运行了5遍,然后再从csv上获得另外一组参数,再运行五遍,知道三组参数均运行完毕。

5. 随机数的使用。

注:以下代码是从官方网站上看到的。自己试了下,确实可以生成随机数。

if (typeof Test == "undefined") {
load("libs/NewDemo.js");
};

NewDemo.Test1.prototype.run = function(usr, pwd) {
usr = usr || randStr();
pwd = pwd || randStr();

this.app.input("username").enterText(usr);
this.app.input("password").enterText(pwd);
this.app.button("LOGIN").tap();
this.app.button("LOGOUT").tap();
};

function randStr()
{
var text = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

for( var i=0; i < 5; i++ )
text += possible.charAt(Math.floor(Math.random() * possible.length));

return text;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: