MonkeyTalk自动化之——Scripting in JavaScript

来源:互联网 发布:为什么要过年呢 知乎 编辑:程序博客网 时间:2024/05/17 01:59

     本文主要讲解JS中的script使用。

1、Javascript Wrapper Library ——JS的包库

每次保存.mt脚本MonkryTalkIDE自动生成一个JavaScript函数的包装,让您可以从JavaScript干净,直接调用你的脚本生成的库称为YourProjectName.js,并存储在项目的libs目录此目录还包含MonkeyTalk的JavaScript API文件MonkeyTalkAPI.js

例如:

# enterName.mtVars name="foo"Input name EnterText ${name}Button OK Tap
当保存该文件时,一个函数将会生成,那么在JS中可以看到

this.app.enterName().run("bar")
或者
this.app.enterName().runWith("somedata.csv")

call功能也会生成,而且定义了预期的参数。

类似自定义命令生成的包装

// Call user.login.mtthis.app.user("ethel").login("secret123");


2、Using The JavaScript API——使用JS API

可以调用MonkeyTalk任何Run或者RunWith的JS。monkeytalk必须通过导入该项目的包装库开始。

例如:

load("libs/YourProjectName.js")

每个monkeytalk命令就可以调用以下形式的JS表达式:

this.app.componentType("monkeyId").action(args...)

导入的库会创建一个名为this.app的属性,它是一个对象,它可以引用应用程序进行测试。this.app提供智能式访问组件。对每种组件类型(包括用户定义的)的函数被定义,调用这些函数与monkeyld检索相应的组件。

例如:

// The OK Button
this.app.button("OK")
// The first table
this.app.table("#1")

一旦检索到一个组件,你可以对其执行操作,每个组件对象具有相应于每个可用的动作的功能。

例如:

// Button OK Tap
this.app.button("OK").tap()
// Table countries Select France
this.app.table("countries").select("France")

// Input name EnterText Bob
this.app.input("name").enterText("Bob")

Timeout and Thinktime

超时和思考时间被指定为一个JavaScript对象的属性包括可选的动作后,字符串值的参数。

例如:

this.app.button("ok").tap({timeout:5000})

this.app.input("name").verify("foo", {timeout:5000})

Verify Commands

验证命令和其他的动作一样,例如:验证标签的文字

this.app.label("message").verify("Hello")

Calling MonkeyTalk from JavaScript

在APP的函数中,可以根据脚本的名字来调用它,例如:

this.app.scriptName().run(args...)

this.app.script("scriptName").runWith("somedata.csv");

Calling Custom Commands

特制命令也可以被调用,例如:

// Call user.login.mt
// User ethel Login secret123
this.app.user("ethel").login("secret123")


0 0