diikee Posted July 10, 2008 Share Posted July 10, 2008 Well, my script tests one server browser at a time. Is it possible to create and navigate to different server browsers at the same time?? Link to comment Share on other sites More sharing options...
Valuater Posted July 10, 2008 Share Posted July 10, 2008 (edited) Show us the code you are now using and.... maybe we can advise how to move forward with it! 8) Edited July 10, 2008 by Valuater Link to comment Share on other sites More sharing options...
diikee Posted July 10, 2008 Author Share Posted July 10, 2008 (edited) #include <IE.au3> #include <File.au3> #include <Process.au3> Opt("WinTextmatchMode", 1) Opt("WinTitleMatchMode",2) ;#cs Global $Paused HotKeySet("{PAUSE}", "TogglePause") $ip = InputBox("Get Ip Address", "Enter IP Address: ") $oIE = _IECreate($ip) _IENavigate($oIE, $ip) _IELoadWait($oIE) $file = FileOpen("test1.txt", 9) If $file = -1 Then MsgBox(0, "Error", "Unable to open file.") Exit EndIf FileWrite($file, "SQA Testing Started at: " & @MDAY & @MON & @YEAR & @HOUR & @MIN & @CRLF) Func TogglePause() $Paused = NOT $Paused While $Paused sleep(10000) ToolTip('Script is "Paused"',0,0) WEnd ToolTip("") EndFunc FileWrite($file, "SQA Testing Finished at: " & @MDAY & @MON & @YEAR & @HOUR & @MIN & @CRLF) FileClose($file) Edited July 10, 2008 by diikee Link to comment Share on other sites More sharing options...
Valuater Posted July 10, 2008 Share Posted July 10, 2008 Just one idea... expandcollapse popup#include <IE.au3> #include <File.au3> #include <Process.au3> Opt("WinTextmatchMode", 1) Opt("WinTitleMatchMode", 2) Global $Paused HotKeySet("{PAUSE}", "TogglePause") $ip = InputBox("Get Ip Address", "Enter 1 or more IP Address separated by a comma: ") If $ip = "" Then Exit $file = FileOpen("test1.txt", 9) If $file = -1 Then MsgBox(0, "Error", "Unable to open file.") Exit EndIf FileWrite($file, "SQA Testing Started at: " & @MDAY & @MON & @YEAR & @HOUR & @MIN & @CRLF) $ip = StringSplit($ip, ",") For $x = 1 To $ip[0] $oIE = _IECreate($ip[$x]) FileWrite($file, "SQA Testing IP#: " & $ip[$x] & @CRLF) ToolTip('Testing ' & $ip[$x], 0, 0) $oIE = "" Next ToolTip("") FileWrite($file, "SQA Testing Finished at: " & @MDAY & @MON & @YEAR & @HOUR & @MIN & @CRLF) FileClose($file) ; - Functions ------- Func TogglePause() $Paused = Not $Paused While $Paused Sleep(10000) ToolTip('Script is "Paused"', 0, 0) WEnd ToolTip("") EndFunc ;==>TogglePause 8) Link to comment Share on other sites More sharing options...
diikee Posted July 10, 2008 Author Share Posted July 10, 2008 expandcollapse popup#include <IE.au3> #include <File.au3> #include <Process.au3> Opt("WinTextmatchMode", 1) Opt("WinTitleMatchMode", 2) Global $Paused HotKeySet("{PAUSE}", "TogglePause") $ip = InputBox("Get Ip Address", "Enter 1 or more IP Address separated by a comma: ") If $ip = "" Then Exit $file = FileOpen("test1.txt", 9) If $file = -1 Then MsgBox(0, "Error", "Unable to open file.") Exit EndIf FileWrite($file, "SQA Testing Started at: " & @MDAY & @MON & @YEAR & @HOUR & @MIN & @CRLF) $ip = StringSplit($ip, ",") For $x = 1 To $ip[0] $oIE = _IECreate($ip[$x]) FileWrite($file, "SQA Testing IP#: " & $ip[$x] & @CRLF) ToolTip('Testing ' & $ip[$x], 0, 0) $oIE = "" Next For $i = 1 to 3 Step 1 live() Next Func live() Sleep(2000) _IELinkClickByText($oIE, "live") Sleep(2000) $zs = _IETagnameGetCollection($oIE, "a") For $z in $zs If String($z.className) = "zoomin" Then _IEAction($z, "focus") Sleep(500) $iScreenX = _IEPropertyGet($z, "screenx") $iScreenY = _IEPropertyGet($z, "screeny") $iWidth = _IEPropertyGet($z, "width") $iHeight = _IEPropertyGet($z, "height") MouseMove($iScreenX + $iWidth/2, $iScreenY + $iHeight/2) MouseClick("left") Sleep(500) ;MouseClick("left") MouseDown("left") MouseUp("left") ConsoleWrite("Completed: zoomin successfully" & @LF) ExitLoop ;EndIf EndIf Next Sleep(5000) EndFunc ToolTip("") FileWrite($file, "SQA Testing Finished at: " & @MDAY & @MON & @YEAR & @HOUR & @MIN & @CRLF) FileClose($file) ; - Functions ------- Func TogglePause() $Paused = Not $Paused While $Paused Sleep(10000) ToolTip('Script is "Paused"', 0, 0) WEnd ToolTip("") EndFunc ;==>TogglePause It opens 2 browsers with same elements but gets this error: C:\autoit\mbrowser.au3 (45) : ==> Variable must be of type "Object".: For $z in $zs For $z in $zs^ ERROR Link to comment Share on other sites More sharing options...
diikee Posted July 11, 2008 Author Share Posted July 11, 2008 Anyone been able to test numerous browsers using the same script??or Can I schedule it where I run it for few hours and then test another server browser?? Link to comment Share on other sites More sharing options...
DaleHohm Posted July 12, 2008 Share Posted July 12, 2008 You can open and multiple browsers simply by using unique object variables: $oIE1 = _IECreate(url1) $oIE2 = _IECreate(url2) $oIE3 = _IECreate(url3) $oIE4 = _IECreate(url4) You now have 4 browsers and you can can control eash independantly simply by specifying the appropriate $oIEx object in your _IE* function calls. Dale Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model Automate input type=file (Related) Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded Better Better? IE.au3 issues with Vista - Workarounds SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead? Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble Link to comment Share on other sites More sharing options...
diikee Posted July 14, 2008 Author Share Posted July 14, 2008 That means I have to change my entire script to include the other 3 reference objects. is the mouse shared across all the browsers, or how do I click buttons without actually hogging the actual mouse?? Can we virtually click the buttons without having the mouse move to the button?? Link to comment Share on other sites More sharing options...
DaleHohm Posted July 14, 2008 Share Posted July 14, 2008 Try it. Create a test. It's easy. The _IE* functions do not move the mouse pointer. Dale Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model Automate input type=file (Related) Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded Better Better? IE.au3 issues with Vista - Workarounds SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead? Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble Link to comment Share on other sites More sharing options...
diikee Posted July 15, 2008 Author Share Posted July 15, 2008 Dale, trying to make sure no one gets confused on the motive, $te = _IETagNameGetCollection($oIE, "A") --->>> this would access a tag inside $oIE I want to input 3 comma separated ip address, which would navigate to all the 3 browsers at the same time and get tested by one script. With your explanation above I need $oIE, $oIE1, $oIE2 ---->>>to access all the browsers $te = _IETagNameGetCollection($oIE, "A") $te = _IETagNameGetCollection($oIE1, "A") $te = _IETagNameGetCollection($oIE2, "A") is there an easier way other than trippling my code size?? Can I run the test for so many hours and then navigate to another server browser and continue testing?? Link to comment Share on other sites More sharing options...
DaleHohm Posted July 16, 2008 Share Posted July 16, 2008 Sure, use an array and a loop Local $aIE[4] $aIE[0] = _IECreate(url0) $aIE[1] = _IECreate(url1) $aIE[2] = _IECreate(url2) $aIE[3] = _IECreate(url3) For $i = 0 to Ubound($aIE) - 1 $oIE = $aIE[$i] ; do your stuff here... Next BTW, _IETagNameGetCollection returns a collection of links rather than just 1 unless you use the index parameter. Dale Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model Automate input type=file (Related) Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded Better Better? IE.au3 issues with Vista - Workarounds SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead? Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble Link to comment Share on other sites More sharing options...
diikee Posted July 17, 2008 Author Share Posted July 17, 2008 Seems like I've got it going with all your help. I want to open all the browsers but instead of waiting for each to finish before testing the next one, I would like to click on buttons on one browser, put it to the back bring the other browser on top click on the same buttons like on the first browser, then put it to the back and work on another browser. All browsers have same buttons. But each UAT has different options how can this be accomplished?? Link to comment Share on other sites More sharing options...
DaleHohm Posted July 17, 2008 Share Posted July 17, 2008 (edited) The IE functions doe not care about stacking order. They do not rely on the window having focus. In fact they can be in the tray or even invisible. What the heck are you really trying to do? Dale Edited July 17, 2008 by DaleHohm Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model Automate input type=file (Related) Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded Better Better? IE.au3 issues with Vista - Workarounds SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead? Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble Link to comment Share on other sites More sharing options...
diikee Posted July 18, 2008 Author Share Posted July 18, 2008 (edited) -Each unit comes with a browser for configuration. -to test each unit, I have to navigate to each unit ip, and some of the buttons on the browser don't have window (handle, class, text, classnn) so the only way I can access them is to focus and move the mouse to that particular button. So, I figured I can open all the browsers and click on the buttons on one browser, second browser, third browser -----take turns but at the same time test all the units. Right now I can test one at a time using the comma seperated ips method. How do I open all of the browsers, click buttons on one browser, bring the second one to the front, click buttons on it. Basically click on 6 seperate browsers, one at a time??? this tests one unit at a time: $ip = InputBox("Get Ip Address", "Enter 1 or more IP Address separated by a comma: ") If $ip = "" Then Exit $ip = StringSplit($ip, ",") For $i = 1 to 2 Step 1 For $x = 1 To $ip[0] $oIE = _IECreate($ip[$x]) WinClose($oIE) Sleep(2000) $oIE = "" Next Next when I enter the comma separated ips, can I open all the browsers to the ips instead of waiting for one to finish and the iterate to the next one?? Edited July 18, 2008 by diikee Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now