We are using eclipse luna 4.4.1, adb is installed on linux system to test android app.
I have recorded a monkeytalk script. So my question is how to run that monkeytalk recorded script in 500 times. But in every loop the value of input data should be change(Validation stuff). For example : I recorded sign up account. So that need to run it 500 times to create 500 diffrent account.
Thanks in advance.
You have to use parameterization.
It's simply when you use variables in your script instead of hardcoded values. That gives you an opportunity to assign new values to that variables with each new run.
Here is an example from official documentation regarding parametrizing the script:
Vars * Define usr="default-at-example.com" pwd
Input username EnterText ${usr}
Input password EnterText ${pwd}
Button LOGIN Tap
In this listing you can see that you've defined "usr" variable with default value ("default-at-example.com").
As a result, you can invoke you parametrized script in a number of different ways.
In this case "pwd" variable will have "i like cheese" value:
Script login.mt Run joe-at-doe.com "i like cheese"
Following example shows script invocation without specifying any arguments for variables:
Script login.mt Run * password1
It'll have following effect: variable "usr" will have its' default value and "pwd" variable will have "password1" value
Don't forget that those variables' scope is limited only to the script. It means that they're visible and can be used only inside of script where they have been defined.
Moreover you can use external data sources in order to feed your tests with data. It's called data driven testing. Here is an example of script which uses *.csv file (coma separated) as such data source:
//data.csv
joe-at-doe.com, "i like cheese"
alpha-at-beta.net, password1
charlie-at-dog.org, abc123
In order to use such *.csv file just run following command:
Script login.mt RunWith data.csv