LaptopTester/README.ru.md
bearincapsule e17264fb95 refactor for public release
split into config/scanner/sheet_manager modules; hardware lists and
column map moved to sheet_config.json (example provided); fix crash
on submit (missing inp_tester), row=2 overwrite bug, GPU token
matching, SSD decimal-vs-binary mismatch, net accounts returncode
check, rescan page switch; tools/ gitignored with download README
2026-06-11 19:53:17 +03:00

54 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[English](README.md)
# LaptopTester
Windows-инструмент для QA-приёмки ноутбуков: автоматически определяет комплектацию, проводит через чеклист тестирования и записывает результаты в Google Sheets.
```
python tester.py
# Сканирует WMI + smartctl → заполняет бренд, модель, CPU, RAM, SSD, GPU
# → страница чеклиста: звук/экран/клавиатура/камера/... → одна кнопка отправляет в Google Sheets
```
> **Важно:** При запуске программа выполняет `net accounts /maxpwage:unlimited` (сброс срока действия пароля Windows). Требуются права **администратора**.
## Установка
**Требования:** Windows 10/11, Python 3.9+
```
pip install -r requirements.txt
```
1. Скопируйте `sheet_config.example.json` → `sheet_config.json` и настройте под свою таблицу (имя листа, номера столбцов, списки железа).
2. Скачайте утилиты для тестирования из [`tools/README.md`](tools/README.md) в папку `tools/`.
3. Добавьте Google-ключи (на выбор):
- `service_key.json` — ключ сервисного аккаунта (рекомендуется для командного использования)
- `credentials.json` — OAuth 2.0 client JSON (при первом запуске откроется браузер для входа)
## Что умеет
- **Автоопределение железа:** бренд, модель, CPU, RAM — через WMI; объём диска и данные SMART (часы работы, циклы перезарядки, оценка состояния) — через `smartctl`; GPU — через WMI. Всё сопоставляется со списками из конфига.
- **Страница чеклиста:** звук, экран, тачскрин, клавиатура, камера, микрофон, тачпад, разъёмы, биометрия, батарейка CMOS, пароли BIOS/Windows, LTE, драйверы, цвета — каждый пункт выпадающим списком.
- **Запись в Google Sheets:** ищет строку по серийному номеру (обновляет найденную, добавляет новую), записывает все поля одним пакетным запросом.
## Полезное
- **Вторая батарея:** включите группу «Вторая батарея» чтобы ввести циклы/ёмкость второй АКБ.
- **Рескан:** кнопка «🔄 Рескан» повторно запускает определение железа без перезапуска программы.
- **Оценка SMART:** поле SSD показывает `<оценка>/<часы>/<циклы>` — A (<1000 ч), B (1000–15000 ч), C (>15000 ч).
## Для разработчиков
Стек: Python 3, PyQt5, WMI, gspread, google-auth. Сборка: `pyinstaller LaptopTester.spec`
Карта столбцов и списки опций железа хранятся в `sheet_config.json` — адаптация под другую таблицу не требует правки кода.
## Авторства
Необязательные сторонние утилиты (не включены — ссылки на скачивание в `tools/README.md`):
smartmontools, NirSoft BatteryInfoView, SoftwareOK IsMyLcdOK / IsMyTouchScreenOK, PassMark KeyboardTest, OCCT, CrystalDiskInfo.
## Лицензия
MIT