Issues, Questions in Selenium Grid2.0 C#

988 views
Skip to first unread message

Kaleem Uddin Mohammed Abdul

unread,
Jul 27, 2015, 9:18:35 AM7/27/15
to Selenium Users
The following are the issues which I'm facing
1. WebDriver.Quit() method throws below error when running test case using Selenium Grid. Whereas Driver.Close() works fine but I need to use Quit since my Test case will open multiple browser window.

17:25:16.620 INFO - Command failed to close cleanly. Destroying forcefully (v2).
 org.openqa.selenium.os.UnixProcess$SeleniumWatchDog@4e1ca690
17:25:16.624 WARN - Process refused to die after 10 seconds, and couldn't taskki
ll it
java.lang.NullPointerException: Unable to find executable for: taskkill
        at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:
250)
        at org.openqa.selenium.os.UnixProcess.<init>(UnixProcess.java:62)
        at org.openqa.selenium.os.CommandLine.<init>(CommandLine.java:38)
        at org.openqa.selenium.os.WindowsUtils.killPID(WindowsUtils.java:172)
        at org.openqa.selenium.os.ProcessUtils.killWinProcess(ProcessUtils.java:
138)
        at org.openqa.selenium.os.ProcessUtils.killProcess(ProcessUtils.java:81)

        at org.openqa.selenium.os.UnixProcess$SeleniumWatchDog.destroyHarder(Uni
xProcess.java:248)
        at org.openqa.selenium.os.UnixProcess$SeleniumWatchDog.access$2(UnixProc
ess.java:245)
        at org.openqa.selenium.os.UnixProcess.destroy(UnixProcess.java:124)
        at org.openqa.selenium.os.CommandLine.destroy(CommandLine.java:153)
        at org.openqa.selenium.firefox.FirefoxBinary.quit(FirefoxBinary.java:259
)
        at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.qu
it(NewProfileExtensionConnection.java:202)
        at org.openqa.selenium.firefox.FirefoxDriver$LazyCommandExecutor.quit(Fi
refoxDriver.java:376)
        at org.openqa.selenium.firefox.FirefoxDriver.stopClient(FirefoxDriver.ja
va:322)
        at org.openqa.selenium.remote.RemoteWebDriver.quit(RemoteWebDriver.java:
477)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.openqa.selenium.support.events.EventFiringWebDriver$2.invoke(Even
tFiringWebDriver.java:102)
        at com.sun.proxy.$Proxy1.quit(Unknown Source)
        at org.openqa.selenium.support.events.EventFiringWebDriver.quit(EventFir
ingWebDriver.java:199)
        at org.openqa.selenium.remote.server.handler.DeleteSession.call(DeleteSe
ssion.java:50)
        at org.openqa.selenium.remote.server.handler.DeleteSession.call(DeleteSe
ssion.java:1)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at org.openqa.selenium.remote.server.DefaultSession$1.run(DefaultSession
.java:176)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
17:25:17.993 WARN - Exception thrown
java.lang.RuntimeException: Process refused to die after 10 seconds, and couldn'
t taskkill it: Unable to find executable for: taskkill
        at org.openqa.selenium.os.ProcessUtils.killWinProcess(ProcessUtils.java:
142)
        at org.openqa.selenium.os.ProcessUtils.killProcess(ProcessUtils.java:81)

        at org.openqa.selenium.os.UnixProcess$SeleniumWatchDog.destroyHarder(Uni
xProcess.java:248)
        at org.openqa.selenium.os.UnixProcess$SeleniumWatchDog.access$2(UnixProc
ess.java:245)
        at org.openqa.selenium.os.UnixProcess.destroy(UnixProcess.java:124)
        at org.openqa.selenium.os.CommandLine.destroy(CommandLine.java:153)
        at org.openqa.selenium.firefox.FirefoxBinary.quit(FirefoxBinary.java:259
)
        at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.qu
it(NewProfileExtensionConnection.java:202)
        at org.openqa.selenium.firefox.FirefoxDriver$LazyCommandExecutor.quit(Fi
refoxDriver.java:376)
        at org.openqa.selenium.firefox.FirefoxDriver.stopClient(FirefoxDriver.ja
va:322)
        at org.openqa.selenium.remote.RemoteWebDriver.quit(RemoteWebDriver.java:
477)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.openqa.selenium.support.events.EventFiringWebDriver$2.invoke(Even
tFiringWebDriver.java:102)
        at com.sun.proxy.$Proxy1.quit(Unknown Source)
        at org.openqa.selenium.support.events.EventFiringWebDriver.quit(EventFir
ingWebDriver.java:199)
        at org.openqa.selenium.remote.server.handler.DeleteSession.call(DeleteSe
ssion.java:50)
        at org.openqa.selenium.remote.server.handler.DeleteSession.call(DeleteSe
ssion.java:1)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at org.openqa.selenium.remote.server.DefaultSession$1.run(DefaultSession
.java:176)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException: Unable to find executable for: taskki
ll
        at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:
250)
        at org.openqa.selenium.os.UnixProcess.<init>(UnixProcess.java:62)
        at org.openqa.selenium.os.CommandLine.<init>(CommandLine.java:38)
        at org.openqa.selenium.os.WindowsUtils.killPID(WindowsUtils.java:172)
        at org.openqa.selenium.os.ProcessUtils.killWinProcess(ProcessUtils.java:
138)
        ... 24 more
2. I registered the node using the below command mentioned @ http://www.seleniumhq.org/docs/07_selenium_grid.jsp#starting-selenium-grid but it throws an error
Test Name:    ClickUserIDLink
Test FullName:    DellCSWTests.AdminTests.ClickUserIDLink
Test Source:    c:\Users\k_mohammedabdul\Documents\Visual Studio 2013\Projects\SeleniumPOC\SeleniumPOC\AdminTests.cs : line 109
Test Outcome:    Failed
Test Duration:    0:00:00.5480204

Result Message:    Initialization method DellCSWTests.AdminTests.TestInitialize threw exception. System.InvalidOperationException: System.InvalidOperationException: Error forwarding the new session Empty pool of VM for setup Capabilities [{browserName=firefox, version=39.0, platform=WINDOWS}].
Result StackTrace:   
at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 1126
   at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 920
   at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 888
   at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 89
   at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(Uri remoteAddress, ICapabilities desiredCapabilities) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 108
   at DellCSWTests.AdminTests.RunRemotely() in c:\Users\k_mohammedabdul\Documents\Visual Studio 2013\Projects\SeleniumPOC\SeleniumPOC\AdminTests.cs:line 29
   at DellCSWTests.AdminTests.TestInitialize() in c:\Users\k_mohammedabdul\Documents\Visual Studio 2013\Projects\SeleniumPOC\SeleniumPOC\AdminTests.cs:line 39


java -jar selenium-server-standalone-2.46.0.jar -role hub


java -jar selenium-server-standalone-2.46.0.jar -role node  -hub http://localhost:4444/grid/register -port 9999

But when I register the node using the below command which I got from google it works fine
C:\Kaleem\selenium-dotnet-2.46.0\SeleniumGrid>java -jar selenium-server-standalo
ne-2.46.0.jar -role node -port 9999 -hub http://localhost:4444/grid/register -br
owser "browserName=firefox,version=39.0,platform=WINDOWS,maxInstances=5"
Below is my C# code.
 public void RunRemotely()
        {
            DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities = DesiredCapabilities.Firefox();
            capabilities.SetCapability(CapabilityType.BrowserName, "firefox");
            capabilities.SetCapability(CapabilityType.Platform, new Platform(PlatformType.Windows));
            capabilities.SetCapability(CapabilityType.Version, "39.0");

            _WebDriver = new RemoteWebDriver(new Uri("http://localhost:4444/wd/hub"), capabilities);
        }



3. I cannot see the 5 instance of FireFox running on my machine  when I set MaxInstance=5 but the log on Node is present. Is this expected?
java -jar selenium-server-standalo
ne-2.46.0.jar -role node -port 9999 -hub http://localhost:4444/grid/register -br
owser "browserName=firefox,version=39.0,platform=WINDOWS,maxInstances=5"


Krishnan Mahadevan

unread,
Jul 27, 2015, 11:15:55 AM7/27/15
to Selenium Users
  • For issue #1, the error states that it cant find the executable "taskkill". What OS is this ?
17:25:17.993 WARN - Exception thrown
java.lang.RuntimeException: Process refused to die after 10 seconds, and couldn't taskkill it: Unable to find executable for: taskkill
  • For issue #3, I didn't quite understand what the question was. So it would be good if you could rephrase your question/elaborate it.


Thanks & Regards
Krishnan Mahadevan

"All the desirable things in life are either illegal, expensive, fattening or in love with someone else!"
My Scribblings @ http://wakened-cognition.blogspot.com/
My Technical Scribbings @ http://rationaleemotions.wordpress.com/

--
You received this message because you are subscribed to the Google Groups "Selenium Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to selenium-user...@googlegroups.com.
To post to this group, send email to seleniu...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/selenium-users/da8874db-9503-41f4-9f40-b95a641e8401%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Kaleem Uddin Mohammed Abdul

unread,
Jul 27, 2015, 12:48:02 PM7/27/15
to Selenium Users, makale...@gmail.com
Thanks Krishna for replying at the earliest. PFB my response to your questions.
Issue#1:


Issue#2.
I will try later and I don't see much difference except you are having these parameters in config file.
From these I came to conclusion that seleniumhq.org documentation needs to be updated.

Issue#3.
I mean to stay with my naked eye I can't see FireFox 5 instances running on my Machine but the Node Command Prompt has 5 instances of Firefox and each action in the test case is repeated 5 times.

Thanks,
Kaleem.

Kaleem Uddin Mohammed Abdul

unread,
Jul 27, 2015, 12:58:21 PM7/27/15
to Selenium Users, makale...@gmail.com
Sorry for the spam, I attached the screen shot for issue1 but it is missing.


Thanks Krishna for replying at the earliest. PFB my response to your questions.
Issue#1:
OS-Windows 8.1
Bit-64
Processor-i5 2.59GHZ
RAM-8 GB


Issue#2.
I will try later and I don't see much difference except you are having these parameters in config file.
From these I came to conclusion that seleniumhq.org documentation needs to be updated.

Issue#3.
I mean to stay with my naked eye I can't see FireFox 5 instances running on my Machine but the Node Command Prompt has 5 instances of Firefox and each action in the test case is repeated 5 times.

Thanks,
Kaleem.

On Monday, July 27, 2015 at 6:48:35 PM UTC+5:30, Kaleem Uddin Mohammed Abdul wrote:

Kaleem Uddin Mohammed Abdul

unread,
Jul 28, 2015, 2:27:43 AM7/28/15
to Selenium Users, makale...@gmail.com
Issue#4: Unable to run test cases on Google Chrome using Selenium Grid.
C# codee for Grid

DesiredCapabilities capabilities = new DesiredCapabilities();
 capabilities = DesiredCapabilities.Chrome();
            capabilities.SetCapability(CapabilityType.BrowserName, "googlechrome");
            capabilities.SetCapability(CapabilityType.Platform, new Platform(PlatformType.Windows));
            capabilities.SetCapability(CapabilityType.Version, "44.0.2403.107");

Stack Trace:
Test Name:    TestMethod
Test FullName:    Dell.CSW.CSWTests.UnitTest.TestMethod
Test Source:    c:\Users\k_mohammedabdul\Documents\Visual Studio 2013\Projects\SeleniumPOC\SeleniumPOC\UnitTest.cs : line 120
Test Outcome:    Failed
Test Duration:    0:00:01.0668455

Result Message:    Initialization method Dell.CSW.CSWTests.UnitTest.TestInitialize threw exception. System.InvalidOperationException: System.InvalidOperationException: The path to the driver executable must be set by the webdriver.ie.driver system property; for more information, see https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver. The latest version can be downloaded from http://selenium-release.storage.googleapis.com/index.html.

Result StackTrace:   
at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 1126
   at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 920
   at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 888
   at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 89
   at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(Uri remoteAddress, ICapabilities desiredCapabilities) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 108
   at Dell.CSW.CSWTests.UnitTest.RunRemotely() in c:\Users\k_mohammedabdul\Documents\Visual Studio 2013\Projects\SeleniumPOC\SeleniumPOC\UnitTest.cs:line 73
   at Dell.CSW.CSWTests.UnitTest.TestInitialize() in c:\Users\k_mohammedabdul\Documents\Visual Studio 2013\Projects\SeleniumPOC\SeleniumPOC\UnitTest.cs:line 86

Registered Hub using the below command
C:\Kaleem\selenium-dotnet-2.46.0\SeleniumGrid>java -jar selenium-server-standalone-2.46.0.jar -role hub -port 8888

Registered Node using the below command
C:\Kaleem\selenium-dotnet-2.46.0\SeleniumGrid>java -jar selenium-server-standalone-2.46.0.jar -role node  -hub http://localhost:8888/grid/register -port 9999 -browser "browserName=googlechrome,platform=WINDOWS,version=44.0.2403.107,maxInstances=5" -Dwebdriver.chrome.driver=C:\Kaleem\chromedriver_win32\chromedriver.exe ensureCleanSession=true

WorkAround:
while registering Node instead of _Dwebdriver.chrome.driver use _Dwebdriver.ie.driver


On Monday, July 27, 2015 at 6:48:35 PM UTC+5:30, Kaleem Uddin Mohammed Abdul wrote:

Mercious

unread,
Jul 28, 2015, 11:24:35 AM7/28/15
to Selenium Users, makale...@gmail.com
The errormessage you have posted talks about

"the webdriver.ie.driver system property"

Yet you are talking about google chrome.

You must have messed something up. Your test seems to be started with Internet Explorer as driver and that is why "the webdriver.ie.driver system" is being searched, not "the webdriver.chrome.driver system property". 

Jim Evans

unread,
Jul 28, 2015, 11:59:45 AM7/28/15
to Selenium Users, makale...@gmail.com
Why are you bothering to override the browser name capability? DesiredCapabilities.Chrome gives you the proper browser name ("chrome", not "googlechrome") for the Chrome browser to be matched and executed in the grid.

Kaleem Uddin Mohammed Abdul

unread,
Aug 3, 2015, 1:39:24 AM8/3/15
to Selenium Users
Thanks Jim! When I don't provide user defined name for browser name, the issue#4 doesn't exists more!

Can someone please update me on Issue#1 and Issue#3.

Thanks,
Kaleem.


On Monday, July 27, 2015 at 6:48:35 PM UTC+5:30, Kaleem Uddin Mohammed Abdul wrote:

Mercious

unread,
Aug 4, 2015, 10:49:46 AM8/4/15
to Selenium Users
What do you mean by issue #3? 

You mean that you set maxInstances to 5 but there is only 1 instance being created?

If so, that is most likely because of the node being in use by a session. Once a session is started on it, say a test that is executed in firefox, another session wont be started, thus another firefox-instance wont be opened. 

Kaleem Uddin Mohammed Abdul

unread,
Aug 5, 2015, 8:08:44 AM8/5/15
to Selenium Users
If this is the case "
If so, that is most likely because of the node being in use by a session. Once a session is started on it, say a test that is executed in firefox, another session wont be started, thus another firefox-instance wont be opened. ".
I would like to know, how could I open multiple instance of Browser and share my test cases across those Browsers.


Thanks,
Kaleem.

On Monday, July 27, 2015 at 6:48:35 PM UTC+5:30, Kaleem Uddin Mohammed Abdul wrote:

Mercious

unread,
Aug 5, 2015, 9:42:40 AM8/5/15
to Selenium Users
I can only suggest what i did and that was with JUNit.

Basically, ever test-method is instanced three times: Once for every browser that i specify.

However, every browser runs on his own Selenium-Grid node too. It's not like a single node tries to work with all three browsers at the same time.

That would not make sense to me and the Internet Explorer would have real issues with that, because it can not be ran with other browsers in parallel without having nativeEvents disabled.

Just to quickly explain it again:
Say i have class TestA with one testmethod called TestMethod1

When i run it, following happens:
TestMethod1 in FireFox gets send to my Grid-Server. The grid chooses a node to run it on and then the test runs.
TestMethod1 in Chrome gets send to my Grid-Server. The grid chooses a node to run it on and then the test runs.
TestMethod1 in InternetExplorer gets send to my Grid-Server. The grid chooses a node to run it on and the test runs. 

These all happen in Parallel, because i specified a Parallel and also Parametized runner.  So at that time, 3 Tests run in Parallel on 3 different nodes.

If there are more nodes available, then futher Test-Classes and TestMethods are executed in parallel. Otherwise the grid-server will make JUnit wait for an available node. 

Is that your question? 


Kaleem Uddin Mohammed Abdul

unread,
Aug 5, 2015, 10:04:35 AM8/5/15
to Selenium Users
I was looking for the below
The following are the test cases
Test1
Test2
Test3
Test4
Test5
The following are the Browser instance
FireFoxInstance1
FireFoxInstance2
FireFoxInstance3
FireFoxInstance4
FireFoxInstance5

I would like to assign
FireFoxInstance1=Test1
FireFoxInstance2=Test2
FireFoxInstance3=Test3
FireFoxInstance4=Test4
FireFoxInstance5=Test5

As mentioned in my initial thread, I'm using C#.

On Monday, July 27, 2015 at 6:48:35 PM UTC+5:30, Kaleem Uddin Mohammed Abdul wrote:

Kaleem Uddin Mohammed Abdul

unread,
Aug 13, 2015, 3:24:32 AM8/13/15
to Selenium Users
Can someone  please clarify my question.


I was looking for the below
The following are the test cases
Test1
Test2
Test3
Test4
Test5
The following are the Browser instance
FireFoxInstance1
FireFoxInstance2
FireFoxInstance3
FireFoxInstance4
FireFoxInstance5

I would like to assign
FireFoxInstance1=Test1
FireFoxInstance2=Test2
FireFoxInstance3=Test3
FireFoxInstance4=Test4
FireFoxInstance5=Test5

As mentioned in my initial thread, I'm using C#.

On Monday, July 27, 2015 at 6:48:35 PM UTC+5:30, Kaleem Uddin Mohammed Abdul wrote:

Mercious

unread,
Aug 13, 2015, 11:54:38 AM8/13/15
to Selenium Users
http://nunit.org/index.php?p=parameterizedTests&r=2.5

I cannot give your more to work with nor does anyone else. This is purely specific to whatever testing framework that you use.

The link i suggested provides instructions for Nunit, which is a very common C# testing framework. 

If you are looking for parallized tests, then you could read through this thread: http://stackoverflow.com/questions/3313163/how-can-i-run-nunit-tests-in-parallel

Your question is really unclear and it is actually very hard to understand what you are asking in specific. 

Whatever you want, it's either related to a) the testing framework you use or b) your code management, how you pass driver-instances, how you use and share them among tests, etc.

But it infact does not have anything to do with Selenium.

Kaleem Uddin Mohammed Abdul

unread,
Aug 13, 2015, 1:01:36 PM8/13/15
to Selenium Users
I'm not sure why my question was unclear.

Here, I am looking for distribution of test cases across many instances of a browser such that I can complete my test execution very fast.

My question was after reading the statement "This has two advantages. First, if you have a large test suite, or a slow-running test suite, you can boost its performance substantially by using Selenium Grid to divide your test suite to run different tests at the same time using those different machines. Also, if you must run your test suite on multiple environments you can have different remote machines supporting and running your tests in them at the same time. In each case Selenium Grid greatly improves the time it takes to run your suite by making use of parallel processing." of Selenium Grid which is mention @ http://docs.seleniumhq.org/docs/01_introducing_selenium.jsp


The following are the test cases
Test1
Test2
Test3
Test4
Test5
The following are the Browser instance
FireFoxInstance1
FireFoxInstance2
FireFoxInstance3
FireFoxInstance4
FireFoxInstance5

I would like to assign
FireFoxInstance1=Test1
FireFoxInstance2=Test2
FireFoxInstance3=Test3
FireFoxInstance4=Test4
FireFoxInstance5=Test5

On Monday, July 27, 2015 at 6:48:35 PM UTC+5:30, Kaleem Uddin Mohammed Abdul wrote:

Mercious

unread,
Aug 14, 2015, 3:33:20 AM8/14/15
to Selenium Users
So your question is clearly parallelism.

The link i provided in my previous post shows a beautiful SO thread which discussed all the possible options to achieve parallelism in a testing framework for C#.

That's all you need. Go read it, get into it and understand it. Parallelism is a little trick, at least it was for JUnit, but not really hard. You could implement this within a day. 

Joerg Schmidt

unread,
Aug 18, 2015, 11:02:58 PM8/18/15
to Selenium Users
For issue #1:

For me it seems very strange to see something like:
 UnixProcess.destroy(UnixProcess.java:124)
in the Stacktrace when the process is running on Windows.

I see similar errors on my environment. The error disappears when i use older selenium java lib on the client side.

Joerg Schmidt

unread,
Aug 19, 2015, 4:38:03 AM8/19/15
to Selenium Users
I did some debugging and i think the problem is that the running Selenium process finds taskkill.exe, but it is not allowed to execute it. ExecutableFinder.canExceute() does two checks.

1. it tests if the file is available
2. the it tests if the calling process is allowed to execute the file.

We execute our Selenium Tests as a Jenkins Job on a remote Build machine, the Jenkins slave was connected as an Webstart app which seems not to be allowed to execute taskkill.exe.
The Selenium Test was started a child process and it inherits the limitations of the webstart application.
Now we configured the build machine to do the connection to Jenkins with a local started java job and everything works fine.

Krishnan Mahadevan

unread,
Aug 19, 2015, 4:41:19 AM8/19/15
to Selenium Users
The other reason why this happens is when as part of starting up the node you alter the PATH variable.

We ran into this blunder very recently and started seeing the same error message that "taskkill.exe was not to be found".

After digging around a lot, we realized our folly. Our batch file that is responsible for starting off the node, ended up overriding the PATH variable and appending some sub folders to it, but in the process we forgot to update the already assigned value of PATH via %PATH% to PATH so that we simulate the action of appending paths. What we had done was overwrite the PATH variable.(facepalm)



Thanks & Regards
Krishnan Mahadevan

"All the desirable things in life are either illegal, expensive, fattening or in love with someone else!"
My Scribblings @ http://wakened-cognition.blogspot.com/
My Technical Scribbings @ http://rationaleemotions.wordpress.com/

Reply all
Reply to author
Forward
0 new messages