-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathindex.html
More file actions
256 lines (235 loc) Β· 12.8 KB
/
index.html
File metadata and controls
256 lines (235 loc) Β· 12.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
---
layout: default
title: ScanAPI - Automated Integration Testing and Live Documentation for your API
---
<div class="cover hero">
<div class="cover__content">
<h1 class="cover__title">ScanAPI</h1>
<h2 class="cover__subtitle">Automated Integration Testing and Live Documentation for your API</h2>
<div class="cover__buttons">
<a href="{{ "/docs.html" | relative_url }}" class="cover__button">Docs</a>
<a href="{{ "/tutorials/step01.html" | relative_url }}" class="cover__button">Get started</a>
</div>
</div>
</div>
<section class="features feature-list">
<div class="features__grid">
<div class="features__item">
<img src="{{ "/assets/images/confirm.svg" | relative_url }}" class="features__icon">
<h3 class="features__title">API contracts tested</h3>
<p class="features__description">
Guarantee the quality of the data that is being consumed or used.
Ensure that communication between services is occurring as expected.
Ensure the system does, in fact, what it should do.
</p>
</div>
<div class="features__item">
<img src="{{ "/assets/images/dependency.svg" | relative_url }}" class="features__icon">
<h3 class="features__title">Nested requests</h3>
<p class="features__description">
Use the response of the previous request to build the next.
Making it easy to debug complex scenarios of chained requests.
</p>
</div>
<div class="features__item">
<img src="{{ "/assets/images/api.svg" | relative_url }}" class="features__icon">
<h3 class="features__title">Live Documentation</h3>
<p class="features__description">
ScanAPI will keep your API documentation always updated.
No more misinformation or outdated documentation.
</p>
</div>
<div class="features__item">
<img src="{{ "/assets/images/git.svg" | relative_url }}" class="features__icon">
<h3 class="features__title">Version control</h3>
<p class="features__description">
Keep your API tests and docs as code. Store specs and configs in your repository, review changes via pull requests, and run everything reproducibly in CI/CD.
</p>
</div>
</div>
</section>
<section class="section section--reports home-section home-section--reports">
<div class="section__content">
<h2 class="section__title">Beautiful Reports</h2>
<p class="section__text">Generate comprehensive, interactive HTML reports automatically with every test run.</p>
<div class="section__features-list">
<div class="section__feature-item">
<span class="section__feature-icon">π</span>
<span class="section__feature-text">Visual test results with detailed request/response data</span>
</div>
<div class="section__feature-item">
<span class="section__feature-icon">π¨</span>
<span class="section__feature-text">Fully customizable with your own Jinja templates</span>
</div>
<div class="section__feature-item">
<span class="section__feature-icon">π</span>
<span class="section__feature-text">Hide sensitive information automatically</span>
</div>
<div class="section__feature-item">
<span class="section__feature-icon">π</span>
<span class="section__feature-text">Copy exact cURL commands to reproduce requests</span>
</div>
</div>
<a href="{{ "/docs_v1/configuration/custom_report.html" | relative_url }}" class="section__button">Learn about reports</a>
</div>
<div class="section__image-wrapper">
<img src="{{"/assets/images/scanapi-report.png" | relative_url }}" class="section__image section__image--clickable" alt="ScanAPI Report Example" onclick="openImageModal(this.src)">
</div>
</section>
<section class="section section--tests home-section home-section--tests">
<div class="section__image-wrapper">
<img src="{{"/assets/images/tests.png" | relative_url }}" class="section__image section__image--clickable" alt="ScanAPI Integration Tests" onclick="openImageModal(this.src)">
</div>
<div class="section__content">
<h2 class="section__title">Powerful Integration Tests</h2>
<p class="section__text">Test your API endpoints with confidence using a simple, declarative specification syntax.</p>
<div class="section__features-list">
<div class="section__feature-item">
<span class="section__feature-icon">π―</span>
<span class="section__feature-text">Define endpoints and expected behaviors in YAML or JSON</span>
</div>
<div class="section__feature-item">
<span class="section__feature-icon">π</span>
<span class="section__feature-text">Chain requests and use responses to build the next</span>
</div>
<div class="section__feature-item">
<span class="section__feature-icon">π</span>
<span class="section__feature-text">Support for environment variables, custom vars, and Python code</span>
</div>
<div class="section__feature-item">
<span class="section__feature-icon">β‘</span>
<span class="section__feature-text">Get instant feedback and catch issues before production</span>
</div>
</div>
<a href="{{ "/tutorials/step01.html" | relative_url }}" class="section__button">Start testing now</a>
</div>
</section>
<section class="section section--secure-os home-section home-section--secure-os">
<div class="section__content section__content--centered">
<div class="secure-os">
<div class="secure-os__badge">
<img src="https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png" alt="GitHub" class="secure-os__github-logo">
</div>
<h2 class="section__title section__title--centered">GitHub Secure Open Source Fund</h2>
<p class="section__text section__text--lead">
ScanAPI is proud to be selected as one of the 71 important open source projects in the second cohort of the GitHub Secure Open Source Fund.
</p>
<p class="section__text">
This initiative supports critical open source projects in securing their supply chains and improving security practices. Being part of this program helps us deliver a more secure and reliable tool for the community.
</p>
<div class="secure-os__features">
<div class="secure-os__feature">
<span class="secure-os__feature-icon">π</span>
<h3 class="secure-os__feature-title">Security First</h3>
<p class="secure-os__feature-text">Enhanced security measures and best practices</p>
</div>
<div class="secure-os__feature">
<span class="secure-os__feature-icon">π‘οΈ</span>
<h3 class="secure-os__feature-title">Supply Chain</h3>
<p class="secure-os__feature-text">Securing dependencies and build processes</p>
</div>
<div class="secure-os__feature">
<span class="secure-os__feature-icon">β¨</span>
<h3 class="secure-os__feature-title">Community Trust</h3>
<p class="secure-os__feature-text">Building confidence in open source software</p>
</div>
</div>
<a href="https://github.blog/open-source/maintainers/securing-the-supply-chain-at-scale-starting-with-71-important-open-source-projects/" class="section__button" target="_blank" rel="noopener noreferrer">Read the Announcement</a>
</div>
</div>
</section>
<section class="section section--contributors home-section home-section--contributors">
<div class="section__header">
<h2 class="section__title section__title--centered">Our Amazing Contributors</h2>
<p class="section__text section__text--centered">
ScanAPI is built and maintained by a passionate community of open source contributors from around the world.
</p>
</div>
<div class="contributors">
<div class="contributors__grid">
<a href="https://github.com/scanapi/scanapi/graphs/contributors" class="contributors__link" target="_blank">
<img src="https://contrib.rocks/image?repo=scanapi/scanapi" alt="ScanAPI Contributors" class="contributors__image">
</a>
</div>
<div class="contributors__stats">
<div class="contributors__stat-item">
<span class="contributors__stat-icon">π₯</span>
<div class="contributors__stat-content">
<span class="contributors__stat-label">Community-driven</span>
<span class="contributors__stat-desc">Built by developers, for developers</span>
</div>
</div>
<div class="contributors__stat-item">
<span class="contributors__stat-icon">π</span>
<div class="contributors__stat-content">
<span class="contributors__stat-label">Global team</span>
<span class="contributors__stat-desc">Contributors from all over the world</span>
</div>
</div>
<div class="contributors__stat-item">
<span class="contributors__stat-icon">π‘</span>
<div class="contributors__stat-content">
<span class="contributors__stat-label">All contributions welcome</span>
<span class="contributors__stat-desc">Code, docs, ideas, and feedback</span>
</div>
</div>
</div>
</div>
<div class="contributors__cta">
<h3 class="contributors__cta-title">Want to contribute?</h3>
<p class="contributors__cta-text">Join our community and help make ScanAPI even better!</p>
<div class="contributors__buttons">
<a href="https://github.com/scanapi/scanapi" class="section__button" target="_blank">View on GitHub</a>
<a href="https://github.com/scanapi/scanapi/blob/main/CONTRIBUTING.md" class="section__button section__button--secondary" target="_blank">Contributing Guide</a>
</div>
</div>
</section>
<section class="section section--supporters home-section home-section--supporters">
<div class="supporters">
<div class="supporters__container">
<h2 class="supporters__title">Our Supporters</h2>
<p class="supporters__text">
We are grateful for the support of our backers over time. Their contributions have been instrumental in helping us maintain and improve ScanAPI.
</p>
<div class="supporters__logos">
<a href="https://www.lambdatest.com/?utm_source=scanapi&utm_medium=sponsor" target="_blank" class="supporters__logo-link">
<img src="{{ "/assets/images/lambdatest-logo.png" | relative_url }}" alt="LambdaTest" class="supporters__logo-image" />
</a>
<a href="https://www.redhat.com/" target="_blank" class="supporters__logo-link">
<img src="{{ "/assets/images/red-hat-logo.png" | relative_url }}" alt="Red Hat" class="supporters__logo-image" />
</a>
</div>
<div class="supporters__cta">
<p class="supporters__cta-text">Your support helps us keep the project alive and growing.</p>
<a href="https://opencollective.com/scanapi" class="section__button" target="_blank">Become a Backer</a>
</div>
</div>
</div>
</section>
<!-- Image Modal -->
<div id="imageModal" class="image-modal" onclick="closeImageModal()">
<span class="image-modal__close">×</span>
<div class="image-modal__wrapper">
<img class="image-modal__content" id="modalImage">
</div>
</div>
<script>
function openImageModal(src) {
const modal = document.getElementById('imageModal');
const modalImg = document.getElementById('modalImage');
modal.style.display = 'flex';
modalImg.src = src;
document.body.style.overflow = 'hidden';
}
function closeImageModal() {
const modal = document.getElementById('imageModal');
modal.style.display = 'none';
document.body.style.overflow = 'auto';
}
// Close modal with ESC key
document.addEventListener('keydown', function(event) {
if (event.key === 'Escape') {
closeImageModal();
}
});
</script>