Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 

Repository files navigation

🧠 GrabDocs β€” Intelligent Document Management Automated Tests This repository contains automated end-to-end tests for GrabDocs, an intelligent document management platform. Tests are implemented using Python, Pytest, and Playwright to validate key user workflows such as authentication, workspace management, uploads, and chat functionality.

πŸ“ Project Structure β”œβ”€β”€ Grabdocs Test Plan.pdf # Reference document for test planning β”œβ”€β”€ logged_in.json # Stored login state (auto-generated) β”œβ”€β”€ README.md # Project documentation (this file) β”œβ”€β”€ requirements.txt # Python dependencies (note: β€œtsxt” β†’ typo fix) └── tests/ β”œβ”€β”€ conftest.py # Pytest fixtures (setup, authentication) β”œβ”€β”€ test_auth.py # Authentication and session tests β”œβ”€β”€ test_chat.py # Chat-related test cases └── test_workspace.py # Workspace creation and deletion tests βš™οΈ Setup Instructions

  1. Clone the Repository git clone git@github.com:swilltec/grabdocs_tests.git cd grabdocs-tests
  2. Create a Virtual Environment python -m venv venv source venv/bin/activate # On Linux/macOS venv\Scripts\activate # On Windows
  3. Install Dependencies pip install -r requirements.txt If requirements.txt doesn’t exist yet, create it with:

pytest playwright pytest-playwright python-dotenv Then install Playwright browsers:

playwright install πŸ” Environment Variables Set credentials used for logging into GrabDocs:

export EMAIL="your_email@example.com" export PASSWORD="your_password" Or create a .env file:

EMAIL=your_email@example.com PASSWORD=your_password ▢️ Running the Tests Run all tests:

pytest -v Run a specific test file:

pytest tests/test_auth.py -v Run tests in headed mode (browser visible):

pytest --headed πŸ§ͺ What the Tests Cover Test File Description test_auth.py Validates login, remember-me, and logout flow test_workspace.py Creates and deletes team workspaces test_chat.py Tests chat input and message visibility test_files.py Uploads files to the dashboard and validates success Each test reuses an authenticated Playwright context managed by conftest.py, preventing redundant logins and improving test efficiency.

🧰 Key Fixtures Fixture Scope Description base_url session The GrabDocs app base URL email / password session User credentials from environment browser_context session Provides a single browser session authenticated_context session Logs in and reuses an authenticated browser context πŸ“€ Upload Test Example page.set_input_files("input[type='file']", "Grabdocs Test Plan.pdf") expect(page.get_by_text("No documents uploaded yet")).not_to_be_visible() This test validates that file uploads successfully remove the "No documents uploaded yet" message on the GrabDocs Upload page.

πŸš€ GrabDocs GrabDocs β€” Intelligent Document Management Automate document handling, chat with your data, and transform your workspace productivity. Visit GrabDocs β†’

🧹 Notes If logged_in.json exists, tests will reuse it for faster sessions. Some tests (e.g. β€œRemember Me”) may be known to fail due to unimplemented features in the current production environment. You can safely delete logged_in.json to force reauthentication.

About

Automated testing of GrabDocs web application functionalities using Selenium WebDriver in Python

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors