Our AppVeyor builds (which run Chrome) have been failing since 3ad37ca65e299f0cc7b3499c2d50ff2d81499564:
org.gradle.internal.serialize.PlaceholderException: unknown error: cannot focus element
(Session info: chrome=59.0.3071.86)
(Driver info: chromedriver=2.30.477700 (0057494ad8732195794a7b32078424f92a5fce41),platform=Windows NT 6.3.9600 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 41 milliseconds
Build info: version: '2.53.1', revision: 'a36b8b1cd5757287168e54b817830adce9b0158d', time: '2016-06-30 19:26:09'
System info: host: 'APPVYR-WIN', ip: '172.24.18.153', os.name: 'Windows Server 2012 R2', os.arch: 'amd64', os.version: '6.3', java.version: '1.7.0_79'
Session ID: 268ecd7fff0a8505486743aed63bd8d3
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{platform=WIN8_1, acceptSslCerts=true, javascriptEnabled=true, browserName=chrome, chrome={userDataDir=C:\Users\appveyor\AppData\Local\Temp\1\scoped_dir6956_16631, chromedriverVersion=2.30.477700 (0057494ad8732195794a7b32078424f92a5fce41)}, networkConnectionEnabled=false, unexpectedAlertBehaviour=, rotatable=false, locationContextEnabled=true, mobileEmulationEnabled=false, version=59.0.3071.86, pageLoadStrategy=normal, takesHeapSnapshot=true, cssSelectorsEnabled=true, databaseEnabled=false, handlesAlerts=true, browserConnectionEnabled=false, webStorageEnabled=true, nativeEvents=true, hasTouchScreen=false, applicationCacheEnabled=false, takesScreenshot=true}]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(NativeConstructorAccessorImpl.java:-2)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:327)
at org.openqa.selenium.remote.RemoteWebElement.sendKeys(RemoteWebElement.java:122)
at teammates.test.cases.browsertests.FeedbackRubricQuestionUiTest.testEditQuestionAction(FeedbackRubricQuestionUiTest.java:381)
at teammates.test.cases.browsertests.FeedbackRubricQuestionUiTest.testEditPage(FeedbackRubricQuestionUiTest.java:179)
at teammates.test.cases.browsertests.FeedbackRubricQuestionUiTest.allTests(FeedbackRubricQuestionUiTest.java:44)
...
Failed suite [Failed suite [Failed suite [ci-tests]]] > parallel-ui-tests(failed)(failed)(failed) > teammates.test.cases.browsertests.FeedbackRubricQuestionUiTest.allTests FAILED
org.openqa.selenium.WebDriverException at FeedbackRubricQuestionUiTest.java:381
@whipermr5 Even tests that I run locally on Firefox (v46.0) are failing because of the same test. My stack trace is this:
org.gradle.internal.serialize.PlaceholderException: Element is not clickable at point (1028.1666870117188, 17.166671752929688). Other element would receive the click: <span data-original-title="FRubricQnUiT.instructor" class="text-info tool-tip-decorate" data-toggle="tooltip" title="" data-placement="bottom"></span>
Command duration or timeout: 91 milliseconds
Build info: version: '2.53.1', revision: 'a36b8b1cd5757287168e54b817830adce9b0158d', time: '2016-06-30 19:26:09'
System info: host: 'N/A', ip: 'N/A', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.12.5', java.version: '1.7.0_79'
Session ID: 49e2fe8c-ced5-b643-a67d-2dc868b54caf
Driver info: org.openqa.selenium.firefox.FirefoxDriver
Capabilities [{platform=MAC, acceptSslCerts=true, javascriptEnabled=true, cssSelectorsEnabled=true, databaseEnabled=true, browserName=firefox, handlesAlerts=true, nativeEvents=false, webStorageEnabled=true, rotatable=false, locationContextEnabled=true, applicationCacheEnabled=true, takesScreenshot=true, version=46.0}]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(NativeConstructorAccessorImpl.java:-2)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:327)
at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:85)
at teammates.test.pageobjects.InstructorFeedbackEditPage.moveRubricCol(InstructorFeedbackEditPage.java:404)
at teammates.test.pageobjects.InstructorFeedbackEditPage.moveRubricColLeft(InstructorFeedbackEditPage.java:382)
at teammates.test.cases.browsertests.FeedbackRubricQuestionUiTest.testEditQuestionAction(FeedbackRubricQuestionUiTest.java:407)
at teammates.test.cases.browsertests.FeedbackRubricQuestionUiTest.testEditPage(FeedbackRubricQuestionUiTest.java:179)
at teammates.test.cases.browsertests.FeedbackRubricQuestionUiTest.allTests(FeedbackRubricQuestionUiTest.java:44)
Working on this
@HirdayGupta See if you can develop a solution that works on both browsers :)
@whipermr5 Need some help. Is there a difference between WebElement's WebElement.click() method and the click(WebElement) method we have on AppPage? The test works fine with the later and the location of the failing test was the only instance of the former.
Yes; the second one uses JavaScript and is more reliable.
@whipermr5 Changing to the second one runs the test on firefox successfully. There still seems to be some problem on Chrome. Will open a PR once I figure that out. :)
Most helpful comment
Working on this