Skip to content

Commit

Permalink
Rename package to ExTester and add logo (#1050)
Browse files Browse the repository at this point in the history
Signed-off-by: Dominik Jelinek <[email protected]>
  • Loading branch information
djelinek authored Dec 20, 2023
1 parent cec8f7c commit 27af11e
Show file tree
Hide file tree
Showing 21 changed files with 114 additions and 109 deletions.
3 changes: 2 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ Before submitting your PR, please review the following checklist:
- [ ] **DO** make sure not to introduce any compiler warnings.

Before merging the PR:
- [ ] **CHECK** continous integration of main branch is green.

- [ ] **CHECK** continuous integration of `main` branch is green.
- [ ] **CHECK** pull request check job is green.
- [ ] **CHECK** all pull request questions/requests are resolved.
- [ ] **WAIT** till PR is approved by at least 1 committer.
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Contributing to VS Code Extension Tester
# Contributing

First of all, **welcome!** Thank you for your interest in contributing to our testing framework.

Expand Down Expand Up @@ -48,7 +48,7 @@ After these steps, you should be able to run the project and make your changes.

### Test It

**When you make a change, make sure the tests are passing**. In the ```test/test-project``` directory there is a dummy vscode extension we use to test the framework itself.
**When you make a change, make sure the tests are passing**. In the ```test/test-project``` directory there is a dummy VS Code extension we use to test the framework itself.

First we need to install the dependencies of this project. For that, you can use the following script

Expand Down
8 changes: 4 additions & 4 deletions KNOWN_ISSUES.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ This is likely due to a missing dependency on ChromeDriver that runs underneath.

## VS Code Version Support & Backward Compatibility

Extension Tester **currently supports the latest 3 minor releases** of VS Code (subject to change if VS Code 2.x ever comes out). Additionally, the oldest release of VS Code that can be successfully used with Extension Tester is `1.37.0`. Older versions of VS Code might not work at all.
ExTester **currently supports the latest 3 minor releases** of VS Code (subject to change if VS Code 2.x ever comes out). Additionally, the oldest release of VS Code that can be successfully used with ExTester is `1.37.0`. Older versions of VS Code might not work at all.

Versions older than the supported 3 latest releases, but still newer than `1.37.0` will most likely work just fine. However, if they stop working over time, there will be no more fixes to make them work. Unless you'd like to contribute these.

Expand All @@ -15,13 +15,13 @@ Versions older than the supported 3 latest releases, but still newer than `1.37.
The macOS has limitations due to its platform specific native components used also by Visual Studio Code. These components are not at this moment supported on side of vscode-extension-tester / page-objects library. The mentioned not supported components are:

- **native modal dialogs** (e.g. file/folder dialogs)
- **native context menus** (e.g. click on vscode Manage button)
- **native context menus** (e.g. click on Manage button)
- **native menu title bar** (e.g. navigation in menu as File > New File...)

We are trying to bring some solution or workarounds, because currently there is no other option.

1. in case you need to use **dialogs**, please use simple dialogs in vscode (see [wiki using dialogs](https://github.com/redhat-developer/vscode-extension-tester/wiki#using-dialogs))
2. for **context menus** and **title bar**, please use command equivalents from vscode command palette
1. in case you need to use **dialogs**, please use simple dialogs in VS Code (see [wiki using dialogs](https://github.com/redhat-developer/vscode-extension-tester/wiki#using-dialogs))
2. for **context menus** and **title bar**, please use command equivalents from VS Code command palette

## Migrating to ExTester 4.0.0+

Expand Down
46 changes: 22 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
<h1 align="center">
<img alt="" width="125" height="125" src="./icons/logo.png">
<br>
Visual Studio Code Extension Tester
ExTester
</h1>

<p align="center">
<a href="https://www.npmjs.com/package/vscode-extension-tester"><img src="https://img.shields.io/npm/v/vscode-extension-tester?label=extester&color=orange&style=for-the-badge" alt="VSCode ExTester"/></a>
<a href="https://www.npmjs.com/package/vscode-extension-tester"><img src="https://img.shields.io/npm/v/vscode-extension-tester?label=extester&color=orange&style=for-the-badge" alt="ExTester"/></a>
<a href="https://www.npmjs.com/package/vscode-extension-tester-locators"><img src="https://img.shields.io/npm/v/vscode-extension-tester-locators?color=orange&label=locators&style=for-the-badge" alt="ExTester Locators"/></a>
<a href="https://www.npmjs.com/package/monaco-page-objects"><img src="https://img.shields.io/npm/v/monaco-page-objects?color=orange&label=page%20objects&style=for-the-badge" alt="ExTester Page Objects"/></a>
<a href="https://github.com/redhat-developer/vscode-extension-tester/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-Apache%202-blue.svg?style=for-the-badge&logo=appveyor" alt="License"/></a>
Expand All @@ -24,55 +25,52 @@
</p>

<p align="center">
Extension Tester is a package that is designed to help you run UI tests for your <a href="https://code.visualstudio.com/">Visual Studio Code</a> extensions using <a href="https://www.npmjs.com/package/selenium-webdriver">selenium-webdriver</a>.
<b>ExTester</b>: Your Essential UI Testing Companion for <a href="https://code.visualstudio.com/">Visual Studio Code</a> Extensions!<br>Seamlessly execute UI tests with <a href="https://www.npmjs.com/package/selenium-webdriver">Selenium WebDriver</a>, ensuring robustness and reliability in your extension development journey. Simplify UI testing for your VS Code extensions and elevate the quality of your user interface effortlessly. Dive into efficient testing with ExTester today!
</p><br/>

### Features

- Download a test instance of Visual Studio Code
- Download the appropriate version of ChromeDriver
- Package and Install your extension into downloaded VS Code instance
- Launch the VS Code instance using Selenium Webdriver
- Run your tests
- Download a test instance of Visual Studio Code.
- Download the appropriate version of ChromeDriver.
- ⭐ Pack and Install your extension into downloaded VS Code instance.
- Launch the VS Code instance using Selenium WebDriver.
- Run your tests.

### Requirements

- **Visual Studio Code 1.37+**
- **NodeJS <=18.15.x**
- Supported Operating Systems
- **Linux**
- **Windows**
- **macOS** (platform specific limitations, more in [Known Issues](KNOWN_ISSUES.md#macos-known-limitations-of-native-objects))
|NodeJS|Visual Studio Code|Operating System|
|--|--|--|
|<table style="text-align:center;"> <tr><th>16.x.x</th><th>18.x.x</th></tr><tr><td>✅</td><td>⚠️ <=18.15.x</td></tr> </table>| <table style="text-align:center;"> <tr><th>min</th><th>-</th><th>max</th></tr><tr><td>1.83.1</td><td>1.84.2</td><td>1.85.1</td></tr> </table>| <table style="text-align:center;"> <tr><th>Linux</th><th>Windows</th><th>macOS</th></tr><tr><td>✅</td><td>✅</td><td>⚠️ [Known Issues](KNOWN_ISSUES.md#macos-known-limitations-of-native-objects)</td></tr> </table>|

### Usage

Simply install our package into your extension devDependencies to get started:
Simply install our package into your extension `devDependencies` to get started:

```npm
npm install --save-dev vscode-extension-tester@latest
```

Make sure to check out the [documentation](#documentation) for detailed instructions.
Make sure to check out the [Documentation](#documentation) for detailed instructions.

- [How to set up the tests](../../wiki/Test-Setup)
- [Configuring Mocha](../../wiki/Mocha-Configuration)
- [An example simple test case](../../wiki/Writing-Simple-Tests)
- [Page object API quick guide](../../wiki/Page-Object-APIs)
- 📄 [How to set up the tests](../../wiki/Test-Setup)
- 📄 [Configuring Mocha](../../wiki/Mocha-Configuration)
- 📄 [An example simple test case](../../wiki/Writing-Simple-Tests)
- 📄 [Page objects API quick guide](../../wiki/Page-Object-APIs)

### Documentation

Our full documentation is located in [GitHub Wiki](https://github.com/redhat-developer/vscode-extension-tester/wiki). Included are details about Page Object API and how to setup Mocha tests information.
Our full documentation is located in 🔗 [GitHub Wiki](https://github.com/redhat-developer/vscode-extension-tester/wiki). Included are details about Page Objects API and how to setup Mocha tests information.

### Issues

Something is not working properly? In that case, feel free to [open issues, add feature requests, report bugs, etc.](https://github.com/redhat-developer/vscode-extension-tester/issues)
Something is not working properly? In that case, feel free to 🔗 [open feature requests, report bugs, etc.](https://github.com/redhat-developer/vscode-extension-tester/issues)

### Get Involved

![Contribution Welcomed](https://img.shields.io/badge/welcomed-yellow.svg?style=for-the-badge&label=contribution)

If you'd like to help us get better, we appreciate it! Check out our [Contribution Guide](CONTRIBUTING.md) on how to do that.
If you'd like to help us get better, we appreciate it! Check out our 🔗 [Contribution Guide](CONTRIBUTING.md) on how to do that.

### Known Issues

We have prepared few answers for most common problems community reported. See [Known Issues](KNOWN_ISSUES.md)
We have prepared few answers for most common problems community reported. See 🔗 [Known Issues](KNOWN_ISSUES.md)
Binary file added icons/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion locators/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "vscode-extension-tester-locators",
"version": "3.9.0",
"description": "Pluggable object locators for vscode extension tester",
"description": "Pluggable object locators for ExTester",
"main": "out/index.js",
"types": "out/index.d.ts",
"files": [
Expand Down
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{
"name": "vscode-extension-tester",
"version": "6.0.0",
"description": "Webdriver Testing for VSCode Extensions",
"description": "ExTester is a package that is designed to help you run UI tests for your Visual Studio Code extensions using selenium-webdriver.",
"icon": "icons/logo.png",
"main": "out/extester.js",
"types": "out/extester.d.ts",
"files": [
Expand Down
12 changes: 6 additions & 6 deletions sample-projects/helloworld-sample/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Hello World Sample

This is a Hello World sample extension that shows you how to set up and run simple UI tests for VS Code extensions using the extension tester.
This is a Hello World sample extension that shows you how to set up and run simple UI tests for VS Code extensions using the ExTester.

## Motivation

Expand All @@ -10,10 +10,10 @@ Our sample extension gives us the ability to call the `Hello World` command, one

## Dependencies and Requirements

In order to run the extension tester, the extension needs 2 packages as (dev)Dependencies:
In order to run the ExTester, the extension needs 2 packages as (dev)Dependencies:

- `vscode-extension-tester` - the extension testing framework itself
- `mocha` - Mocha test framework is required, as the extension tester uses it for writing and running its tests
- `mocha` - Mocha test framework is required, as the ExTester uses it for writing and running its tests

This sample also uses `chai` as the assertion framework of choice, but feel free to use any assertion package you like.

Expand All @@ -25,9 +25,9 @@ Also note that the folder `test-resources` (which stores all the required binari
- Run `npm install` in terminal to install dependencies
- Run `npm run ui-test` in terminal. This will:
- Compile the code
- Download the latest version of VSCode
- Download the adequate version of chromedriver
- Run the downloaded VSCode binary using chromedriver
- Download the latest version of VS Code
- Download the adequate version of ChromeDriver
- Run the downloaded VS Code binary using ChromeDriver
- Run the tests located in `src/ui-test`

To check the `ui-test` script, see the `script` section inside `package.json`.
Expand Down
Binary file added sample-projects/helloworld-sample/icons/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions sample-projects/helloworld-sample/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 6 additions & 4 deletions sample-projects/helloworld-sample/package.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
{
"name": "helloworld-sample",
"displayName": "helloworld-sample",
"description": "HelloWorld example for VS Code Extension Tester",
"version": "0.0.2",
"publisher": "extest-samples",
"displayName": "HelloWorld Sample",
"description": "HelloWorld example extension for ExTester",
"icon": "icons/logo.png",
"preview": true,
"version": "0.1.0",
"publisher": "ExTester",
"license": "MIT",
"repository": "https://github.com/redhat-developer/vscode-extension-tester/examples/helloworld-sample",
"engines": {
Expand Down
Loading

0 comments on commit 27af11e

Please sign in to comment.