I'm trying build a test execution system which executes tests written based on selenium, webdriver and stuff. Basically these tests are meant for cross browser testing of product functionalities. A project which includes these tests is differentiated into two different suites each suite containing some specific set of tests. So we have three different resources here namely go-server, selenium grid, test VMs(which basically comes with different browsers like IE-10, Firefox-47.0, Chrome 53.0 etc). Test execution works in a way like tests are triggered from go end and request is processed to selenium grid. Selenium grid actually communicates with Test VMs and execute the test operation over there and return back the results. Suppose if the process have two different suites and need to be tested on 9 different combinations of browsers like IE-9, IE-10, IE-11, FF-46, FF-47, FF-48, GC-51, GC-52, GC-53 etc. then we need to create 9*2=18 jobs to trigger all the test suites in parallel. Which requires 18 different agents to process these jobs. So instead of having so many agents can i achieve this using less number of agents somehow?? Now my question may sound bit familiar. If we can build a capability for an agent to process concurrent jobs then we can solve lot many problems including redundancy !!
On Tue, Oct 25, 2016 at 1:44 AM, Aditya Byreddy <[email protected]> wrote: > Mr.Jason, above idea is good but its a bit different from what i need to > achieve. Better i can give a more information about what i'm trying to do. > > On Mon, Oct 24, 2016 at 9:01 PM, Jason Whittington < > [email protected]> wrote: > >> If nothing else you could do this do this by writing a script that >> launches a bunch of processes in parallel and then waits for them to exit. >> For example the powershell below will run two instances of notepad on a >> windows box and return 0 if they both exit normally and 1 if either of them >> terminates abnormally. You should be able to do something similar in a >> bash script if you are on Linux. >> >> $a = [Diagnostics.Process]::Start("notepad") >> $b = [Diagnostics.Process]::Start("notepad") >> >> Wait-Process $a.Id >> Wait-Process $b.Id >> >> Write-Host $a.ExitCode >> Write-Host $b.ExitCode >> >> if($a.ExitCode -ne 0 -Or $b.ExitCode -ne 0) { >> Write-Host "There was a problem!" >> return 1 >> } >> else { >> Write-Host "Both Succeeded!" >> return 0 >> } >> >> This would be a single job/task but it should give you all the >> flexibility you need. If you make your script take parameters you could >> still control it via GoCD parameters or environment variables. >> >> Jason >> >> -- >> You received this message because you are subscribed to the Google Groups >> "go-cd" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> > > > > -- > *Regards,* > *B.Aditya Narayana,* > *Reg. Id. R092574,* > *Computer Science and Engineering Dept.* > *APIIIT-RKV,* > *RGUKT,* > *KADAPA.* > *Contact: 9908585071 , 8125497669 <8125497669>* > *Email: [email protected] <[email protected]>* > -- *Regards,* *B.Aditya Narayana,* *Reg. Id. R092574,* *Computer Science and Engineering Dept.* *APIIIT-RKV,* *RGUKT,* *KADAPA.* *Contact: 9908585071 , 8125497669* *Email: [email protected] <[email protected]>* -- You received this message because you are subscribed to the Google Groups "go-cd" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
