StackTrace is generated incompletely when fail. Serenity+Jbehave

457 views
Skip to first unread message

Alex Rybkin

unread,
Sep 3, 2015, 10:41:20 AM9/3/15
to Serenity BDD Users Group
Hi John.
On the project we have Serenity+Jbehave  structure.
Since serenity was introduced we usually see incomplete stack-trace if tests fail due to NoSuchElementException.

Useful part of stack-trace ends on 
c*.**********.steps.forpanels.pickpack.PickPackSearchPanelSteps$$EnhancerByCGLIB$$e934cb20.user_opens_order_using_search_on_pack_order_tab(<generated>)
But we have much more methods called below the user_opens_order_using_search_on_pack_order_tab().

Could you please help us to investigate and resolve the problem?

Full stack-trace:
net.serenitybdd.core.exceptions.SerenityWebDriverException: no such element
  (Session info: chrome=44.0.2403.157)
  (Driver info: chromedriver=2.16.333243 (0bfa1d3575fc1044244f21ddb82bf870944ef961),platform=Windows NT 6.1 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 60.04 seconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '2.46.0', revision: '61506a4624b13675f24581e453592342b7485d71', time: '2015-06-04 10:22:50'
System info: host: 'EPUAKYIW0472', ip: '10.17.13.160', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_25'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, chrome={userDataDir=C:\Users\Oleksandr_Rybkin\AppData\Local\Temp\scoped_dir8988_7835}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=44.0.2403.157, platform=XP, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}]
Session ID: 9eccdedeb5d955938db98c2003d30f0b
*** Element info: {Using=xpath, value=.//div[contains(@id, 'Listview_staffComment_row_0')]}
at net.serenitybdd.core.exceptions.SerenityWebDriverException.detachedCopyOf(SerenityWebDriverException.java:20)
at net.thucydides.core.steps.StepInterceptor.runTestStep(StepInterceptor.java:305)
at net.thucydides.core.steps.StepInterceptor.testStepResult(StepInterceptor.java:129)
at net.thucydides.core.steps.StepInterceptor.intercept(StepInterceptor.java:56)
at c*.**********.steps.forpanels.pickpack.PickPackSearchPanelSteps$$EnhancerByCGLIB$$e934cb20.user_opens_order_using_search_on_pack_order_tab(<generated>)
at c*.**********.jbehave.definition_steps.PickPackDefinitionSteps.openOrderOnPackView(PickPackDefinitionSteps.java:319)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.jbehave.core.steps.StepCreator$ParametrisedStep.perform(StepCreator.java:595)
at org.jbehave.core.embedder.StoryRunner$FineSoFar.run(StoryRunner.java:566)
at org.jbehave.core.embedder.StoryRunner.runStepsWhileKeepingState(StoryRunner.java:546)
at org.jbehave.core.embedder.StoryRunner.runScenarioSteps(StoryRunner.java:510)
at org.jbehave.core.embedder.StoryRunner.runStepsWithLifecycle(StoryRunner.java:476)
at org.jbehave.core.embedder.StoryRunner.runCancellable(StoryRunner.java:336)
at org.jbehave.core.embedder.StoryRunner.run(StoryRunner.java:239)
at org.jbehave.core.embedder.StoryRunner.run(StoryRunner.java:182)
at org.jbehave.core.embedder.StoryManager$EnqueuedStory.call(StoryManager.java:266)
at org.jbehave.core.embedder.StoryManager$EnqueuedStory.call(StoryManager.java:233)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)


John Smart

unread,
Sep 3, 2015, 7:12:07 PM9/3/15
to Alex Rybkin, Serenity BDD Users Group
Hi Alex,

You can have the full stack traces by setting the simplified.stack.traces system property to false.

- John.

--
You received this message because you are subscribed to the Google Groups "Serenity BDD Users Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to thucydides-use...@googlegroups.com.
To post to this group, send email to thucydid...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
___________________________________________________
John Smart | Wakaleo Consulting  |  +61 407 247 642
Optimizing your software development process
http://www.wakaleo.com  |  john....@wakaleo.com
___________________________________________________

We love breaking down silos and helping smart teams collaborate better! Ask about our tailored on-site workshops in Agile Requirements Discovery, Behaviour Driven Development, Agile Development Practices, and Test Automation!
___________________________________________________

Alex Rybkin

unread,
Sep 4, 2015, 3:54:31 AM9/4/15
to John Smart, Serenity BDD Users Group
I've already tried this one, but it does not give the expected result.
What are the classes responsible for stack-trace generation? Maybe I could investigate why stack-trace is incomplete and propose some solution?
--
Best Regards, Alex Rybkin.
Mobile: +38-099-370-88-79
Skype: alexamber91

John Smart

unread,
Sep 4, 2015, 4:36:24 AM9/4/15
to Alex Rybkin, Serenity BDD Users Group
Hi Alex,

Sure; take a look at StackTraceSanitizer

- John.

Alex Rybkin

unread,
Sep 10, 2015, 5:31:15 PM9/10/15
to Serenity BDD Users Group, alexa...@gmail.com
Hi John,
While trying to find the cause of incomplete stack-trace output I've found that during forming an output information stacktrace contains all the needed information, but the useful part of it is not printed to the output log. Methods that are below the @Step layer are ignored somehow. You can see the comparison of "stacktrace" variable content and stacktrace log output below. Could you tell please if there is something wrong with configuration or maybe there is something that has to be fixed is the source of serenity?
0 = {StackTraceElement@3529} "net.thucydides.core.annotations.locators.SmartAjaxElementLocator.ajaxFindElement(SmartAjaxElementLocator.java:145)"
1 = {StackTraceElement@3530} "net.thucydides.core.annotations.locators.SmartAjaxElementLocator.findElement(SmartAjaxElementLocator.java:93)"
2 = {StackTraceElement@3531} "net.serenitybdd.core.pages.WebElementFacadeImpl.getElement(WebElementFacadeImpl.java:136)"
3 = {StackTraceElement@3532} "net.serenitybdd.core.pages.WebElementFacadeImpl.withTimeoutOf(WebElementFacadeImpl.java:283)"
4 = {StackTraceElement@3533} "net.serenitybdd.core.pages.WebElementFacadeImpl.waitUntilElementAvailable(WebElementFacadeImpl.java:658)"
5 = {StackTraceElement@3534} "net.serenitybdd.core.pages.WebElementFacadeImpl.click(WebElementFacadeImpl.java:977)"
6 = {StackTraceElement@3535} "sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)"
7 = {StackTraceElement@3536} "sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)"
8 = {StackTraceElement@3537} "sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)"
9 = {StackTraceElement@3538} "java.lang.reflect.Method.invoke(Method.java:483)"
10 = {StackTraceElement@3539} "net.thucydides.core.annotations.locators.AbstractSingleItemHandler.invoke(AbstractSingleItemHandler.java:46)"
11 = {StackTraceElement@3540} "com.sun.proxy.$Proxy21.click(Unknown Source)"
12 = {StackTraceElement@3541} "net.serenitybdd.demo.pages.HomePage.clickSearchBtn(HomePage.java:28)"
13 = {StackTraceElement@3542} "net.serenitybdd.demo.steps.simple.SimpleSteps.searchForProduct(SimpleSteps.java:21)"
14 = {StackTraceElement@3543} "net.serenitybdd.demo.steps.simple.SimpleSteps$$EnhancerByCGLIB$$742510f7.CGLIB$searchForProduct$1(<generated>)"
15 = {StackTraceElement@3544} "net.serenitybdd.demo.steps.simple.SimpleSteps$$EnhancerByCGLIB$$742510f7$$FastClassByCGLIB$$93e70ced.invoke(<generated>)"
16 = {StackTraceElement@3545} "net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)"
17 = {StackTraceElement@3546} "net.thucydides.core.steps.StepInterceptor.invokeMethod(StepInterceptor.java:336)"
18 = {StackTraceElement@3547} "net.thucydides.core.steps.StepInterceptor.executeTestStepMethod(StepInterceptor.java:321)"
19 = {StackTraceElement@3548} "net.thucydides.core.steps.StepInterceptor.runTestStep(StepInterceptor.java:296)"
20 = {StackTraceElement@3549} "net.thucydides.core.steps.StepInterceptor.testStepResult(StepInterceptor.java:129)"
21 = {StackTraceElement@3550} "net.thucydides.core.steps.StepInterceptor.intercept(StepInterceptor.java:56)"
22 = {StackTraceElement@3551} "net.serenitybdd.demo.steps.simple.SimpleSteps$$EnhancerByCGLIB$$742510f7.searchForProduct(<generated>)"
23 = {StackTraceElement@3552} "net.serenitybdd.demo.steps.definition.GeneralDefinitionSteps.openHomePage(GeneralDefinitionSteps.java:25)"
24 = {StackTraceElement@3553} "sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)"
25 = {StackTraceElement@3554} "sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)"
26 = {StackTraceElement@3555} "sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)"
27 = {StackTraceElement@3556} "java.lang.reflect.Method.invoke(Method.java:483)"
28 = {StackTraceElement@3557} "org.jbehave.core.steps.StepCreator$ParametrisedStep.perform(StepCreator.java:595)"
29 = {StackTraceElement@3558} "org.jbehave.core.embedder.StoryRunner$FineSoFar.run(StoryRunner.java:566)"
30 = {StackTraceElement@3559} "org.jbehave.core.embedder.StoryRunner.runStepsWhileKeepingState(StoryRunner.java:546)"
31 = {StackTraceElement@3560} "org.jbehave.core.embedder.StoryRunner.runScenarioSteps(StoryRunner.java:510)"
32 = {StackTraceElement@3561} "org.jbehave.core.embedder.StoryRunner.runStepsWithLifecycle(StoryRunner.java:476)"
33 = {StackTraceElement@3562} "org.jbehave.core.embedder.StoryRunner.runCancellable(StoryRunner.java:336)"
34 = {StackTraceElement@3563} "org.jbehave.core.embedder.StoryRunner.run(StoryRunner.java:239)"
35 = {StackTraceElement@3564} "org.jbehave.core.embedder.StoryRunner.run(StoryRunner.java:182)"
36 = {StackTraceElement@3565} "org.jbehave.core.embedder.StoryManager$EnqueuedStory.call(StoryManager.java:266)"
37 = {StackTraceElement@3566} "org.jbehave.core.embedder.StoryManager$EnqueuedStory.call(StoryManager.java:233)"
38 = {StackTraceElement@3567} "java.util.concurrent.FutureTask.run(FutureTask.java:266)"
39 = {StackTraceElement@3568} "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)"
40 = {StackTraceElement@3569} "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)"
41 = {StackTraceElement@3570} "java.lang.Thread.run(Thread.java:745)"

Stack-trace output in the log.
at net.serenitybdd.core.exceptions.SerenityWebDriverException.detachedCopyOf(SerenityWebDriverException.java:20)
at net.thucydides.core.steps.StepInterceptor.runTestStep(StepInterceptor.java:305)
at net.thucydides.core.steps.StepInterceptor.testStepResult(StepInterceptor.java:129)
at net.thucydides.core.steps.StepInterceptor.intercept(StepInterceptor.java:56)
at net.serenitybdd.demo.steps.simple.SimpleSteps$$EnhancerByCGLIB$$f548d01a.searchForProduct(<generated>)
at net.serenitybdd.demo.steps.definition.GeneralDefinitionSteps.openHomePage(GeneralDefinitionSteps.java:25)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.jbehave.core.steps.StepCreator$ParametrisedStep.perform(StepCreator.java:595)
at org.jbehave.core.embedder.StoryRunner$FineSoFar.run(StoryRunner.java:566)
at org.jbehave.core.embedder.StoryRunner.runStepsWhileKeepingState(StoryRunner.java:546)
at org.jbehave.core.embedder.StoryRunner.runScenarioSteps(StoryRunner.java:510)
at org.jbehave.core.embedder.StoryRunner.runStepsWithLifecycle(StoryRunner.java:476)
at org.jbehave.core.embedder.StoryRunner.runCancellable(StoryRunner.java:336)
at org.jbehave.core.embedder.StoryRunner.run(StoryRunner.java:239)
at org.jbehave.core.embedder.StoryRunner.run(StoryRunner.java:182)
at org.jbehave.core.embedder.StoryManager$EnqueuedStory.call(StoryManager.java:266)
at org.jbehave.core.embedder.StoryManager$EnqueuedStory.call(StoryManager.java:233)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)




пятница, 4 сентября 2015 г., 11:36:24 UTC+3 пользователь John Smart написал:

Enrique González Álvarez-Palencia

unread,
Mar 14, 2016, 7:39:22 AM3/14/16
to Serenity BDD Users Group, alexa...@gmail.com
Hello everybody,

Is there any solution for this? I have the same problem.

Kind regards,
Enrique
Reply all
Reply to author
Forward
0 new messages