Execution in IE11 fails with "Unable to find the element located by"

I have 3 tests in one suite which are failing with the same issue in IE11 on a remote system (Azure Devops node). They work fine on our local windows machines.

The error is: 2019-05-02 02:47:42.241 INFO c.k.k.c.webui.common.WebUiCommonHelper - Unable to find the element located by ‘By.xpath: //div[@id=‘LoginPageContainer’]/form/fieldset/div/div[2]/label’. Please recheck the objects properties to make sure the desired element is located.

This is working correctly in IE on our local machines.

I’m unable to login to the windows machine to run as that other user. The IE logs have this:

T 2019-05-02 02:49:18:695 IEServer.cpp(32) Entering IEServer::IEServer
I 2019-05-02 02:49:18:695 IEServer.cpp(33) Driver version: 3.6.0.0 (32-bit)
T 2019-05-02 02:49:18:695 server.cc(121) Entering Server::Start
D 2019-05-02 02:49:18:695 server.cc(148) Civetweb ACL is -0.0.0.0/0,+127.0.0.1
..
D 2019-05-02 02:49:19:459 BrowserFactory.cpp(396) Ignoring zoom setting: 0
T 2019-05-02 02:49:19:459 BrowserFactory.cpp(574) Entering BrowserFactory::GetBrowserZoomLevel
T 2019-05-02 02:49:19:463 BrowserFactory.cpp(614) Entering BrowserFactory::GetZoomLevel
D 2019-05-02 02:49:19:474 BrowserFactory.cpp(694) Browser zoom level is 100%
..
T 2019-05-02 02:49:19:567 server.cc(183) Process request with: URI: /session/9aa13f09-5a20-4119-a739-fa3d9167b3c6/url HTTP verb: POST
body: {"url":"http://localhost:8180/mobiletestapp/#LoginPage"}
..
2019-05-02 02:49:23:695 server.cc(391) Entering Server::SendResponseToClient
T 2019-05-02 02:49:23:695 response.cc(30) Entering Response::Deserialize
T 2019-05-02 02:49:23:695 server.cc(445) Entering Server::SendHttpOk
T 2019-05-02 02:49:24:198 server.cc(174) Entering Server::ProcessRequest
T 2019-05-02 02:49:24:198 server.cc(238) Entering Server::ReadRequestBody
T 2019-05-02 02:49:24:198 server.cc(183) Process request with: URI: /session/9aa13f09-5a20-4119-a739-fa3d9167b3c6/elements HTTP verb: POST
body: {"value":"//div[@id\u003d\u0027LoginPageContainer\u0027]/form/fieldset/div/div[2]/label","using":"xpath"}
T 2019-05-02 02:49:24:198 server.cc(272) Entering Server::DispatchCommand
T 2019-05-02 02:49:24:198 server.cc(583) Entering Server::LookupCommand
D 2019-05-02 02:49:24:198 server.cc(281) Command: POST /session/9aa13f09-5a20-4119-a739-fa3d9167b3c6/elements {"value":"//div[@id\u003d\u0027LoginPageContainer\u0027]/form/fieldset/div/div[2]/label","using":"xpath"}
T 2019-05-02 02:49:24:198 server.cc(378) Entering Server::LookupSession
T 2019-05-02 02:49:24:198 IESession.cpp(191) Entering IESession::ExecuteCommand
T 2019-05-02 02:49:24:198 IECommandExecutor.cpp(122) Entering IECommandExecutor::OnSetCommand
T 2019-05-02 02:49:24:198 command.cc(31) Entering Command::Deserialize
D 2019-05-02 02:49:24:198 command.cc(36) Raw JSON command: { "name" : "findElements", "locator" : { "sessionid" : "9aa13f09-5a20-4119-a739-fa3d9167b3c6" }, "parameters" : {"value":"//div[@id\u003d\u0027LoginPageContainer\u0027]/form/fieldset/div/div[2]/label","using":"xpath"} }
T 2019-05-02 02:49:24:198 IECommandExecutor.cpp(133) Entering IECommandExecutor::OnExecCommand
T 2019-05-02 02:49:24:198 IESession.cpp(212) Beginning wait for response length to be not zero
T 2019-05-02 02:49:24:198 IECommandExecutor.cpp(454) Entering IECommandExecutor::DispatchCommand
T 2019-05-02 02:49:24:198 IECommandExecutor.cpp(577) Entering IECommandExecutor::GetCurrentBrowser
T 2019-05-02 02:49:24:198 IECommandExecutor.cpp(583) Entering IECommandExecutor::GetManagedBrowser
T 2019-05-02 02:49:24:198 IECommandExecutor.cpp(529) Entering IECommandExecutor::IsAlertActive
T 2019-05-02 02:49:24:198 Browser.cpp(700) Entering Browser::GetActiveDialogWindowHandle
T 2019-05-02 02:49:24:198 Browser.cpp(206) Entering Browser::GetContentWindowHandle
D 2019-05-02 02:49:24:198 IECommandExecutor.cpp(543) No alert handle is found
T 2019-05-02 02:49:24:198 IECommandExecutor.cpp(734) Entering IECommandExecutor::LocateElements
T 2019-05-02 02:49:24:198 IECommandExecutor.cpp(695) Entering IECommandExecutor::GetElementFindMethod
T 2019-05-02 02:49:24:198 ElementFinder.cpp(111) Entering ElementFinder::FindElements
T 2019-05-02 02:49:24:198 IECommandExecutor.cpp(577) Entering IECommandExecutor::GetCurrentBrowser
T 2019-05-02 02:49:24:198 IECommandExecutor.cpp(583) Entering IECommandExecutor::GetManagedBrowser
D 2019-05-02 02:49:24:198 ElementFinder.cpp(128) Using FindElements atom to locate element having xpath = //div[@id='LoginPageContainer']/form/fieldset/div/div[2]/label
T 2019-05-02 02:49:24:198 Browser.cpp(126) Entering Browser::GetDocument
I 2019-05-02 02:49:24:198 Browser.cpp(130) No child frame focus. Focus is on top-level frame
T 2019-05-02 02:49:24:204 Browser.cpp(613) Entering Browser::GetDocumentFromWindow
T 2019-05-02 02:49:24:207 Script.cpp(49) Entering Script::Initialize
T 2019-05-02 02:49:24:207 Script.cpp(70) Entering Script::AddArgument(std::wstring)
T 2019-05-02 02:49:24:207 Script.cpp(105) Entering Script::AddArgument(VARIANT)
T 2019-05-02 02:49:24:207 Script.cpp(70) Entering Script::AddArgument(std::wstring)
T 2019-05-02 02:49:24:207 Script.cpp(105) Entering Script::AddArgument(VARIANT)
T 2019-05-02 02:49:24:207 Script.cpp(169) Entering Script::Execute
T 2019-05-02 02:49:24:207 Script.cpp(438) Entering Script::CreateAnonymousFunction
T 2019-05-02 02:49:24:223 Script.cpp(426) Entering Script::ConvertResultToJsonValue
D 2019-05-02 02:49:24:224 VariantUtilities.cpp(100) Result type is JScriptTypeInfo
T 2019-05-02 02:49:24:225 VariantUtilities.cpp(307) Entering Script::GetPropertyNameList
D 2019-05-02 02:49:24:227 VariantUtilities.cpp(100) Result type is JScriptTypeInfo
T 2019-05-02 02:49:24:227 VariantUtilities.cpp(324) Entering Script::GetArrayLength
T 2019-05-02 02:49:24:478 response.cc(72) Entering Response::SetSuccessResponse
T 2019-05-02 02:49:24:478 response.cc(78) Entering Response::SetResponse
T 2019-05-02 02:49:24:478 IECommandExecutor.cpp(577) Entering IECommandExecutor::GetCurrentBrowser
T 2019-05-02 02:49:24:478 IECommandExecutor.cpp(583) Entering IECommandExecutor::GetManagedBrowser
T 2019-05-02 02:49:24:478 response.cc(51) Entering Response::Serialize
T 2019-05-02 02:49:24:478 IESession.cpp(221) Found non-zero response length
T 2019-05-02 02:49:24:478 IECommandExecutor.cpp(156) Entering IECommandExecutor::OnGetResponse
T 2019-05-02 02:49:24:479 IECommandExecutor.cpp(285) Entering IECommandExecutor::OnIsSessionValid
D 2019-05-02 02:49:24:479 server.cc(338) Response: {"value":[]}

The last block repeats about 50 times.

Katalon test says:

2019-05-02 02:50:31.989 ERROR c.k.k.core.keyword.internal.KeywordMain  - ? Unable to click on object 'Object Repository/mobiletestapp/Login/largeScreen Button' (Root cause: com.kms.katalon.core.exception.StepFailedException: Unable to click on object 'Object Repository/mobiletestapp/Login/largeScreen Button'
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.stepFailed(WebUIKeywordMain.groovy:64)
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:26)
	at com.kms.katalon.core.webui.keyword.builtin.ClickKeyword.click(ClickKeyword.groovy:86)
	at com.kms.katalon.core.webui.keyword.builtin.ClickKeyword.execute(ClickKeyword.groovy:67)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:56)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.click(WebUiBuiltInKeywords.groovy:616)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$click$2.call(Unknown Source)
	at largeScreen Login.run(largeScreen Login:24)

I’m continuing investigation of this issue.

Following another search hit, I upgraded the selenium drivers to 3.8.1 but this did not help.

When comparing a run done by me and by Azure I can see that when I run as myself the test is able to find the element and server responds with the session but this is not happening for Azure and response is empty.

Good run:

T 2019-05-06 03:05:11:877 server.cc(183) Process request with: URI: /session/1fb0bd12-0d0f-4d8d-9a2c-678b3eb971b9/element/a133df99-e08a-40ac-9628-19bccc41b758/click HTTP verb: POST
body: {"id":"a133df99-e08a-40ac-9628-19bccc41b758"}
T 2019-05-06 03:05:11:877 server.cc(272) Entering Server::DispatchCommand
T 2019-05-06 03:05:11:877 server.cc(583) Entering Server::LookupCommand
D 2019-05-06 03:05:11:877 server.cc(281) Command: POST /session/1fb0bd12-0d0f-4d8d-9a2c-678b3eb971b9/element/a133df99-e08a-40ac-9628-19bccc41b758/click {"id":"a133df99-e08a-40ac-9628-19bccc41b758"}
T 2019-05-06 03:05:11:877 server.cc(378) Entering Server::LookupSession
T 2019-05-06 03:05:11:877 IESession.cpp(191) Entering IESession::ExecuteCommand
T 2019-05-06 03:05:11:877 IECommandExecutor.cpp(122) Entering IECommandExecutor::OnSetCommand
T 2019-05-06 03:05:11:877 command.cc(31) Entering Command::Deserialize
D 2019-05-06 03:05:11:877 command.cc(36) Raw JSON command: { "name" : "click", "locator" : { "sessionid" : "1fb0bd12-0d0f-4d8d-9a2c-678b3eb971b9", "id" : "a133df99-e08a-40ac-9628-19bccc41b758" }, "parameters" : {"id":"a133df99-e08a-40ac-9628-19bccc41b758"} }
..
T 2019-05-06 03:05:11:868 response.cc(51) Entering Response::Serialize
T 2019-05-06 03:05:11:872 IESession.cpp(221) Found non-zero response length
T 2019-05-06 03:05:11:872 IECommandExecutor.cpp(156) Entering IECommandExecutor::OnGetResponse
T 2019-05-06 03:05:11:872 IECommandExecutor.cpp(285) Entering IECommandExecutor::OnIsSessionValid
D 2019-05-06 03:05:11:872 server.cc(338) Response: {"value":[{"element-6066-11e4-a52e-4f735466cecf":"a133df99-e08a-40ac-9628-19bccc41b758"}]}

When the test fails, it is unable to locate the element and the response is empty:

T 2019-05-07 02:53:44:367 response.cc(51) Entering Response::Serialize
T 2019-05-07 02:53:44:367 IESession.cpp(221) Found non-zero response length
T 2019-05-07 02:53:44:367 IECommandExecutor.cpp(156) Entering IECommandExecutor::OnGetResponse
T 2019-05-07 02:53:44:367 IECommandExecutor.cpp(285) Entering IECommandExecutor::OnIsSessionValid
D 2019-05-07 02:53:44:367 server.cc(338) Response: {"value":[]}