Hi Mauro,

     Thank you for the info, I will look at it.

Brian

On Mon, Jun 10, 2013 at 4:11 PM, Mauro Talevi <[email protected]>wrote:

>  I have to say I'm struggling to understand your requirement.
>
> If you want users to see (but not touch!) the state of play in the
> execution, then you can see an example in the tutorial:
>
>
> https://github.com/jbehave/jbehave-tutorial/tree/master/etsy-selenium/java-spring
>
> When running a LocalFrameContextView will pop up to show the scenario and
> the step being run.
>
> On 10/06/2013 20:42, Jie Zhang wrote:
>
> Hi Mauro,
>
>       Thank you for follow up.
>
>        I just resolved this by using Java reflection to get the step
> string value.
>
>        But..., I have another more important issue need to figure out: My
> boss asked me to develop a *"Visual" GUI style* BDD function, which uses
> javascript alert/confirm popup window to prompt user what is the exact step
> the running test reaches, eg:
>
>                   Given I goto "www.a.com"
>                  When I login
>
>          So we want to add *Javascript alert window to popup during the
> automation test*, the popped up window has the "OK" button, so when user
> click the OK button, the test will continue to the next step, and so on...
>
>           My issue is: I wrote a javascript func using Selenium's 
> *executeScript
> *API which invoke the pop up alert window:
>
>                 *public void stepText(String step){*
> *       executeScript("alert('"+step+"');");*
> *        }*
>
>            So I expect when I click the OK button, the popped up window
> will disappear and test will continue to next step... *But what shocked
> me is that when I click it, the test throw exception and crashed...*
> *
> *
>             The exception is: selenium.WebDriverException
>
>              But I found if I add the following code to make the test
> automatically detect the alert window and accept it by using the following
> usual selenium alert handle function:
>
>                     *Alert alert=switchTo().alert();*
> *                   alert.accept();*
>
>               This can make the test runs well, so it looks *I can NOT
> manually click the alert (after I manually click, the selenium still can
> NOT go back to the browser...lost connection to browser?), but the
> automation alert handle code works...*
>
>                Of course, *we want to let user to manually to click alert
> window to control the test execution, not the automation handle alert*.
>
>                 I really got stuck here for a while, and did a lot
> googling to search, but can not find similar example online, I hope you can
> shed me light on it, since you are much more guru than me on JBehave and
> Selenium.
>
>                 I will be much grateful if you can help me out.
>
>  Kind Regards,
>
>  Brian
>
>  On Mon, Jun 10, 2013 at 1:02 PM, Mauro Talevi <[email protected]
> > wrote:
>
>>  Hi,
>>
>> if this is the case you're better off implementing a StepMonitor.
>>
>> You may want to have a look at the SeleniumStepMonitor in the
>> jbehave-web-selenium module, which uses a ContextView to broadcast the step
>> being executed.
>>
>> You can adapt it to your usecase.
>>
>> Cheers
>>
>>
>> On 10/06/2013 16:44, Jie Zhang wrote:
>>
>> Hi Mauro,
>>
>>       Thanks for follow up. But my goal is not to output to the default
>> html/text report page, I need to get the step string (as a var) value, then
>> I can print it on javascript alert window.
>>
>>        I see the StoryReporter.successful(String step) just print the
>> step str on the default report page, and its return type is void, so how
>> can I get the step str value?
>>
>>        I'm not sure if I explained my stuck clearly to you, if my
>> understanding is wrong, pls correct me, thank you very much and waiting for
>> your help out.
>>
>>  Kind Regards,
>>
>>  -- Brian
>>
>> On Sat, Jun 8, 2013 at 7:55 AM, Mauro Talevi 
>> <[email protected]>wrote:
>>
>>>  That's what the StoryReporter does.
>>>
>>> In particular,  StoryReporter.successful(String step) will provide you
>>> the successful step that's just been executed.
>>>
>>> Have a look at CustomHtmlOutput in the jbehave-core-example for an
>>> example of how to setup a custom reporter.
>>>
>>> Cheers
>>>
>>>
>>> On 07/06/2013 21:20, Jie Zhang wrote:
>>>
>>> Hi Mauro,
>>>
>>>       I got a mission to finish by using JBehave.
>>>
>>>       Do you know how I can get the "step" 's name (its context/text)
>>> so I can print it. Eg:
>>>
>>>                  *Given I goto 'www.google.com'*
>>>
>>>        So what I want is I can get the "*I goto 'www.google.com'*" text
>>> value, so I can print it.
>>>
>>>         Is there a JBehave API, class, method that we can use to do
>>> this task?
>>>
>>>         Thank you and very appreciated if you can help me out!
>>>
>>>  Brian
>>>
>>>
>>>
>>
>>
>
>

Reply via email to