Exploring and Enhancing Scrape Any Website (SAW)🪚: A Detailed Bug Report
Tags: qa, testing
Published: 2024-07-03 14:45:36

 Over a two-hour session, I meticulously explored the app, scrutinized various features, and documented a series of issues. This deep dive into testing unveiled both the technical intricacies and the subtle nuances of user experience and design. Let’s dive into what I discovered and how we can make SAW even better!


### Explore the SAW App 🚀
If you’re interested in exploring the [Scrape Any Website](https://apps.microsoft.com/detail/9mzxn37vw0s2) app yourself, you can access it [here](https://apps.microsoft.com/detail/9mzxn37vw0s2). Your feedback and contributions are highly valuable and can help us improve the app further. Dive in and start your web scraping adventure with [Scrape Any Website](https://scrapeanyweb.site/)!

### Testing Approaches 🌟

####Functional Testing 🛠️
For functional testing, I systematically navigated through each feature of the SAW app to ensure they worked as intended. This involved creating and editing scrape job names and URLs, testing the functionality of buttons and menus, and verifying the accuracy of data scraped. Each function was assessed to ensure it met the expected outcomes without errors.

#### Usability Testing 🖱️
Usability testing focused on the overall user experience. I evaluated the ease of use, clarity of instructions, and intuitiveness of the interface. Issues such as unreadable text, lack of prompts, and navigation difficulties were identified. The goal was to ensure that users can efficiently and effectively use the app without confusion or frustration.

#### Performance Testing 🚀
Performance testing was conducted to measure the app’s responsiveness and stability under various conditions. I tested the app’s behavior when scraping large numbers of URLs, observing load times, system resource usage, and the app’s ability to handle high-demand operations. Notable performance issues included slow loading times and Chromedriver crashes.

#### Security Testing 🔒
Security testing involved evaluating the app’s ability to bypass common web security measures, such as Cloudflare protection. This was done to ensure that the app can handle scenarios where websites have implemented security protocols to prevent scraping. [Shown Here](https://drive.google.com/file/d/1vL_lS79oPQ3C-h42-q0xX8qI0_fP3vsg/view?usp=drive_link)

### Testing Results 🚀

During the testing session, I uncovered several notable issues that affect the usability and functionality of the SAW app:

- **Unreadable Text Due to White Background**: A major issue was the unreadable text due to a white font on a white background when adding or editing scrape job names and URLs in the sidebar.

- **No Prompt to Add URL in Sidebar**: The absence of a prompt to add URLs in the sidebar led to confusion, as users were unclear on how to proceed.

- **Inability to Edit URLs and Scrape Job Names**: The inability to edit URLs and scrape job names on the homepage posed significant problems, requiring users to delete and re-enter information.

- **Browser Setting Change Issues**: Changing browser settings without proper prompts added to the confusion, as users were unaware of saved changes.

- **Default Folder Change Prompting for a File**: When attempting to change the default folder for file storage, the app incorrectly prompted for a file instead of a folder.

- **Handling 30X Errors**: The app's inability to handle 30X errors (such as redirects) left users without feedback when such errors occurred.

- **Chromedriver Crashes and Manual Closure of Drivers**: The system became overwhelmed when scraping large numbers of URLs, leading to crashes, and requiring manual closure of each terminal and driver. This one scared me honestly, I was using the the Chromedriver for a site with like 300+ links and I set it to Chromedriver to test it out, only for the app to be throwing terminals and opening small chrome environments, at first it was ok, just 2 or 3 at a time. Then it opened 9 at the same time💀 that's not 9 chrome environments, that 9 chrome environments and 9 terminals. Then I stopped it because it was disrupting my system. I stopped it and had to manually close the chromes till i figured out i just needed to close the terminals

### Suggested Improvements 💡

Based on the test results, here are my suggestions for improving the SAW app:

- **Optimize Text Display**: Ensure text is visible by using contrasting colors.

- **Add Prompts for Actions**: Include clear prompts for adding URLs and other actions. The users need these prompts for a smooth ride while using the app.

- **Enable Editing of Inputs**: Allow users to edit URLs and scrape job names directly. The scrape jobs name can be changed from the inside navbar but the urls can't be changed at all. So the user is forced to delete and rewrite instead of just edit it.

- **Improve Browser Setting Feedback**: Provide clear feedback when browser settings are changed. I noticed the update is only implemented when the app is restarted.

- **Fix Folder Prompts**: Correct the prompt to ask for a folder instead of a file. If the user can't change the folder at all, it's better the button isn't present at all, otherwise it should be a flexible and easy change for the user.

- **Handle Redirects Gracefully**: Implement handling for 30X errors and provide user feedback. It gives feedback on 40X and 50X errors but not 301 errors

- **Enhance Performance**: Optimize Chromedriver usage to prevent crashes and automate driver closure. As much as finishing the scrape quickly is important, overloading the system by opening too many chromedrivers won't help.

### Detailed Bug Report 📄
For a comprehensive view of all the issues identified during the testing session, including steps to reproduce and suggested fixes, please refer to the detailed bug report [here](https://docs.google.com/spreadsheets/d/1MJ6ao6_VGl0PIFvpJOlLC-agaR3AQ4QzkLasbYdP7t0/edit?usp=sharing). This report provides an in-depth analysis of each issue and serves as a valuable resource for the development team to address and resolve the identified problems.

### Final Thoughts 🌐

Testing the SAW app was a rewarding experience that highlighted the importance of detailed testing and thorough documentation. By addressing these key issues, we can significantly improve the user experience and functionality of the app. I’m excited to see how SAW evolves and look forward to contributing to its ongoing improvement.✨