How to handle expected alert in nightwatch-cucumber - nightwatch.js

In my nightwatch.conf.js I have mentioned the "unexpectedAlertBehaviour":"accept".
But I have a scenario where I have to check the alert flow too, like so
When I refresh the page
Then I dismiss the alert
But when I try to execute the code, the alert is accepted by default and the test fails. I verified this by removing the "unexpectedAlertBehaviour":"accept", and the scenario works correctly. Is there any way to programmatically set the unexpectedAlertBehaviour value or set the alert as expected? I need the option "unexpectedAlertBehaviour":"accept" since there are other flows that run based on this

Related

Dialogflow CX - Form Parameter FINAL and UPDATED Event Not working

The DialogFlow CX with Page Form Parameters was working well in the test simulator and recently, my chat bots are not responding after user inputs.
When i tried to troubleshoot the issue i realized that the $page.params.status='FINAL' or the $page.params.someparameter.status='UPDATED' events are not firing properly. Due to this the routes are getting failed.
Initially i thought the issue is in my Project. Then i tried the prebuilt agent (travel-baggage claim) in another project. Even that behaves the same without any response after the user inputs are collected.
I also reported this issue to the Developer Advocates in Twitter and updating here as well to get some response from the community.
I’ve tried to replicate your use case but I was able to successfully trigger the condition routes $page.params.status = "FINAL" and $page.params.parameter-name.status = "UPDATED" as expected and transition to the defined page from my end.
See the following for reference:
$page.params.status = "FINAL"
$page.params.parameter-name.status = "UPDATED"
To troubleshoot the issue, you may check if all the conditions defined in your condition route are fulfilled. Also, you may need to check if the condition rules applied is OR or AND. If AND, make sure that all conditions are fulfilled in order to transition to the defined page or flow.
As for the prebuilt agent Travel: baggage claim, I was also able to replicate the same behavior. However, I noticed that this is a different issue since the issue is caused by the webhook being unable to provide a response and not caused by triggering the condition route. I was able to verify this by adding a static response on the condition route and by checking the logs from the simulator. See screenshots below for more information.
Static response
Log snippet from simulator
I tried creating a new flow and migrated all the pages and it works well. I suspect the flow got corrupted when i programmatically tried to update via API.

Cypress When I click on Edit button, I no longer have access to cypress command

My test case have cy.click() in many places. I have no issue to continue and use cy.wait(300) or another other cypress functionality. However when I get to specific page, I no longer have access to any of the cy commands. I am not sure why this is happening. I have used many cypress commands. I have used cy.click many times. they all work. This is the only place that when I click on the edit or even if I just hardcode cy.visit(editUrl). I have no access to cy commands anymore.
cy.get('a[title="Locations"]').click();
cy.wait(2000);
everything is normal till I get to here
so I click on Edit button
cy.get('.as-modal-disabled').contains('Edit').click() .. it finds Edit
but now if i use any cy function it will blow up
cy.wait(3000); this could be cy.visit() .. any cy
I also tried this
cy.wait(6000);
cy.get('.as-modal-disabled').contains('Edit', {timeout: 15000}).click()
again same issue anythign with cy after it blows up .
none of these commands works
cy.get('#location_address_attributes_address1').click().clear()
cy.get('#location_address_attributes_address1').type(randomAddress);
I just get a red error
I am also currently have issues with this, the problem is edit elements are not available on the Dom in cypress chrome.
reproduction steps
run automation with cypress using any of the simple data, in my case
I was using the shipping data on the shipping data page try clicking
on the edit button. test will fail because it can not find locator.
on a regular browser the locators are present but on cypress browser
they can not be accessed.
#metawaa force click will not work because the elements are not on cypress chrome

I am getting Ajax I/O error while clicking on any button, drop down in my script

The web application on which I am working has an authentication mechanism. To access this I need to provide some user id and pwd. After entering credentials when I try to select any drop down value or try to navigate to another page using pagination, getting Ajax I/O error with error code 502. Its not reproducible manually. Only via selenium script I am getting this error.
I have tried alert method, but its not useful. On this Ajax alert pop up I am getting only OK option on which if I tried to click its not selecting the desired value.
I want to select value from the drop down without any Ajax error.

No ajax action fired after session invalidate

We have a JSF webapp with Primefaces 4.0 and CAS Single Sign On.
When a user requests an ajax action (by clicking a p:commandButton or similar component with ajax=true) after he has lost his session because SSOut in another tab, nothing happens, no response from server or action is triggered.
We need to manage that situation to inform the user that his session is no longer available, by showing a dialog or redirecting him to home or a custom page, but we don't know how.
ajax=false solves the problem, but this is not what we want to do.
No ViewExpiredException is thrown.
EDIT:
We had already read and tried this BalusC's solution without success. No Exception is thrown and Handler has nothing to do. Note that isn't an Expired Session or Invalidated by TimeOut session, is just an explicit session.invalidate caused by Cas Sign Out in another tab.
We also tried javascript jsf.ajax.addOnError() solution, and again nothing to capture.
Only p:ajaxStatus onError event catches something, but no way to identify that particular error. Even overriding ajaxStatus javascript function, error data parameter is undefined...
Also, p:log says "Request return with error:error." but, which error is it? how do we identify it?
We are stuck on this issue...
This has been discussed many times, and as far as know there aren't any out-of-the-box solutions yet. One solution is to add a custom ExceptionHandler as stated in this post.
Another option is to register client error handler using jsf.ajax.addOnError(...), and to handle this exception in it. You might need some server code to add a custom header in case session is invalid, which you would use in error handler to be able to differentiate that specific case from other errors.

AJAX not getting invoked through QTP

I am working on QTP 11. I my current project I am trying to automate a website with AJAX fields. I my project I have a text field on which if we try to enter characters then AJAX table appears and we have select a suitable value from the below table. I am able to check the existence of AJAX table.
The problem is to set the text field through QTP, AJAX is not getting invoked. But manually it is working properly. Also, if I first try manually and then I try to enter any through the script, then also it is working properly. It is not possible for me to check each field manually then enter it through script. So can any body tell how AJAX can be invoked on first try without any manual intervention?
I have tried to Set property, Keyboard events like WScript.shell, Mercury.DeviceReplay and AutoIt, however none of them are working. Are there any keyboard input methods that I have missed out?
Can somebody please help me out?
Try performing a WebEdit.Click on the text field in question. If this doesn't work it means that the web page is expecting some events that QTP didn't fire in this case you should change to device replay mode
Setting.WebPackage("ReplayType") = 2
Browser(...).Page(...).WebEdit(...).Click
Setting.WebPackage("ReplayType") = 1
I had the same issue, not recognizing the web list (not selecting the item from list). Using QTP 11.5 loaded with web toolkit 2.0, ASPAjax, DOJO, JQuery add-ins. Still showing the same behavior.
However there is nothing wrong with the code, if I give some wait the code is working OK.

Resources