Skip to content

Commit 0a1582a

Browse files
committed
docs(website): extracted the installation guide
1 parent 70f89e1 commit 0a1582a

File tree

3 files changed

+761
-4
lines changed

3 files changed

+761
-4
lines changed

src/docs/community/contributing/proposing-enhancements.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ This virtual workspace is free of charge thanks to the [generous free tier](http
2929
Alternatively, if you prefer to work on the pull request on your own machine instead of using Gitpod, you'll need to:
3030

3131
- [Clone](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/cloning-a-repository) your fork to your machine
32-
- Install the [runtime dependencies](/handbook/getting-started/installation/): Node.js LTS and Java Runtime Environment
32+
- Install the [runtime dependencies](/handbook/installation/): Node.js LTS and Java Runtime Environment
3333
- Run `make install` in the project root to install the Node.js dependencies. Serenity/JS uses [Lerna.js](https://github.com/lerna/lerna), [PnPm](https://pnpm.io/) and [Node.js Corepack](https://github.com/nodejs/corepack) to manage the `@serenity-js/*` modules in the mono-repo, `make install` installs all three for you. Note that this step happens automatically in the Gitpod workspace.
3434
- Run `make clean test` to make sure you can build the Serenity/JS project on your machine and all the unit tests are passing before introducing any changes.
3535
- Introduce the changes you wish to propose and update or introduce any package-scope and integration tests that are relevant.

src/docs/handbook/installation.mdx

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
---
2+
sidebar_position: 3
3+
title: Installation
4+
---
5+
6+
# Serenity/JS Installation Guide
7+
8+
Serenity/JS integrates your favourite automation tools into a cohesive platform
9+
and gives you a consistent [Screenplay Pattern](/handbook/design/screenplay-pattern/)-based API to implement multi-actor,
10+
multi-interface test scenarios and generate rich, illustrated reports.
11+
12+
This guide helps you install the core runtime dependencies and prepare your development environment for writing and running Serenity/JS test scenarios.
13+
Once you have the development environment set up, follow your test runner's [dedicated configuration guide](/handbook/test-runners/)
14+
to create a new project or add Serenity/JS to your existing codebase.
15+
16+
## Quick start 🚀
17+
18+
To start testing immediately, consider using:
19+
- [**Serenity/JS Project Templates**](/handbook/project-templates/) - pre-configured with essential dependencies
20+
- [**Serenity/JS GitPods**](/handbook/project-templates/#serenityjs-gitpods) - ready-to-use cloud-based environments
21+
22+
## Installing Node.js
23+
24+
Serenity/JS runs on [Node.js](https://nodejs.org/) and supports recent [Long-Term Support (LTS)](https://github.com/nodejs/Release) versions.
25+
It is tested with Node.js <SupportedNodeVersions conjunction="and" />.
26+
27+
### Downloading Node.js
28+
29+
To install Node.js and the Node Package Manager (npm):
30+
- **Recommended**: Download the installer from [nodejs.org](https://nodejs.org/)
31+
- **Advanced**: Use [Node Version Manager (nvm)](http://nvm.sh) to manage multiple versions of Node.js on a single machine
32+
33+
### Verifying the installation
34+
35+
Run the following command in your terminal:
36+
37+
```shell
38+
node --version
39+
```
40+
41+
Expected output (example):
42+
43+
<CodeBlock language="bash" >
44+
<CurrentNodeVersion />
45+
</CodeBlock>
46+
47+
## Installing the JRE
48+
49+
Serenity/JS uses [Serenity BDD](http://serenity-bdd.info/) to generate the illustrated HTML reports.
50+
Serenity BDD is a Java library and requires the [Java Runtime Environment (JRE)](http://www.oracle.com/technetwork/java/javase/overview/index.html) **version 17** or newer.
51+
52+
### Downloading JRE
53+
54+
To install the JRE:
55+
- **Recommended**: Download the installer from [oracle.com](https://www.oracle.com/java/technologies/downloads/) or [adoptopenjdk.net](https://adoptopenjdk.net/)
56+
- **Advanced**: Use the [Software Development Kit Manager (SDKMan)](https://sdkman.io/) to manage multiple Java versions on a single machine
57+
58+
### Verifying the installation
59+
60+
Run the following command in your terminal:
61+
62+
```shell
63+
java -version
64+
```
65+
66+
Expected output (example):
67+
```shell
68+
openjdk version "22" 2024-03-19
69+
OpenJDK Runtime Environment Corretto-22.0.0.36.2 (build 22+36-FR)
70+
OpenJDK 64-Bit Server VM Corretto-22.0.0.36.2 (build 22+36-FR, mixed mode, sharing)
71+
```
72+
73+
If you use multiple Java versions, ensure `JAVA_HOME` environment variable points to the correct one. On macOS, it could be:
74+
75+
```shell
76+
echo $JAVA_HOME
77+
/Users/jan/.sdkman/candidates/java/current
78+
```
79+
80+
## Installing an IDE
81+
82+
Serenity/JS supports open standards and works with all the popular JavaScript and TypeScript editors and Integrated Development Environments (IDEs).
83+
84+
Learn more about Serenity/JS integration with your favourite IDE:
85+
86+
- [JetBrains IDEA](/handbook/integration/jetbrains-idea/)
87+
- [VisualStudio Code](/handbook/integration/visual-studio-code/)
88+
89+
## Setting up CI/CD integration
90+
91+
Serenity/JS is designed to work with Continuous Integration (CI) and Continuous Delivery (CD) systems.
92+
93+
Learn how to configure Serenity/JS with your CI/CD system of choice:
94+
95+
- [GitLab CI](/handbook/integration/gitlab-ci/)
96+
- [GitHub Actions](/handbook/integration/github-actions/)
97+
- [Jenkins CI](/handbook/integration/jenkins-ci/)
98+
99+
## Need help?
100+
101+
If you encounter issues during setup, try these resources:
102+
- [Serenity/JS Project Templates](/handbook/project-templates/)
103+
- [Reference implementations](https://github.com/serenity-js/serenity-js/tree/main/examples)
104+
- [Serenity/JS Q'n'A forum](https://github.com/orgs/serenity-js/discussions/categories/how-to)
105+
- [Serenity/JS Community chat](https://matrix.to/#/#serenity-js:gitter.im)
106+
107+
The Serenity/JS Community is here to support you!
108+
109+
## Next step - set up your test runner
110+
111+
You're now ready to set up your Serenity/JS project! 🎯
112+
113+
Follow your chosen test runner's dedicated installation and configuration guide to create a new project or add Serenity/JS to your existing codebase:
114+
- [Cucumber](/handbook/test-runners/cucumber)
115+
- [Jasmine](/handbook/test-runners/jasmine)
116+
- [Mocha](/handbook/test-runners/mocha)
117+
- [Playwright Test](/handbook/test-runners/playwright-test)
118+
- [Protractor](/handbook/test-runners/protractor)
119+
- [WebdriverIO](/handbook/test-runners/webdriverio)

0 commit comments

Comments
 (0)