The Audit Log is a feature in Functionize that displays the change history for each test and page object. This feature lets users track how these assets were edited and executed over time. It provides information about which users interacted with the asset and includes timestamps for each activity. Additionally, the Audit Log enables users to restore a test to a previous iteration. This feature is valuable for maintaining a record of testing activities for audit purposes.
Your test cases may undergo many changes as you work out the best sequence to follow for your site. Functionize offers two options to restore your test:
- Restore Test Case
- Restore to New Test Case
Note: Not all entries in the Audit Log table can be restored, for example, if the Change column indicates some type of test execution - Live Execution, Headless Run, etc. These will be seen if the filter for Group By is set to Test Run.
Audit Log Filters
This feature allows filtering and downloading data based on specified dates and/or editors.
- Open Test Detail Page: Open a test to the Test Detail page.
- Access Audit Log: Open the Settings menu and select Audit Log.
- Apply Date Filter: Select the start and end dates to filter by date.
- Select Editor: Choose a specific user from the Select Editor dropdown field.
- Select Action Type: Choose a specific action type from the Group By dropdown field (e.g., Test Run, Delete Action, Test Setting, Title Change, Add Action, etc.).
- Export CSV: Click the Export CSV button to download the filtered data for future sharing.
- After downloading, open the CSV file to view the data specified by the filters when the file was exported.
Restoring a Test Case
This feature allows restoring your test to a previous iteration/version.
- Open Test Detail Page: Open a test to the Test Detail page.
- Access Audit Log: Open the Settings menu and select Audit Log.
- Select Version: Choose the version of the test to restore and click on it.
- Restore: Review your selection and click Restore.
- Confirmation: A confirmation message will display, and your test will revert to the selected point in time.
- Refresh Audit Log: Refresh the Audit Log screen to see the restoration added to the log.
Restoring to a New Test Case
This functionality allows reverting a test case to a previous version while maintaining the current version.
- Open Test Detail Page: Open a test on the Test Detail page.
- Access Audit Log: Open the Settings menu and select Audit Log.
- Select Version: Choose the version of the test to restore and click on it.
- New Test Case: Check the Restore to new test case checkbox.
- Enter New Name: Enter a new test case name in the New Test Case Name field and click the Restore button.
- Confirmation: A confirmation message will display, and your test will revert to the selected point in time.
- Test Case Listing Page: Navigate to the Test Case Listing page to see the new restored test case.
Previewing a Reverted Test Case
This feature allows users to view the version of the test case they wish to revert to before making any modifications.
- Open Test or Page Object: Open a test on the Test Detail page or a Page Object Detail page.
- Access Audit Log: Open the Settings menu and select Audit Log.
- Select Version: Choose the version of the test or Page Object to restore and click on it.
- Preview: Click the Preview button.
- Review: Review all actions, settings, and instructions in that particular audit log entry.
- Slider View: View screenshots captured during the time of recording.Note: This is a Preview page; actions and test settings cannot be edited from this page.
Restoring from Preview
- Restore: In the Preview section of the Test Case Audit Log, click Restore to revert to the selected point in time.
- Restore to New Test Case: Check the Restore to new test case checkbox, enter the new test case name, and click Confirm.
- Confirmation: A confirmation message will display, and your test will revert to the selected point in time.
By following these steps, you can effectively use the Audit Log feature in Functionize to track changes, filter data, and restore test cases as needed.
Viewing Console Logs
The Console Logs in Functionize provide insight into critical JavaScript errors, warnings, and other console outputs. These logs focus specifically on issues that impact your tests, such as blocked resources or CORS problems. They allow you to pinpoint client-side errors with precision, enabling you to address these issues directly.
Benefits of Console Logs
- Targeted Troubleshooting:
- By focusing only on relevant information, console logs prevent information overload and allow you to focus on the actual problems, making the debugging process more manageable.
- Contextual Error Information:
- Each log is linked to a specific test step, providing a clear picture of what went wrong at the moment of failure. This level of detail is invaluable for understanding the exact scenario leading to the error, helping you make informed decisions quickly.
- Actionable Insights:
- With detailed information at your fingertips, you can take immediate action. For example, if a JavaScript error appears, you can review and correct the problematic code or resource. If a CORS error is detected, you can check the request by a web page or application to the domain.
Access to Console Logs
To access console logs:
- Open the Browser Results Tab:
- Navigate to the Test Details page with a completed execution.
- View Results:
- Click the View Result button or click the View button to the right of any action.
- Access Console Logs:
- Click the Console tab to view the console log.
Viewing Console Errors
Console errors are typically related to issues within the web application itself. Here’s a list of common console errors and their resolutions:
JavaScript Syntax Error
- Description: An error in the syntax of the JavaScript code.
- Resolution: Check the JavaScript code for syntax errors and fix them.
JavaScript Reference Error
- Description: Trying to reference a variable that is not declared.
- Resolution: Ensure that all variables are properly declared before use.
JavaScript Type Error
- Description: An operation is performed on a value of the wrong type.
- Resolution: Check the types of variables and ensure they are used correctly.
JavaScript Range Error
- Description: A numeric value is outside the acceptable range.
- Resolution: Ensure that numeric values are within the expected range.
CORS Error
- Description: Cross-Origin Resource Sharing (CORS) error occurs when a web application makes a request to a different domain than the one that served the web page.
- Resolution: Configure the server to include the correct CORS headers.
Network Error (fetch)
- Description: An error occurred while trying to fetch a resource.
- Resolution: Check the network connectivity and the URL of the resource.
Blocked Resource Error
- Description: A resource is blocked due to security settings.
- Resolution: Adjust the security settings to allow the resource.
API Call Failure
- Description: An API endpoint returns errors or fails to execute properly.
- Resolution: Check the API endpoint, ensure it is correct, and that the server is up and running.
By leveraging console logs in Functionize, testers can effectively troubleshoot and resolve client-side errors, ensuring smoother and more reliable test executions.
Viewing Network Logs
The Network Logs feature in Functionize captures essential details of network traffic, including requests, responses, and HTTP status codes. These logs are fine-tuned to filter out irrelevant data, highlighting only the relevant information, which helps in quickly identifying issues like timeouts, failed requests, or DNS resolution errors. This is particularly useful when testing applications that interact with sites behind firewalls from the cloud.
Benefits of Network Logs
- Targeted Troubleshooting:
- By focusing only on relevant information, network logs prevent information overload and allow you to focus on actual problems, making the debugging process more manageable.
- Contextual Error Information:
- Each log is linked to a specific test step, providing a clear picture of what went wrong at the moment of failure. This level of detail is invaluable for understanding the exact scenario leading to the error, helping you make informed decisions quickly.
- Actionable Insights:
- With detailed information at your fingertips, you can take immediate action. For example, if a timeout error is detected, you can look into firewall settings or server performance issues. If a DNS resolution error appears, you can check the DNS settings and ensure the domain name is correctly configured.
Accessing Network Logs
To access network logs:
- Open the Browser Results Tab:
- Navigate to the Test Details page with a completed execution.
- View Results:
- Click the View Result button or click the View button to the right of any action.
- Access Network Logs:
- Click the Network tab to view the network log.
Viewing Network Errors
When accessing tests both from within and outside your network, you may encounter several network-related errors. Here’s a list of common network errors and their resolutions:
400 Bad Request
- Description: The server cannot process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
- Resolution: Check the request URL and parameters to ensure they are correct.
401 Unauthorized
- Description: The request requires user authentication. The response must include a WWW-Authenticate header field containing a challenge applicable to the requested resource.
- Resolution: Ensure that you are properly authenticated and have the necessary credentials.
403 Forbidden
- Description: The server understood the request but refuses to authorize it. This might be due to insufficient permissions.
- Resolution: Check your permissions and ensure you have access rights to the resource.
404 Not Found
- Description: The server can't find the requested resource. This response code is one of the most common and indicates that the URL is incorrect or the resource has been removed.
- Resolution: Verify the URL for typos and ensure the resource exists.
500 Internal Server Error
- Description: The server encountered an unexpected condition that prevented it from fulfilling the request.
- Resolution: This is typically a server-side issue. Contact your server administrator.
502 Bad Gateway
- Description: The server, while acting as a gateway or proxy, received an invalid response from the upstream server.
- Resolution: This might be a temporary issue with the upstream server. Try again later or contact the server administrator.
503 Service Unavailable
- Description: The server is currently unable to handle the request due to temporary overloading or maintenance of the server.
- Resolution: Wait for some time and try again. If the issue persists, contact the server administrator.
504 Gateway Timeout
- Description: The server, while acting as a gateway or proxy, did not get a response in time from the upstream server.
- Resolution: This might be a network issue or a problem with the upstream server. Try again later or contact the server administrator.
Timeout Errors
- Description: The server took too long to respond, often due to firewall restrictions.
- Resolution: Ensure that the firewall settings allow traffic to and from the testing server.
DNS Resolution Errors
- Description: The domain name cannot be resolved, often due to network configuration issues.
- Resolution: Check the DNS settings and ensure the domain name is correctly configured.
By leveraging network logs in Functionize, testers can effectively troubleshoot and resolve network-related issues, ensuring smoother and more reliable test executions.