When reviewing the details of an online report for web application monitoring or load testing, you may notice an error response that states “Validation Error (490): Navigating logic has been changed since Device creation” in the log.
Typically, the reason for the “Validation Error (490): Navigating logic has been changed since Device creation” response is that navigation to a page has not occurred. This can be due to a variety of factors and specific use cases, such as page processing logic changes, web server behavior, browser behavior on a particular request, etc. For example, a button was not found on the web page and the recorded navigation on button click failed.
If the rest of the script depends on the failed step, the script execution will fail because the initial page was not properly loaded and the script was not able to process further actions like asserts and clicks.
Please note that every case must be reviewed separately.
Troubleshooting Validation Error
To easily troubleshoot this type of error, it is a good idea to add a keyword assert or image validation to each step as you navigate through the application. This way, every time the navigation to a new web page happens, the system checks if the specified keyword (or an image specified for validation) is present in the loaded page content. If the system fails to detect the keyword, the system will automatically throw the “Assert failed” error.
It is recommended that you check at least one keyword on a page to help identify which page was not loaded.
Example Use Case
Let’s consider a test scenario recorded with EveryStep Web Recorder that includes the login step followed by navigating to a web page. In our example, after recording the login transaction, we navigate to the account profile page and click the Reports menu tab. Once the navigation to the Reports page is recorded, we stop the recording and save the script to a device.
The Online Report generated for the device (image below) shows that all steps of the recorded script are executed without any errors.
For testing purposes, we change the user credentials on the target web page and add keyword assertion to the EveryStep script.
Once the credentials have been changed, the system fails to log in with the old credentials that were recorded in the script. Consequently, the account profile page, along with the link to the Reports page, is also not available to navigate to. Once the system failed to find the element to click and navigate to the next page, it generates the Validation Error (490).