mirror of
https://github.com/Horizontal42/LaptopTester.git
synced 2026-11-10 16:02:05 +03:00
54 lines
2.4 KiB
Markdown
54 lines
2.4 KiB
Markdown
[Русский](README.ru.md)
|
||
|
||
# LaptopTester
|
||
|
||
A Windows QA tool for laptop acceptance testing: auto-detects hardware, walks you through a checklist, writes results to a Google Sheet.
|
||
|
||
```
|
||
python tester.py
|
||
# Scans WMI + smartctl → fills in brand, model, CPU, RAM, SSD, GPU
|
||
# → checklist page for sound/screen/keyboard/camera/... → one click sends to Google Sheets
|
||
```
|
||
|
||
> **Note:** The app runs `net accounts /maxpwage:unlimited` on startup to reset Windows password expiry. It requires **administrator privileges**.
|
||
|
||
## Install
|
||
|
||
**Requirements:** Windows 10/11, Python 3.9+
|
||
|
||
```
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
1. Copy `sheet_config.example.json` → `sheet_config.json` and adjust to your spreadsheet (worksheet name, column numbers, hardware lists).
|
||
2. Download the test utilities listed in [`tools/README.md`](tools/README.md) into the `tools/` folder.
|
||
3. Add Google credentials (one of):
|
||
- `service_key.json` — service account key (recommended for shared use)
|
||
- `credentials.json` — OAuth 2.0 client JSON (runs a browser login on first use)
|
||
|
||
## What it does
|
||
|
||
- **Hardware autodetect:** reads brand, model, CPU, RAM from WMI; disk capacity and SMART data (power-on hours, cycle count, health grade) from `smartctl`; GPU from WMI — matched against your configured lists.
|
||
- **Checklist page:** sound, screen, touchscreen, keyboard, camera, mic, touchpad, ports, biometrics, CMOS battery, BIOS/Windows password, LTE, drivers, display colours — each a pass/fail combo box.
|
||
- **Google Sheets write:** finds the row by serial number (updates if found, appends if not), writes all fields in one batch call.
|
||
|
||
## Handy things
|
||
|
||
- **Second battery:** check the "Вторая батарея" group box to enter a second battery's cycles/capacity.
|
||
- **Re-scan:** "Рескан" button reruns hardware detection without restarting the app.
|
||
- **SMART grade:** SSD info field shows `<grade>/<hours>/<cycles>` — A (<1000 h), B (1000–15000 h), C (>15000 h).
|
||
|
||
## For developers
|
||
|
||
Stack: Python 3, PyQt5, WMI, gspread, google-auth. Build: `pyinstaller LaptopTester.spec`
|
||
|
||
Column map and hardware option lists live in `sheet_config.json` — no code change needed to adapt to a different spreadsheet.
|
||
|
||
## Credits
|
||
|
||
Optional third-party utilities (not included — see `tools/README.md` for download links):
|
||
smartmontools, NirSoft BatteryInfoView, SoftwareOK IsMyLcdOK / IsMyTouchScreenOK, PassMark KeyboardTest, OCCT, CrystalDiskInfo.
|
||
|
||
## License
|
||
|
||
MIT
|