snapexcel 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +182 -0
- package/USER_GUIDE.html +735 -0
- package/assets/icon.svg +10 -0
- package/package.json +46 -0
- package/screenshots/Config.png +0 -0
- package/screenshots/Home.png +0 -0
- package/src/index.html +196 -0
- package/src/jszip.min.js +13 -0
- package/src/main.js +367 -0
- package/src/region-selector.html +265 -0
- package/src/renderer.js +1429 -0
- package/src/styles.css +845 -0
package/README.md
ADDED
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
# Desktop Screenshot Logger 🖥️
|
|
2
|
+
|
|
3
|
+
A desktop application for capturing screenshots from any window, including Android emulators. Perfect for UI testing workflows where you need to capture screens from applications outside the browser.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- 📷 **Capture Any Window** - Capture screenshots from any application, including Android emulators
|
|
8
|
+
- 🖥️ **Full Screen Capture** - Capture the entire screen with one click
|
|
9
|
+
- ✂️ **Region Capture** - Select and capture a specific area of the screen
|
|
10
|
+
- 📑 **Multiple Sheets** - Organize screenshots into separate sheets (like Excel tabs)
|
|
11
|
+
- 📝 **Add Notes** - Document observations for each screenshot
|
|
12
|
+
- 📊 **Excel Export** - Export to .xlsx with embedded images
|
|
13
|
+
- 🌐 **HTML Export** - Generate beautiful HTML reports
|
|
14
|
+
- 📌 **Always on Top** - Keep the app visible while testing
|
|
15
|
+
- ⌨️ **Keyboard Shortcuts** - Quick capture with `Cmd/Ctrl + Shift + S`, Region with `Cmd/Ctrl + Shift + R`
|
|
16
|
+
- 🎨 **Dark Blue Corporate Theme** - Matches the Chrome extension design
|
|
17
|
+
|
|
18
|
+
## Installation
|
|
19
|
+
|
|
20
|
+
### Prerequisites
|
|
21
|
+
|
|
22
|
+
- Node.js (v16 or higher)
|
|
23
|
+
- npm (v8 or higher)
|
|
24
|
+
|
|
25
|
+
### Setup
|
|
26
|
+
|
|
27
|
+
1. **Navigate to the project folder:**
|
|
28
|
+
```bash
|
|
29
|
+
cd /path/to/DesktopScreenshotTool
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
2. **Install dependencies:**
|
|
33
|
+
```bash
|
|
34
|
+
npm install
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
3. **Run the application:**
|
|
38
|
+
```bash
|
|
39
|
+
npm start
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Building for Distribution
|
|
43
|
+
|
|
44
|
+
To create a standalone executable:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# For macOS
|
|
48
|
+
npm run build:mac
|
|
49
|
+
|
|
50
|
+
# For Windows
|
|
51
|
+
npm run build:win
|
|
52
|
+
|
|
53
|
+
# For Linux
|
|
54
|
+
npm run build:linux
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
The built application will be in the `dist` folder.
|
|
58
|
+
|
|
59
|
+
## Usage
|
|
60
|
+
|
|
61
|
+
### Starting a Session
|
|
62
|
+
|
|
63
|
+
1. Launch the application
|
|
64
|
+
2. Enter an **Excel File Name** (e.g., `Android_Test_Report`)
|
|
65
|
+
3. Enter a **First Sheet Name** (e.g., `Login_Flow`)
|
|
66
|
+
4. Click **🚀 Start Session**
|
|
67
|
+
|
|
68
|
+
### Capturing Screenshots
|
|
69
|
+
|
|
70
|
+
1. **Select Capture Source:**
|
|
71
|
+
- **Screen** - Captures the entire screen
|
|
72
|
+
- **Window** - Select a specific window (like Android Emulator)
|
|
73
|
+
|
|
74
|
+
2. **Capture:**
|
|
75
|
+
- Click the **📷 Capture Screenshot** button
|
|
76
|
+
- Or use the keyboard shortcut: `Cmd/Ctrl + Shift + S`
|
|
77
|
+
|
|
78
|
+
3. **Add Notes:**
|
|
79
|
+
- Click **📝 Note** to add observations to the last screenshot
|
|
80
|
+
|
|
81
|
+
### Managing Sheets
|
|
82
|
+
|
|
83
|
+
- Click the **➕** button next to the sheet dropdown to create new sheets
|
|
84
|
+
- Switch between sheets using the dropdown
|
|
85
|
+
- Each sheet maintains its own set of screenshots
|
|
86
|
+
|
|
87
|
+
### Exporting Reports
|
|
88
|
+
|
|
89
|
+
1. Select the export format:
|
|
90
|
+
- **Excel (.xlsx)** - For team sharing and archiving
|
|
91
|
+
- **HTML Report** - For quick viewing in browser
|
|
92
|
+
|
|
93
|
+
2. Click **⬇️ Download**
|
|
94
|
+
3. Choose the save location
|
|
95
|
+
|
|
96
|
+
### Minimal View
|
|
97
|
+
|
|
98
|
+
- Click **➖** in the header to switch to minimal view
|
|
99
|
+
- Perfect for quick captures while testing
|
|
100
|
+
- Click **Expand** to return to full view
|
|
101
|
+
|
|
102
|
+
### Always on Top
|
|
103
|
+
|
|
104
|
+
- Click the **📌** button to toggle "always on top" mode
|
|
105
|
+
- Keeps the app visible while you work in other applications
|
|
106
|
+
|
|
107
|
+
## Keyboard Shortcuts
|
|
108
|
+
|
|
109
|
+
| Shortcut | Action |
|
|
110
|
+
|----------|--------|
|
|
111
|
+
| `Cmd/Ctrl + Shift + S` | Capture full screen/window |
|
|
112
|
+
| `Cmd/Ctrl + Shift + R` | Region capture (select area) |
|
|
113
|
+
|
|
114
|
+
## Use Cases
|
|
115
|
+
|
|
116
|
+
### Android Emulator Testing
|
|
117
|
+
1. Start Android Studio and launch the emulator
|
|
118
|
+
2. Open Desktop Screenshot Logger
|
|
119
|
+
3. Select "Window" as capture source
|
|
120
|
+
4. Choose the Android Emulator from the dropdown
|
|
121
|
+
5. Capture screenshots as you test
|
|
122
|
+
|
|
123
|
+
### Desktop Application Testing
|
|
124
|
+
1. Open the application you want to test
|
|
125
|
+
2. Use "Screen" capture for full context
|
|
126
|
+
3. Or use "Window" capture for specific apps
|
|
127
|
+
|
|
128
|
+
## Project Structure
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
DesktopScreenshotTool/
|
|
132
|
+
├── package.json
|
|
133
|
+
├── README.md
|
|
134
|
+
├── assets/
|
|
135
|
+
│ └── icon.png
|
|
136
|
+
└── src/
|
|
137
|
+
├── main.js # Electron main process
|
|
138
|
+
├── index.html # UI structure
|
|
139
|
+
├── styles.css # Styling (dark blue theme)
|
|
140
|
+
├── renderer.js # UI logic & state management
|
|
141
|
+
└── jszip.min.js # Excel export library
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Comparison with Chrome Extension
|
|
145
|
+
|
|
146
|
+
| Feature | Chrome Extension | Desktop App |
|
|
147
|
+
|---------|-----------------|-------------|
|
|
148
|
+
| Web page capture | ✅ | ✅ |
|
|
149
|
+
| Android emulator capture | ❌ | ✅ |
|
|
150
|
+
| Any window capture | ❌ | ✅ |
|
|
151
|
+
| Multiple sheets | ✅ | ✅ |
|
|
152
|
+
| Notes | ✅ | ✅ |
|
|
153
|
+
| Excel export | ✅ | ✅ |
|
|
154
|
+
| HTML export | ✅ | ✅ |
|
|
155
|
+
| Always on top | ❌ | ✅ |
|
|
156
|
+
| Global shortcuts | ❌ | ✅ |
|
|
157
|
+
|
|
158
|
+
## Troubleshooting
|
|
159
|
+
|
|
160
|
+
### "Screen recording permission required" (macOS)
|
|
161
|
+
1. Go to System Preferences → Security & Privacy → Privacy
|
|
162
|
+
2. Select "Screen Recording" from the left panel
|
|
163
|
+
3. Add the Desktop Screenshot Logger app
|
|
164
|
+
|
|
165
|
+
### Window capture not working
|
|
166
|
+
1. Ensure the target window is visible (not minimized)
|
|
167
|
+
2. Click the **🔄** button to refresh the window list
|
|
168
|
+
3. Try using "Screen" capture as an alternative
|
|
169
|
+
|
|
170
|
+
### Screenshots are blank
|
|
171
|
+
- On macOS, grant screen recording permission
|
|
172
|
+
- On Windows, run as administrator if needed
|
|
173
|
+
|
|
174
|
+
## License
|
|
175
|
+
|
|
176
|
+
MIT License - Walmart UI Testing Team
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
**Version:** 1.0.0
|
|
181
|
+
**Theme:** Dark Blue Corporate
|
|
182
|
+
**Companion to:** Chrome Extension Screenshot Logger
|