Any way to play iim on the firefox which is already open?
Forum rules
iMacros EOL - Attention!
The renewal maintenance has officially ended for Progress iMacros effective November 20, 2023 and all versions of iMacros are now considered EOL (End-of-Life). The iMacros products will no longer be supported by Progress (aside from customer license issues), and these forums will also no longer be moderated from the Progress side.
Thank you again for your business and support.
Sincerely,
The Progress Team
Before asking a question or reporting an issue:
1. Please review the list of FAQ's.
2. Use the search box (at the top of each forum page) to see if a similar problem or question has already been addressed.
3. Try searching the iMacros Wiki - it contains the complete iMacros reference as well as plenty of samples and tutorials.
4. We can respond much faster to your posts if you include the following information: CLICK HERE FOR IMPORTANT INFORMATION TO INCLUDE IN YOUR POST
iMacros EOL - Attention!
The renewal maintenance has officially ended for Progress iMacros effective November 20, 2023 and all versions of iMacros are now considered EOL (End-of-Life). The iMacros products will no longer be supported by Progress (aside from customer license issues), and these forums will also no longer be moderated from the Progress side.
Thank you again for your business and support.
Sincerely,
The Progress Team
Before asking a question or reporting an issue:
1. Please review the list of FAQ's.
2. Use the search box (at the top of each forum page) to see if a similar problem or question has already been addressed.
3. Try searching the iMacros Wiki - it contains the complete iMacros reference as well as plenty of samples and tutorials.
4. We can respond much faster to your posts if you include the following information: CLICK HERE FOR IMPORTANT INFORMATION TO INCLUDE IN YOUR POST
-
- Posts: 1
- Joined: Sat Jul 30, 2011 4:52 am
Any way to play iim on the firefox which is already open?
### Work Environment ###
Test OS: Ubuntu 10.04 32bit.
Firefox Version: 3.6.18
iMacros(add-on) Version: 7.3.0.0
Language: Python 2.6
Downloaded: iMacros Scripting Interface for Linux V1.00.
### Question(Problem) We Have ###
We have created 3 firefox profile named Dev1, Dev2, Dev3
What we would like to do is that playing 'test.iim' on the specific profile which is already open.
### Our work procedures ###
First, we open firefox profile called 'Dev3' from a terminal: "firefox -no-remote -P Dev3"
Second, we run a python script to play 'test.iim' on the 'Dev3' profile: Our python script looks like this:
#!/usr/bin/python
import imacros
iret = imacros.iimInit("-fx -fxProfile Dev3", False)
iret = imacros.iimPlay("..file path/test.iim")
The script correctly play the iim; however, it opens a new firefox window to play the iim. We just wonder, "Is there any way to let the iim play on the specific profile which is already open(in this case, Dev3) instead opening a new firefox window to play the iim?"
We appreciate for your any feedback.
With best regards,
Test OS: Ubuntu 10.04 32bit.
Firefox Version: 3.6.18
iMacros(add-on) Version: 7.3.0.0
Language: Python 2.6
Downloaded: iMacros Scripting Interface for Linux V1.00.
### Question(Problem) We Have ###
We have created 3 firefox profile named Dev1, Dev2, Dev3
What we would like to do is that playing 'test.iim' on the specific profile which is already open.
### Our work procedures ###
First, we open firefox profile called 'Dev3' from a terminal: "firefox -no-remote -P Dev3"
Second, we run a python script to play 'test.iim' on the 'Dev3' profile: Our python script looks like this:
#!/usr/bin/python
import imacros
iret = imacros.iimInit("-fx -fxProfile Dev3", False)
iret = imacros.iimPlay("..file path/test.iim")
The script correctly play the iim; however, it opens a new firefox window to play the iim. We just wonder, "Is there any way to let the iim play on the specific profile which is already open(in this case, Dev3) instead opening a new firefox window to play the iim?"
We appreciate for your any feedback.
With best regards,
-
- Posts: 3834
- Joined: Mon May 31, 2010 4:59 pm
Re: Any way to play iim on the firefox which is already open
Hello StockForum,
Please see the following post and add your comments there:
http://forum.imacros.net/viewtopic.php?f= ... =15#p36918
Please see the following post and add your comments there:
http://forum.imacros.net/viewtopic.php?f= ... =15#p36918
Regards,
Tom, iMacros Support
Tom, iMacros Support
Re: Any way to play iim on the firefox which is already open
I have a very similar question but could not figure an answer from the previous replies.
I have a lot of test automation experience with commercial tools like Silk test and Winrunner but I am new to both iMacros and Python, trying to evaluate iMacros for my company.
My environment: Win XP and IE8.
Here is what I try to do:
I run a Python script that opens my application and logs in a user:
# Start my app and log in
import win32com.client
def StartApp():
import win32com.client
w=win32com.client.Dispatch("imacros")
w.iimInit("", 1)
w.iimPlay("App Automation\\App_Login")
if __name__=='__main__':
StartApp()
This starts iMacros browser with my application and works fine.
Next I need to run more Python scripts and recorded iMacros for example, mymacro1.iim, mymacro2.iim and so on to test the application when it is already up and running without opening another instance of the browser and application.
So my first question is: how do I call more iMacros from a python script(s) to continue testing the same instance of my application?
Should it be the same Python script that opens the iMacros browser or can it be a different script?
My second question is: how do I pass a variable value from Python script to my iMacros script?
For example: I have a list with values in Python:
# my code
mylist = ["2137", "2755", "5478"]
for value in mylist:
myVar1 = value
print value
# here I need to pass myVar1 value to iMacros and then play mymacro1 with CONTENT={{myVar1}}
iimPlay("App Automation\\mymacro1")
My efforts failed at this point and my brain got sick
Could someone proficient in both Python and iMacros provide an easy to understand answer and code sample for my problem.
Any help greatly appreciated.
Thanks a lot.
Lisa
I have a lot of test automation experience with commercial tools like Silk test and Winrunner but I am new to both iMacros and Python, trying to evaluate iMacros for my company.
My environment: Win XP and IE8.
Here is what I try to do:
I run a Python script that opens my application and logs in a user:
# Start my app and log in
import win32com.client
def StartApp():
import win32com.client
w=win32com.client.Dispatch("imacros")
w.iimInit("", 1)
w.iimPlay("App Automation\\App_Login")
if __name__=='__main__':
StartApp()
This starts iMacros browser with my application and works fine.
Next I need to run more Python scripts and recorded iMacros for example, mymacro1.iim, mymacro2.iim and so on to test the application when it is already up and running without opening another instance of the browser and application.
So my first question is: how do I call more iMacros from a python script(s) to continue testing the same instance of my application?
Should it be the same Python script that opens the iMacros browser or can it be a different script?
My second question is: how do I pass a variable value from Python script to my iMacros script?
For example: I have a list with values in Python:
# my code
mylist = ["2137", "2755", "5478"]
for value in mylist:
myVar1 = value
print value
# here I need to pass myVar1 value to iMacros and then play mymacro1 with CONTENT={{myVar1}}
iimPlay("App Automation\\mymacro1")
My efforts failed at this point and my brain got sick
Could someone proficient in both Python and iMacros provide an easy to understand answer and code sample for my problem.
Any help greatly appreciated.
Thanks a lot.
Lisa
Re: Any way to play iim on the firefox which is already open
to play extra macros in the browser, just use another iimPlay command.
e.g.
w.iimPlay("App Automation\\App_Login")
w.iimPlay("App Automation\\Test1.iim")
w.iimPlay("App Automation\\Test2.iim")
to pass a variable in use iimSet
e.g.
yourVar="random value"
v.iimSet("macroVarName", yourVar)
then in your macro reference it with {{macroVarName}}
e.g.
w.iimPlay("App Automation\\App_Login")
w.iimPlay("App Automation\\Test1.iim")
w.iimPlay("App Automation\\Test2.iim")
to pass a variable in use iimSet
e.g.
yourVar="random value"
v.iimSet("macroVarName", yourVar)
then in your macro reference it with {{macroVarName}}
Re: Any way to play iim on the firefox which is already open
Great help, my scripts work fine that way.
This is exactly what I need.
I was wrong on this part:
yourVar="random value"
v.iimSet("macroVarName", yourVar)
Thanks a lot.
My only question is: is it possible to call more iMacros (Test2.iim, Test3.iim and so on) using different Python scripts (test modules) for the same application instance that is already running without repeating this part:
# Start my app and log in
import win32com.client
def StartApp():
import win32com.client
w=win32com.client.Dispatch("imacros")
w.iimInit("", 1)
w.iimPlay("App Automation\\App_Login")
if __name__=='__main__':
StartApp()
as the w.iimPlay variable value will be lost.
In other words how to let Python know that iMacros is running already and just run another iim.Play(Test.iim) without starting the browser.
I try to avoid long Python scripts and break them into different logical modules (test cases).
Thanks a lot.
Lisa
This is exactly what I need.
I was wrong on this part:
yourVar="random value"
v.iimSet("macroVarName", yourVar)
Thanks a lot.
My only question is: is it possible to call more iMacros (Test2.iim, Test3.iim and so on) using different Python scripts (test modules) for the same application instance that is already running without repeating this part:
# Start my app and log in
import win32com.client
def StartApp():
import win32com.client
w=win32com.client.Dispatch("imacros")
w.iimInit("", 1)
w.iimPlay("App Automation\\App_Login")
if __name__=='__main__':
StartApp()
as the w.iimPlay variable value will be lost.
In other words how to let Python know that iMacros is running already and just run another iim.Play(Test.iim) without starting the browser.
I try to avoid long Python scripts and break them into different logical modules (test cases).
Thanks a lot.
Lisa
Re: Any way to play iim on the firefox which is already open
when you do iimInit you can pass in -false (possible just false) and this will tell the engine to re-use the existing browser. this would save you repeating Macro1, but not the other lines. I don't know much about Python, but could you not pass w around as a variable to reuse in other modules?
Re: Any way to play iim on the firefox which is already open
Thank you again for your help.
Everything works fine now.
Lisa
Everything works fine now.
Lisa