diff --git a/README.md b/README.md index 3b3155391b..a0c5063a19 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Taurus -Quick links: [Taurus Documentation](http://gettaurus.org/docs/) | [Knowledge Base](http://gettaurus.org/kb/) | [Support Forum](https://groups.google.com/forum/#!forum/codename-taurus) +Quick links: [Taurus Documentation](https://gettaurus.org/docs/) | [Knowledge Base](https://gettaurus.org/kb/) | [GitHub Issues](https://github.com/Blazemeter/taurus/issues) ## Purpose Hides the complexity of performance and functional tests with an automation-friendly convenience wrapper. Taurus relies on JMeter, Gatling, Locust.io, and Selenium WebDriver as its underlying tools. Free and open source under Apache 2.0 License. @@ -14,7 +14,7 @@ Just install it using PyPi: pip install bzt ``` -More detailed instructions for Linux, Mac OS and Windows available [here](http://gettaurus.org/docs/Installation.md). +For more detailed instructions for Linux, Mac OS and Windows, see [Installing and Upgrading](https://gettaurus.org/docs/Installation.md). ## Getting Started @@ -36,7 +36,7 @@ scenarios: - http://blazedemo.com/vacation.html ``` -Then run `bzt test.yml`. After the tool finishes, observe resulting summary stats in console log (more reporting options [here](http://gettaurus.org/docs/Reporting.md)). All artifact files from the run will be placed in the directory mentioned in console log. Read more on command-line tool usage [here](http://gettaurus.org/docs/CommandLine.md). +Then run `bzt test.yml`. After the tool finishes, observe resulting summary stats in console log (for more reporting options, see [Generating Test Reports](https://gettaurus.org/docs/Reporting.md)). All artifact files from the run will be placed in the directory mentioned in console log. Read more on command-line tool usage [Command-Line Tool](https://gettaurus.org/docs/CommandLine.md). ![Analytics](https://ga-beacon.appspot.com/UA-63369152-1/taurus/readme) diff --git a/bzt/modules/jmeter.py b/bzt/modules/jmeter.py index a8473d5b60..a12da7ce2a 100644 --- a/bzt/modules/jmeter.py +++ b/bzt/modules/jmeter.py @@ -1248,7 +1248,7 @@ class JTLErrorsReader(object): url_xpath = GenericTranslator().css_to_xpath("java\\.net\\.URL") def __init__(self, filename, parent_logger, err_msg_separator=None, label_converter=None): - # http://stackoverflow.com/questions/9809469/python-sax-to-lxml-for-80gb-xml/9814580#9814580 + # https://stackoverflow.com/questions/9809469/python-sax-to-lxml-for-80gb-xml/9814580#9814580 super(JTLErrorsReader, self).__init__() self.log = parent_logger.getChild(self.__class__.__name__) self.parser = etree.XMLPullParser(events=('end',)) diff --git a/bzt/utils.py b/bzt/utils.py index b9ccc733dd..e7bbf15f49 100644 --- a/bzt/utils.py +++ b/bzt/utils.py @@ -1884,7 +1884,7 @@ def str_representer(dumper, data): def humanize_bytes(byteval): - # from http://stackoverflow.com/questions/1094841/reusable-library-to-get-human-readable-version-of-file-size/ + # from https://stackoverflow.com/questions/1094841/reusable-library-to-get-human-readable-version-of-file-size/ # 25613067#25613067 _suffixes = [' ', 'K', 'M', 'G', 'T', 'P'] diff --git a/pull_request_template.md b/pull_request_template.md index d43cc8a2a7..05270151a2 100644 --- a/pull_request_template.md +++ b/pull_request_template.md @@ -1,4 +1,4 @@ -Each PR must conform to [Developer's Guide](http://gettaurus.org/docs/DeveloperGuide/#Rules-for-Contributing). +Each PR must conform to [Developer's Guide](https://gettaurus.org/docs/DeveloperGuide/#Rules-for-Contributing). Quick checklist: - [ ] Description of PR explains the context of change diff --git a/site/dat/docs/Apiritif.md b/site/dat/docs/Apiritif.md index 65a18cd9df..24859c0696 100644 --- a/site/dat/docs/Apiritif.md +++ b/site/dat/docs/Apiritif.md @@ -857,7 +857,7 @@ Typing actions are the following: - `typeByX(X\_name): "text\_to\_type"` clears `X` value and then types text. - `typeSecretByXX\_name): "secret"` hides the secret value in the action logging - `submitByX(X\_name)` -- `keysByX(X\_name): value` sends keystrokes to `X`. `value` can be formed like this: `KEY\_ENTER`. See docs for it [here](http://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.common.keys). +- `keysByX(X\_name): value` sends keystrokes to `X`. `value` can be formed like this: `KEY\_ENTER`. See also [Selenium with Python > WebDriver API > Special Keys](https://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.common.keys). `X` here is for one of [locators](#Locators). @@ -1066,7 +1066,7 @@ Note: The capabilities are a way in which the remote service filters and selects - acceptInsecureCerts - platformName — commonly used for mobile devices -Full capabilities list is [here](https://www.selenium.dev/documentation/webdriver/capabilities/). +For the full capabilities list, see [Selenium WebDriver Browser Options](https://www.selenium.dev/documentation/webdriver/drivers/options/). Note: Currently it is possible to perform basic tests in mobile browsers using the available actions commands, in the future more commands related to mobile will be incorporated to allow a better interactivity. diff --git a/site/dat/docs/BlazemeterReporter.md b/site/dat/docs/BlazemeterReporter.md index 9284f7511a..c14b090249 100644 --- a/site/dat/docs/BlazemeterReporter.md +++ b/site/dat/docs/BlazemeterReporter.md @@ -3,7 +3,7 @@ Like it always happens with tools that focused on _executing_ tests, they are unable to provide sufficient reporting functionality. As professional user, you need some centralized storage to be able to access test results in convenient and interactive way, compare different executions, -see trends over time and collaborate with your colleagues. [BlazeMeter.com](http://blazemeter.com) +see trends over time and collaborate with your colleagues. [BlazeMeter.com](https://blazemeter.com) offers such service, it has both commercial and free of charge versions. ![BlazeMeter Report](blazemeter-rsz.png) @@ -17,7 +17,7 @@ system browser, see `browser-open` option for more tuning. The official policy for BlazeMeter reports uploaded from Taurus, is that anonymous reports are kept for 7 days and if you're using your own account, then reports are kept according to the -retention policy of your account. For details see BlazeMeter service [website](https://blazemeter.com/). +retention policy of your account. For details see the [BlazeMeter service website](https://blazemeter.com/). ## Personalized Usage diff --git a/site/dat/docs/Changelog2017.md b/site/dat/docs/Changelog2017.md index d4c5730622..2543991be6 100644 --- a/site/dat/docs/Changelog2017.md +++ b/site/dat/docs/Changelog2017.md @@ -46,7 +46,7 @@ ## 1.9.6 27 sep 2017 - add `pytest` executor type - - add [Molotov](https://github.com/loads/molotov)-based executor type: `molotov` + - add [Molotov](https://github.com/tarekziade/molotov)-based executor type: `molotov` - support `-cloud -func` combination for launching cloud functional tests - use Gatling 2.3.0 by default - use JMeter 3.3 by default diff --git a/site/dat/docs/Changelog2018.md b/site/dat/docs/Changelog2018.md index 08b5ef6574..4287d18dbf 100644 --- a/site/dat/docs/Changelog2018.md +++ b/site/dat/docs/Changelog2018.md @@ -193,7 +193,7 @@ - remote webdriver support added: selenium grid, appium, local or remote browsers or thirdparty compatible services - add capabilities for remote webdriver - browser, version, javascript, platform, os_version, selenium, device, app - new browsers: Chrome-Android and Safari-iOS with local appium or remote webdriver support - - keysBy* - Special keys are allowed using the prefix KEY_ List: http://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.common.keys + - keysBy* - Special keys are allowed using the prefix KEY_ List: https://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.common.keys - new Selenium actions were added: selectBy*, doubleClickBy*, mouseDownBy*, mouseUpBy*, assertTextBy*, assertValueBy*, assertTitle - add `headless` switch for selenium-based tests (Chrome and Firefox) - move assertions inside transactions in Apiritif codegen diff --git a/site/dat/docs/Cloud.md b/site/dat/docs/Cloud.md index 07a7af3973..aa1f8c43c3 100644 --- a/site/dat/docs/Cloud.md +++ b/site/dat/docs/Cloud.md @@ -1,6 +1,6 @@ # Cloud Provisioning -The default mode for taurus is to use `local` provisioning, which means all the tools will be started on local machine. This is not much scalable, so there is a way to delegate actual tool execution into [BlazeMeter cloud](http://blazemeter.com/). Even free accounts can execute cloud tests, according to BlazeMeter's free-tier plan. +The default mode for taurus is to use `local` provisioning, which means all the tools will be started on local machine. This is not much scalable, so there is a way to delegate actual tool execution into [BlazeMeter cloud](https://blazemeter.com/). Even free accounts can execute cloud tests, according to BlazeMeter's free-tier plan. It is done by setting `cloud` provisioning like this: @@ -79,7 +79,7 @@ modules: Accounts, Workspaces and Projects are BlazeMeter's features that help to exactly specify the access rights and support shared access to tests and BM features. You can learn more about Workspaces and Projects from BlazeMeter docs, e.g. -an article [Workspaces and Projects](https://guide.blazemeter.com/hc/en-us/articles/213685389-Workspaces-and-Projects-Workspaces-and-Projects). +an article [Workspaces and Projects](https://help.blazemeter.com/docs/guide/administration-workspaces-and-projects.html). With Taurus, it is possible to specify both names and identifiers for all entities listed. @@ -326,4 +326,4 @@ Please note that for `cloud` provisioning actual Taurus execution will be done o * you should not use `-report` commmand-line option or `blazemeter` reporter, all reports will be collected automatically by BlazeMeter * only following config sections are passed into cloud: `scenarios`, `execution`, `services` * `shellexec` module has `artifacts-dir` set as `default-cwd` - * cloud workers execute Taurus under isolated [virtualenv](https://virtualenv.readthedocs.org/en/latest/) + * cloud workers execute Taurus under isolated [virtualenv](https://virtualenv.pypa.io/en/latest/user_guide.html) diff --git a/site/dat/docs/CommandLine.md b/site/dat/docs/CommandLine.md index 4e4fffbf66..8f5dec9a24 100644 --- a/site/dat/docs/CommandLine.md +++ b/site/dat/docs/CommandLine.md @@ -26,7 +26,7 @@ Note that per-user config will not be copied into artifact directories, so those There is special shorthand for JMeter JMX test plans: if a config filename ends with `.jmx`, an execution for JMeter with existing script will be generated. This allows using Taurus just like `bzt test1.jmx test2.jmx`. -A helper tool to validate YAML: [http://wiki.ess3.net/yaml/](http://wiki.ess3.net/yaml/) +A helper tool to validate YAML: [https://wiki.ess3.net/yaml/](https://wiki.ess3.net/yaml/) ## Command-Line Options Override @@ -109,7 +109,7 @@ target URL as a command-line argument. bzt http://blazedemo.com/ ``` -This command will launch a quick test targeting [http://blazedemo.com/](http://blazedemo.com/). You can combine +This command will launch a quick test targeting [https://blazedemo.com/](https://blazedemo.com/). You can combine it with other CLI options and aliases, such as `-report`, `-cloud` and others. ## Artifacts diff --git a/site/dat/docs/ConfigSyntax.md b/site/dat/docs/ConfigSyntax.md index 01ff791df3..501e8e0713 100644 --- a/site/dat/docs/ConfigSyntax.md +++ b/site/dat/docs/ConfigSyntax.md @@ -86,7 +86,7 @@ modules: Available settings are: - - `artifacts-dir` - path template where to save [artifact](ArtifactsDir.md) files, uses [strftime template syntax](http://strftime.org/) + - `artifacts-dir` - path template where to save [artifact](ArtifactsDir.md) files, uses [strftime template syntax](https://strftime.org/) - `check-interval` - polling interval that used by engine after startup and until shutdown to determine if test is need to be stopped - `aggregator` - module alias for top-level [results aggregator](Reporting.md#results-reading-and-aggregating-facility) to be used for collecting results and passing it to reporters - `default-executor` - module alias for executor that will be used by default for [executions](ExecutionSettings.md) diff --git a/site/dat/docs/ExecutionSettings.md b/site/dat/docs/ExecutionSettings.md index ed3af74265..c6c6156f64 100644 --- a/site/dat/docs/ExecutionSettings.md +++ b/site/dat/docs/ExecutionSettings.md @@ -55,7 +55,7 @@ settings: ``` You may contribute your efforts in supporting requests-scenarios for your favorite tool by discussing this on -[project forum](https://groups.google.com/forum/#!forum/codename-taurus). +[GitHub Issues](https://github.com/Blazemeter/taurus/issues). ## Load Profile diff --git a/site/dat/docs/Index.md b/site/dat/docs/Index.md index a5795e2936..552a705425 100644 --- a/site/dat/docs/Index.md +++ b/site/dat/docs/Index.md @@ -42,7 +42,7 @@ 1. [Swagger to YAML converter](Swagger.md) 1. [SoapUI support](SoapUI.md) 1. [Keywords Index](KeywordIndex.md) - 1. [Troubleshooting, Support and Feedback](https://groups.google.com/forum/#!forum/codename-taurus) + 1. [Troubleshooting, Support and Feedback](https://github.com/Blazemeter/taurus/issues) 1. [Artifacts Directory Information](ArtifactsDir.md) ## Developer Documentation diff --git a/site/dat/docs/Installation.md b/site/dat/docs/Installation.md index 702e64fce4..8866150ebe 100644 --- a/site/dat/docs/Installation.md +++ b/site/dat/docs/Installation.md @@ -5,7 +5,7 @@ Before Taurus and after Python installation, check if you have the following mod pip install --upgrade wheel setuptools Cython ``` -The simplest Taurus installation requires you to use `pip` package manager: +The simplest Taurus installation uses the `pip` package manager: ``` pip install bzt @@ -17,35 +17,36 @@ and for upgrade: pip install --upgrade bzt ``` -Keep in mind that some additional software can be required depend on the test type +Keep in mind that some additional software can be required depending on the test type (Java, specific Python tools like Locust, etc.). -Below you can see some specific info for different operating systems. +Below, you see specific installation info for different operating systems. ## Unstable features -We use the following mark +The following note indicates a features will be released soon: _This is available only in [unstable snapshot](https://gettaurus.org/install/Installation/#Latest-Unstable-Snapshot)._ -for the features that will be released soon but at the moment -can't be installed from PyPi and available in the pointed topic only. +At the moment, this feature can't be installed from PyPi and is available from the linked page only. ## Linux -You will need Python 3.7+ and Java installed. To install Taurus on Linux, do the following instructions: +First verify that you have installed Python 3.7+ and Java. + +To install Taurus on Linux, follow these steps: ``` sudo apt-get update sudo apt-get install python3 default-jre-headless python3-tk python3-pip python3-dev libxml2-dev libxslt-dev zlib1g-dev net-tools sudo python3 -m pip install bzt ``` -Upgrading to latest is as simple as this: +To upgrading to the latest release: ``` sudo python3 -m pip install --upgrade bzt ``` -Alternatively, you can install using virtualenv, and you won't need sudo privileges for Taurus. -Please see [virtualenv](https://virtualenv.pypa.io/en/stable/installation/) instructions for setting up +Alternatively, you can install it using virtualenv, and you won't need sudo privileges for Taurus. +Please see [virtualenv](https://virtualenv.pypa.io/en/latest/installation.html) instructions for setting up your Python virtual environments, if you haven't done so already. Then, to install Taurus, type: @@ -61,8 +62,8 @@ pip install --upgrade bzt ``` ## Mac OS -### Install Homebrew Package -You can use [brew](https://brew.sh/) package manager to install Taurus: +### Install the Homebrew Package +Use the [brew](https://brew.sh/) package manager to install Taurus: ```bash brew install bzt ``` @@ -70,13 +71,13 @@ and to update it: ```bash brew upgrade bzt ``` -If your brew auto update is switched off don't forget to manage it manually. +If your brew auto update is switched off, manage it manually. NOTE: There is an issue with brew installation connected with numpy. -In order to avoid this problem we suggest installing Taurus using `pip` tool. +In order to avoid this problem, we suggest installing Taurus using the `pip` tool. -To install Taurus with `pip` you need command line developers tools and Python 3.7+ installed. -Then you need to install `Cython` if it is not installed using the following command: +To install Taurus with `pip`, you need the command line developers tools and Python 3.7+ installed. +Then install `Cython`, if it is not yet installed, using the following command: ``` pip3 install Cython ``` @@ -96,11 +97,9 @@ pip3 install --upgrade bzt Preparation steps: -1. Get Python 3.7+ from [http://www.python.org/downloads](http://www.python.org/downloads) and install it, don't forget to enable "Add python.exe to Path" checkbox. +1. Get Python 3.7+ from [https://www.python.org/downloads](https://www.python.org/downloads) and install it. Enable the "Add python.exe to Path" checkbox. 2. Get the latest Java from [https://www.java.com/download/](https://www.java.com/download/) and install it. -3. Get the latest [Microsoft Visual C++](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&rel=16) and install it. - -Please check that the 'Desktop Development with C++' box is checked during installation. +3. Get the latest [Microsoft Visual C++](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&channel=Release) and install it. Verify that the 'Desktop Development with C++' box is checked during installation. ![Windows Tools Installation](win-tools-install.png) @@ -116,7 +115,7 @@ python -m pip install bzt ## Docker Image -Taurus has [Docker image](https://hub.docker.com/r/blazemeter/taurus/) that allows you to run tool as container. +Taurus provides a [Docker image](https://hub.docker.com/r/blazemeter/taurus/) that lets you run the tool as container. To use it, create a directory, for example `/tmp/my-test`, put all configs and additional files like JMXses there, then start Docker like this: @@ -125,14 +124,14 @@ then start Docker like this: docker run -it --rm -v /tmp/my-test:/bzt-configs blazemeter/taurus my-config.yml ``` -Make note that `/tmp/my-test` was passed in `-v` Docker option, it's crucial. -Here's [what happens](https://github.com/Blazemeter/taurus/blob/master/Dockerfile) inside the container: - 1. Directory `/tmp/my-test` is mounted as `/bzt-configs` - 1. Current directory changed to `/bzt-configs` - 1. Taurus is started with the config files you specified: `bzt /bzt-configs/my-config.yml +Note that `/tmp/my-test` was passed in the `-v` Docker option, it's crucial. +Here's [what happens inside the container](https://github.com/Blazemeter/taurus/blob/master/Dockerfile): + 1. The directory `/tmp/my-test` is mounted as `/bzt-configs`. + 1. The current directory is changed to `/bzt-configs`. + 1. Taurus is started with the config files you specified: `bzt /bzt-configs/my-config.yml`. You can also specify multiple config files in the `docker run` command with wildcards or as -separate arguments like so: +separate arguments, as shown in the following example: ``` docker run -it --rm -v /tmp/my-test:/bzt-configs blazemeter/taurus *.yml @@ -142,7 +141,7 @@ docker run -it --rm -v /tmp/my-test:/bzt-configs blazemeter/taurus my-config-1.j ### Additional Taurus Command-Line Options You can still pass [command-line options](https://github.com/Blazemeter/taurus/blob/master/site/dat/docs/CommandLine.md) -to Taurus through the Docker image. To do so, add the command line option at the end of the `docker run` command like so: +to Taurus through the Docker image. To do so, add the following command line option at the end of the `docker run` command: ```bash docker run -it --rm -v /tmp/my-test:/bzt-configs blazemeter/taurus my-config-1.yml -o scenarios.sample.data-sources.0=data.csv @@ -150,8 +149,8 @@ docker run -it --rm -v /tmp/my-test:/bzt-configs blazemeter/taurus my-config-1.y ### Accessing Taurus Artifacts -If you want to receive Taurus artifacts from a container, just mount some directory as `/tmp/artifacts` and -files will get there. Following example gives you artifacts in `/tmp/my-run-artifacts` directory. +If you want to receive Taurus artifacts from a container, mount a directory such as `/tmp/artifacts` and +files will be stored there. The following example stores artifacts in the `/tmp/my-run-artifacts` directory: ```bash docker run -it --rm -v /tmp:/bzt-configs -v /tmp/my-run-artifacts:/tmp/artifacts blazemeter/taurus @@ -161,5 +160,5 @@ UNSTABLE_SNAPSHOT ## Data Collection Disclaimer -We have [Usage Statistics](/bzt-usage-stats) on our website. That's why we collect the name of desktop OS, -where you have run Taurus. +We may display anonymous [Usage Statistics](/bzt-usage-stats) on our website. +That's why we collect the name of desktop OS, where you have run Taurus. diff --git a/site/dat/docs/JMeter.md b/site/dat/docs/JMeter.md index b788faef82..3b9434f575 100644 --- a/site/dat/docs/JMeter.md +++ b/site/dat/docs/JMeter.md @@ -1,6 +1,6 @@ # JMeter Executor -This executor type is used by default, it uses [Apache JMeter](http://jmeter.apache.org/) as underlying tool. +This executor type is used by default, it uses [Apache JMeter](https://jmeter.apache.org/) as underlying tool. ## JMeter Location & Auto-Installation @@ -818,7 +818,7 @@ This example will set initial value of `${foo}` to be "BAR", but after first ite changed to "BAZ". #### HTTP Authorization -See [RFC2617](https://tools.ietf.org/html/rfc2617) for http authorization details +See [RFC2617](https://datatracker.ietf.org/doc/html/rfc2617) for http authorization details You can use three follow forms for such purposes: ```yaml diff --git a/site/dat/docs/K6.md b/site/dat/docs/K6.md index b4cd04fc6c..ee9d1991fb 100644 --- a/site/dat/docs/K6.md +++ b/site/dat/docs/K6.md @@ -1,25 +1,25 @@ # K6 Executor -`k6` executor allows running [K6](https://k6.io/) based test suites. +Use the `k6` executor to run [Grafana Cloud k6](https://k6.io/) based test suites. -In order to launch K6 executor, you can use yaml config like in the example below +In order to launch the Grafana Cloud k6 executor, use a YAML config like in the following example: Example: ```yaml execution: - executor: k6 concurrency: 10 # number of K6 workers - hold-for: 1m # execution duration - iterations: 20 # number of iterations + hold-for: 1m # execution duration + iterations: 20 # number of iterations scenario: script: k6-test.js # has to be a valid K6 script ``` -Please keep in mind that it is necessary to provide a valid script to run tests. +Important: Provide a valid K6 script to run tests. ## Script Example -This is an example of a valid script from [K6 website](https://k6.io/docs/getting-started/running-k6): +This is an example of a valid script from the [K6 website](https://grafana.com/docs/k6/latest/examples/get-started-with-k6/): ```javascript import http from 'k6/http'; diff --git a/site/dat/docs/Locust.md b/site/dat/docs/Locust.md index b50a66d9f9..fd760f51e8 100644 --- a/site/dat/docs/Locust.md +++ b/site/dat/docs/Locust.md @@ -1,5 +1,5 @@ # Locust.io Executor -[Locust.io](http://locust.io/) is a Python-based load generating tool where you have full freedom of programming test scenarios in the Python language. It uses a resource-efficient coroutine approach. The Locust package is not installed automatically by Taurus, please install it manually using `pip install locust`. +[Locust.io](https://locust.io/) is a Python-based load generating tool where you have full freedom of programming test scenarios in the Python language. It uses a resource-efficient coroutine approach. The Locust package is not installed automatically by Taurus, please install it manually using `pip install locust`. Note that for Locust, the `iterations` option means the quantity of requests, not the number of cycles of the scenario (as the last can contain more than one request). The following load profile settings have no effect for this executor: `throughput` and `steps` diff --git a/site/dat/docs/Monitoring.md b/site/dat/docs/Monitoring.md index 23dde9ae86..48c1d9096a 100644 --- a/site/dat/docs/Monitoring.md +++ b/site/dat/docs/Monitoring.md @@ -1,28 +1,28 @@ # Resource Monitoring Service -A frequent task for tests is to monitor target server's health. Monitoring service is built -to collect data from those remote servers. At this time the following sources are supported: +A frequent task for tests is to monitor a target server's health. The monitoring service +collects data from those remote servers. The following sources are supported: - local health stats, enabled by default - - [ServerAgent](http://jmeter-plugins.org/wiki/PerfMonAgent/) — technology that is used by JMeter users for long time and - [Graphite](https://graphite.readthedocs.org/en/latest/) - + - [ServerAgent](https://jmeter-plugins.org/wiki/PerfMonAgent/) (deprecated) + ## Local Monitoring Stats -This service collects local health stats from computer running Taurus. It is enabled by default. +This service collects local health stats from the computer running Taurus. It is enabled by default. Following metrics are collected locally: -- `cpu` - total CPU usage % -- `mem` - total RAM usage % +- `cpu` - total CPU usage in percent +- `mem` - total RAM usage in percent - `bytes-sent`/`bytes-recv` - network transfer rate - `disk-read`/`disk-write` - disk I/O rate -- `disk-space` - % disk space used for artifacts storage -- `engine-loop` - Taurus "check loop" utilization, values higher than 1.0 means you should increase `settings.check-interval` +- `disk-space` - Percentage of disk space used for artifacts storage +- `engine-loop` - Uses Taurus "check loop". Values higher than 1.0 indicate that you should increase `settings.check-interval` - `conn-all` - quantity of network connections If you want to use only your metrics, please look into -[merging rules](https://gettaurus.org/docs/ConfigSyntax/#Multiple-Files-Merging-Rules). For example, if you want to see -only specific metrics, use `~` like in the example below. You can also define, whether you need logs for local -monitoring via `logging` option. +[merging rules](https://gettaurus.org/docs/ConfigSyntax/#Multiple-Files-Merging-Rules). +For example, if you want to see only specific metrics, use `~` like in the example below. +You can also define whether you need logs for local monitoring by using the `logging` option. ```yaml services: @@ -38,36 +38,13 @@ services: ## Sidebar Widget -Once you have resource monitoring enabled, you'll be presented with small sidebar widget that -informs you on latest data from monitoring agents: +Once you have resource monitoring enabled, you'll be presented with a small sidebar widget that +informs you about the latest data from your monitoring agents: ![Monitoring screen](monitoring-widget.png) -The widget will possibly not display all the metrics for the long list, that's the limitation of -screen height :) - -## ServerAgent - -[ServerAgent](http://jmeter-plugins.org/wiki/PerfMonAgent/) is a small Java application that -collects server health stats and makes them accessible through network connection. To use it, -you need to install and launch ServerAgent on each of your target servers and then specify -[metrics](http://jmeter-plugins.org/wiki/PerfMonMetrics/) to collect under `services` item. -You can also define, whether you need logs for ServerAgent via `logging` option. -For example: -```yaml -services: -- module: monitoring - server-agent: - - address: 192.168.0.1:4444 - label: target-server # if you specify label, it will be used in reports instead of ip:port - interval: 3s # polling interval - logging: True # those logs will be saved to "SAlogs_192.168.0.1_4444.csv" in the artifacts dir - metrics: - - cpu - - disks - - memory - -``` +The widget will possibly not display all the metrics for a very long list, that's a limitation of +screen height. :) ## Graphite @@ -94,3 +71,26 @@ services: - production.hardware.cpuUsage - groupByNode(myserv_comp_org.cpu.?.cpu.*.value, 4, 'avg') ``` + +## ServerAgent (deprecated) + +[ServerAgent](https://github.com/undera/perfmon-agent) was a small Java application that +collected server health stats and made them accessible through network connection. To use it, +you need to install and launch ServerAgent on each of your target servers and then specify +[metrics](https://github.com/undera/perfmon-agent) to collect under `services` item. +You can also define, whether you need logs for ServerAgent via `logging` option. +For example: +```yaml +services: +- module: monitoring + server-agent: + - address: 192.168.0.1:4444 + label: target-server # if you specify label, it will be used in reports instead of ip:port + interval: 3s # polling interval + logging: True # those logs will be saved to "SAlogs_192.168.0.1_4444.csv" in the artifacts dir + metrics: + - cpu + - disks + - memory + +``` \ No newline at end of file diff --git a/site/dat/docs/Postman.md b/site/dat/docs/Postman.md index a2844f92ce..bf63f81b90 100644 --- a/site/dat/docs/Postman.md +++ b/site/dat/docs/Postman.md @@ -1,6 +1,6 @@ # Postman (Newman) Executor -Executor type `newman` allows running [Postman collections](https://www.getpostman.com/docs/postman/collections/creating_collections). It is mostly useful for functional testing. Internally, [Newman](https://github.com/postmanlabs/newman) utility is used to run tests, providing 100% Postman compatibility. +Executor type `newman` allows running [Postman collections](https://learning.postman.com/docs/getting-started/first-steps/creating-the-first-collection/). It is mostly useful for functional testing. Internally, [Newman](https://github.com/postmanlabs/newman) utility is used to run tests, providing 100% Postman compatibility. Simplest example to run a Postman collection: ```yaml diff --git a/site/dat/docs/Proxy2JMX.md b/site/dat/docs/Proxy2JMX.md index f4f66fe8be..33e1e37a09 100644 --- a/site/dat/docs/Proxy2JMX.md +++ b/site/dat/docs/Proxy2JMX.md @@ -1,7 +1,7 @@ # Proxy2JMX Converter It's possible to convert existing Selenium scripts into JMeter JMX file. Keep in mind: only requests will be converted, no assertions or other logic. Also note that it will only capture requests going to publicly available servers, so `localhost` or behind the firewall won't be captured. -For this purpose Taurus uses [BlazeMeter Recorder](https://guide.blazemeter.com/hc/en-us/articles/207420545-BlazeMeter-Recorder-Mobile-Recorder-) so you need valid token. This service starts proxy for logging requests and build jmx file based on the requests when test is finished. You will need [BlazeMeter API key configured](BlazemeterReporter/#Personalized-Usage) for this approach to work. Let's see example config: +For this purpose Taurus uses [BlazeMeter Recorder](https://help.blazemeter.com/docs/guide/recorders-creating-the-proxy-recorder.html) so you need valid token. This service starts proxy for logging requests and build jmx file based on the requests when test is finished. You will need a [BlazeMeter API key configured](BlazemeterReporter/#Personalized-Usage) for this approach to work. Let's see example config: ```yaml execution: @@ -17,9 +17,9 @@ services: - module: proxy2jmx ``` -As soon as taurus completes its work you'll find JMX in artifacts dir with the name `generated.simple.jmx` and `generated.smart.jmx`. SmartJMX is a feature to help with JMX parameterization and explained in detail in [this article](https://www.blazemeter.com/blog/how-cut-your-jmeter-scripting-time-80). +As soon as taurus completes its work you'll find JMX files in the artifacts dir with the names `generated.simple.jmx` and `generated.smart.jmx`. SmartJMX is a feature to help with JMX parameterization and is explained in detail in [this article](https://www.blazemeter.com/blog/correlation-in-jmeter). -If you want to change the resulting name of generated JMX files, use `simple-output` and/or `smart-output` options of Proxy2JMX module like this: +If you want to change the resulting name of generated JMX files, use the `simple-output` and/or `smart-output` options of Proxy2JMX module like this: ```yaml services: @@ -47,9 +47,8 @@ for chromedriver (don't place your chromedriver inside Windows directory). We st 5. save changes. 4. don't run Taurus from Admin account or Admin terminal 5. don't hardcode the path to chromedriver.exe in your scripts -Take note: as proxy2jmx uses own proxy it doesn't support top level [proxy option](ConfigSyntax.md#Top-Level-Settings). + +Note: As proxy2jmx uses own proxy, it doesn't support top level [proxy option](ConfigSyntax.md#Top-Level-Settings). ### MacOS Auto setup in macOS is currently not implemented. - - diff --git a/site/dat/docs/Reporting.md b/site/dat/docs/Reporting.md index 5c1026dc09..d465e2c93c 100644 --- a/site/dat/docs/Reporting.md +++ b/site/dat/docs/Reporting.md @@ -35,7 +35,7 @@ You can read more about it on its own [page](ConsoleReporter.md). ## BlazeMeter Reporter -The `blazemeter` reporter uploads all tests stats into [BlazeMeter.com](http://blazemeter.com) service, +The `blazemeter` reporter uploads all tests stats into [BlazeMeter.com](https://blazemeter.com) service, which provides a nice UI to store and analyze test results. You can enable it with `-report` command line option or by adding `blazemeter` item to `reporting` section of your config. @@ -74,7 +74,7 @@ reporting: ### Dump Summary for Jenkins Plugins Two options `dump-xml` and `dump-csv` allows exporting final cumulative stats into files that can be used -by [Jenkins Performance Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Performance+Plugin) and [Jenkins Plot Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Plot+Plugin) to plot historical data +by [Jenkins Performance Plugin](https://plugins.jenkins.io/performance/) and [Jenkins Plot Plugin](https://plugins.jenkins.io/plot/) to plot historical data inside Jenkins. CSV to use with Plot Plugin (you can read good [article](https://www.blazemeter.com/blog/how-run-taurus-jenkins-performance-plugin) about it). XML format is for Performance Plugin. Field names with explanations: @@ -93,7 +93,7 @@ Field names with explanations: ## JUnit XML Reporter -This reporter provides test results in JUnit XML format can be parsed by Jenkins [JUnit Plugin](https://wiki.jenkins-ci.org/display/JENKINS/JUnit+Plugin). +This reporter provides test results in JUnit XML format can be parsed by Jenkins [JUnit Plugin](https://plugins.jenkins.io/junit/). Reporter has two options: - `filename` (full path to report file, optional. By default `xunit.xml` in artifacts dir) - `data-source` (which data source to use: `sample-labels` or `pass-fail`) diff --git a/site/dat/docs/Robot.md b/site/dat/docs/Robot.md index c87162a6f2..14dfc5a482 100644 --- a/site/dat/docs/Robot.md +++ b/site/dat/docs/Robot.md @@ -1,6 +1,6 @@ # Robot Executor -`robot` executor allows running test suites based on [Robot Framework](http://robotframework.org/) with Taurus. +`robot` executor allows running test suites based on [Robot Framework](https://robotframework.org/) with Taurus. Taurus will execute tests in a loop until desired number of `iterations` will complete or `hold-for` time will be exceeded. The default number of iterations is 1. diff --git a/site/dat/docs/Selenium.md b/site/dat/docs/Selenium.md index 854b245fc7..7d519227b3 100644 --- a/site/dat/docs/Selenium.md +++ b/site/dat/docs/Selenium.md @@ -162,7 +162,7 @@ Add [command-line arguments](https://peter.sh/experiments/chromium-command-line- - `experimental-options`: dict Add a dictionary of experimental options. Option is only available in Chrome. - `preferences`: dict -Add a [dictionary of preferences](http://kb.mozillazine.org/index.php?title=Category:Preferences&until=Browser.urlbar.restrict.typed). Option is only available in Firefox. +Add a [dictionary of preferences](https://kb.mozillazine.org/index.php?title=Category:Preferences&until=Browser.urlbar.restrict.typed). Option is only available in Firefox. ```yaml execution: @@ -196,7 +196,7 @@ modules: ## Appium -[Appium](http://appium.io) is a tool for testing native mobile applications. +[Appium](https://appium.io) is a tool for testing native mobile applications. Taurus supports only Python scripts for Appium in Selenium executor. Additionally, you can use Taurus services to run [Appium server](Services.md#Appium-Loader) and [Android emulator](Services.md#Android-Emulator-Loader). Here is a typical example of usage: diff --git a/site/dat/docs/Services.md b/site/dat/docs/Services.md index 22121ed3a7..d90c69cd8b 100644 --- a/site/dat/docs/Services.md +++ b/site/dat/docs/Services.md @@ -117,7 +117,7 @@ Example of blacklisting: `bzt -install-tools -o modules.install-checker.exclude= ## Appium Loader -Useful for start or stop [Appium](http://appium.io) server automatically. This service can be +Useful for start or stop [Appium](https://appium.io) server automatically. This service can be automatically installed, so you have to only install NodeJS and NPM beforehand. Also, you can specify path to Appium through the appropriate setting: diff --git a/site/dat/docs/Tsung.md b/site/dat/docs/Tsung.md index dbbbaa7580..950158e512 100644 --- a/site/dat/docs/Tsung.md +++ b/site/dat/docs/Tsung.md @@ -2,7 +2,7 @@ ## About -[Tsung](http://tsung.erlang-projects.org/) is an open-source multi-protocol distributed load testing tool. +[Tsung](https://tsung.erlang-projects.org/) is an open-source multi-protocol distributed load testing tool. The purpose of Tsung is to simulate users in order to test the scalability and performance of IP based client/server applications. You can use it to do load and stress testing of your servers. @@ -10,11 +10,11 @@ Taurus supports only Tsung version 1.5.1 and higher. ## Tsung Installation -To install Tsung, see official [Tsung Installation](http://tsung.erlang-projects.org/user_manual/installation.html) docs. +To install Tsung, see official [Tsung Installation](https://tsung.erlang-projects.org/user_manual/installation.html) docs. ### Mac OS X -On Mac OS X you can install Tsung with [Homebrew](http://brew.sh/): +On Mac OS X you can install Tsung with [Homebrew](https://brew.sh/): ```bash $ brew install tsung ``` diff --git a/site/dat/docs/WebdriverIO.md b/site/dat/docs/WebdriverIO.md index b7568397e3..1a9fa4c8fc 100644 --- a/site/dat/docs/WebdriverIO.md +++ b/site/dat/docs/WebdriverIO.md @@ -1,6 +1,6 @@ # WebdriverIO Executor -`wdio` executor allows you to run [WebdriverIO](http://webdriver.io/) -based test suites. +`wdio` executor allows you to run [WebdriverIO](https://webdriver.io/) -based test suites. Taurus can loop test suite execution in a loop until desired number of `iterations` will complete or `hold-for` time will be exceeded. diff --git a/site/dat/docs/YAMLTutorial.md b/site/dat/docs/YAMLTutorial.md index 1e127bd7e0..f79ae95997 100644 --- a/site/dat/docs/YAMLTutorial.md +++ b/site/dat/docs/YAMLTutorial.md @@ -151,7 +151,7 @@ When reading multi-document YAML, Taurus will treat multiple documents as multip There's a number of tools you can use to help you to locate and fix syntactical errors in your YAML document. -1. You can use online [services](http://yamltojson.com/) to convert it to JSON to check the structure (can be useful if you don’t have much experience with indentation-based languages) +1. You can use online [services](https://yamltojson.com/) to convert it to JSON to check the structure (can be useful if you don’t have much experience with indentation-based languages) 2. You can use [yamllint](https://github.com/adrienverge/yamllint) to see if there are any errors or issues with your document @@ -174,9 +174,9 @@ parsing errors. Just use spaces. ## Additional YAML resources -1. [Online YAML Parser](http://yaml-online-parser.appspot.com/) can be used to analyze YAML documents -1. [Jesse Noller's article](http://jessenoller.com/blog/2009/04/13/yaml-aint-markup-language-completely-different) is a good introduction to YAML syntax +1. [Online YAML Parser](https://yaml-online-parser.appspot.com/) can be used to analyze YAML documents +1. [Jesse Noller's article](https://jessenoller.com/blog/2009/04/13/yaml-aint-markup-language-completely-different) is a good introduction to YAML syntax 1. [Wikipedia](https://en.wikipedia.org/wiki/YAML) has a really good and comprehensive description of all major YAML features -1. Short, but very concise [YAML Tutorial](https://docs.saltstack.com/en/latest/topics/yaml/) by SaltStack +1. Short, but very concise [YAML Tutorial](https://docs.saltproject.io/en/latest/topics/yaml/) by SaltProject 1. [yamllint](https://github.com/adrienverge/yamllint) is a linter for YAML files, which checks for many common mistakes and cosmetic issues -1. [YAML Lint](http://www.yamllint.com/) is another online YAML checker +1. [YAML Lint](https://www.yamllint.com/) is another online YAML checker diff --git a/site/dat/docs/changes/doc-fixed-broken-links.change b/site/dat/docs/changes/doc-fixed-broken-links.change new file mode 100644 index 0000000000..1b792370a7 --- /dev/null +++ b/site/dat/docs/changes/doc-fixed-broken-links.change @@ -0,0 +1 @@ +Doc: Fixed broken and outdated links in the documentation and footer and replaced http:// by https:// \ No newline at end of file diff --git a/site/dat/kb/AddingExecutor.md b/site/dat/kb/AddingExecutor.md index 38b9633cc9..72f4bb467c 100644 --- a/site/dat/kb/AddingExecutor.md +++ b/site/dat/kb/AddingExecutor.md @@ -16,8 +16,8 @@ Overview of steps: There is good example of minimal custom executor code here: [examples/custom](https://github.com/Blazemeter/taurus/tree/master/examples/custom). -Also, feel free to ask your questions at Taurus [support channel](https://groups.google.com/forum/#!forum/codename-taurus) -or to open a pull request at GitHub. +Also, feel free to ask your questions at Taurus [GitHub Issues](https://github.com/Blazemeter/taurus/issues) +or to open a pull request. ## Step 1 - Creating a Runner diff --git a/site/dat/kb/Bamboo.md b/site/dat/kb/Bamboo.md index a06ffbec5b..9ab70ff31a 100644 --- a/site/dat/kb/Bamboo.md +++ b/site/dat/kb/Bamboo.md @@ -4,28 +4,28 @@ _By: Yuri Bushnev, May 2017_ ## Why Use Taurus with CI tools -[Continuous Integration (CI\)](https://www.blazemeter.com/blog/how-include-load-testing-your-continuous-integration-environment-0?utm_source=taurus&&utm_medium=KB&utm_campaign=taurus-bamboo) is a way to automate our tests and make the test process itself easier and more productive. With the help of CI it takes much less time to release, build, deploy and run tests automatically on a daily basis. At the same time, most performance testing tools are not well-designed for a smooth CI pipeline integration. By using [Taurus](/?utm_source=taurus&&utm_medium=KB&utm_campaign=taurus-bamboo), an open source automation testing framework, combined with some continuous integration tools like [Bamboo](https://www.atlassian.com/software/bamboo), we can achieve outstanding results in automation of our performance gates. +[Continuous Integration (CI\)](https://www.blazemeter.com/blog/jmeter-bamboo-continuous-testing-tutorial) is a way to automate our tests and make the test process itself easier and more productive. With the help of CI it takes much less time to release, build, deploy and run tests automatically on a daily basis. At the same time, most performance testing tools are not well-designed for a smooth CI pipeline integration. By using Taurus, an open source automation testing framework, combined with some continuous integration tools like [Bamboo](https://www.atlassian.com/software/bamboo), we can achieve outstanding results in automation of our performance gates. ## An Introduction to Taurus Taurus is an open source automation framework that provides the ability to create test performance scripts from scratch or use existing scripts, and to configure run options. These options include many features that help execute and analyze script results. -The main idea behind the Taurus framework is that the script creation/configuration language is more user-friendly than options provided by other testing tools. Taurus, with its YAML-based syntax or JSON languages, helps to generate scripts in [Apache JMeter™](http://jmeter.apache.org/), [Gatling](http://gatling.io/) and additional tools. +The main idea behind the Taurus framework is that the script creation/configuration language is more user-friendly than options provided by other testing tools. Taurus, with its YAML-based syntax or JSON languages, helps you generate scripts in [Apache JMeter™](https://jmeter.apache.org/), [Gatling](https://gatling.io/) and additional tools. -There are also many additional advantages: +There are many additional advantages: - Very clear human-readable scenarios -- As a Taurus script is basically just a text code file, it is much easier to use under control versioning systems like git or svn -- Provides real-time reporting during test execution, which does not impact execution performance +- As a Taurus script is basically just a text file, it is much easier to use version control systems like git or svn +- Provides real-time reporting during test execution, which does not affect execution performance -The installation of Taurus is very straightforward and should take just a few minutes, by using [this guide](/install/Installation/?utm_source=taurus&&utm_medium=KB&utm_campaign=taurus-bamboo). +The installation of Taurus is very straightforward and should take just a few minutes by using the [Taurus: Installing and Upgrading](/install/Installation/) guide. ## An Introduction to Bamboo -Bamboo is a continuous integration server developed by Atlassian. It provides automated deployment, building and testing capabilities and built-in integration with other Atlassian products like Jira or Confluence. Because Jira is the most popular bug tracking tools, Bamboo is one of the most popular CI systems that is used in many companies over the world. Bamboo installation is very well covered in its [official documentation](https://confluence.atlassian.com/bamboo/installing-bamboo-on-linux-289276792.html). +Bamboo is a continuous integration server developed by Atlassian. It provides automated deployment, building and testing capabilities and built-in integration with other Atlassian products like Jira or Confluence. Because Jira is the most popular bug tracking tools, Bamboo is one of the most popular CI systems that is used in many companies over the world. For more information, see also the [official Bamboo installation documentation](https://confluence.atlassian.com/bamboo/installing-bamboo-on-linux-289276792.html). ## Running Taurus with Bamboo -Our workspace: +In this scenario, we use the following workspace: - Ubuntu 16.04 - Taurus v.1.9.1 - Bamboo v.6.0.0 @@ -46,88 +46,84 @@ scenarios: url: http://www.blazedemo.com/ ``` -As you can see, Taurus script files are human-readable. In the provided example we simulate simple get requests to _**blazedemo.com**_ from 20 different users for 1 minute. Ramp-up means the onboarding time for all users, and the hold-for parameter means that the target load is held for 1 minute. Taurus uses [JMeter](http://www.blazemeter.com/jmeter-load-testing?utm_source=taurus&&utm_medium=KB&utm_campaign=taurus-bamboo) as a default test executor, but you can choose different [executors](/docs/ExecutionSettings/?utm_source=taurus&&utm_medium=KB&utm_campaign=taurus-bamboo): [Selenium](/docs/Selenium/?utm_source=taurus&&utm_medium=KB&utm_campaign=taurus-bamboo), [Gatling](/docs/Gatling/?utm_source=taurus&&utm_medium=KB&utm_campaign=taurus-bamboo), [Locust](/docs/Locust/?utm_source=taurus&&utm_medium=KB&utm_campaign=taurus-bamboo), etc. +As you can see, Taurus script files are human-readable. In the provided example we simulate simple get requests to _**blazedemo.com**_ from 20 different users for 1 minute. Ramp-up means the onboarding time for all users, and the hold-for parameter means that the target load is held for 1 minute. Taurus uses [JMeter](https://www.blazemeter.com/jmeter-load-testing?utm_source=taurus&&utm_medium=KB&utm_campaign=taurus-bamboo) as a default test executor, but you can choose different [executors](/docs/ExecutionSettings/?utm_source=taurus&&utm_medium=KB&utm_campaign=taurus-bamboo): [Selenium](/docs/Selenium/?utm_source=taurus&&utm_medium=KB&utm_campaign=taurus-bamboo), [Gatling](/docs/Gatling/?utm_source=taurus&&utm_medium=KB&utm_campaign=taurus-bamboo), [Locust](/docs/Locust/?utm_source=taurus&&utm_medium=KB&utm_campaign=taurus-bamboo), etc. -To run that script using Taurus execute the following command: +To run that script using Taurus, execute the following command: ``` bzt script1.yml ``` -During test execution, you can see console real-time dashboard with lots of useful metrics: +During test execution, watch the real-time dashboard in the console for lots of useful metrics: ![](bamboo1.png) -If there are any errors, we can see them in the right upper corner. In the middle of dashboard we can see such test parameters as latency, the requests’ response codes, errors, etc., which are necessary to know during and after the test run. +If there are any errors, we see them in the right upper corner. In the middle of the dashboard, we see such test parameters as latency, the requests’ response codes, errors, etc., which are necessary to know during and after the test run. -Pretty simple, isn’t it? - -Now, what about Bamboo - - -Bamboo should be installed on your computer and available on a URL ([http://localhost:8085/](http://localhost:8085/) in our case). If you open Bamboo for the first time, you will see the Start window. +Next, install Bamboo on your computer and make it available on a URL, such as http://localhost:8085/ in our case. If you open Bamboo for the first time, you will see the Start window. ![](bamboo2.png) -If you’re running Bamboo for the first time, click “Create your first build plan” button. Otherwise, click on the Bamboo main menu panel “Create -> Create a new plan” to create a new test plan and follow steps below: +If you’re running Bamboo for the first time, click the “Create your first build plan” button. Otherwise, click on the Bamboo main menu panel “Create -> Create a new plan” to create a new test plan and follow the steps below: ![](bamboo3.png) -Here we should specify our project parameters. +Here, specify your project parameters. -- Project - select project name [BlazeDemo] -- Plan name - type the name of your test plan [BlazeRequest] -- Plan description - a few words about what the purpose of our test plan -- Repository host - choose the repository you need for your test scripts. It might be repo on GitHub, BitBucket or other similar systems of version control. As this project is very simple, we don’t need any repo here [none]. +- Project - select project name: Select BlazeDemo +- Plan name - type the name of your test plan: Enter BlazeRequest +- Plan description - a few words describing the purpose of our test plan +- Repository host - choose the repository you need for your test scripts. It might be a repo on GitHub, BitBucket, or other similar version control systems. As this project is very simple, we don’t need any repo here: Select none. After configuring these parameters, click the “Configure plan” button. -Next you’ll see a “Create a new plan” window: +Next, you’ll see a “Create a new plan” window: ![](bamboo4.png) -Here you should check the “Yes, please” CheckBox to make your test plan enabled, so you can configure and run it. +Here you should check the “Yes, please” CheckBox to enable your test plan, so you can configure and run it. -The next step - press “Add task” button to add new task to your test plan. You’ll see a window like this: +Next, press the “Add task” button to add a new task to your test plan. You’ll see a window like this: ![](bamboo5.png) -Here the user is asked of what type of task should be used. In “Task types” window choose “Script” type. +Here, the user is asked what type of task should be used. In the "Task types" window, choose "Script" type. ![](bamboo6.png) -Mention the Task description and choose a command interpreter depending on our OS architecture (“Shell” for Linux, “Windows PowerShell” for Windows, “bin/sh or cmd.exe” as universal option). +Enter the Task description and choose a command interpreter depending on our OS architecture (“Shell” for Linux, “Windows PowerShell” for Windows, “bin/sh or cmd.exe” as universal option). -In “Script body” field type: +In the “Script body” field, type: ``` bzt /{path_to_yml_script}/script1.yml ``` -After this click “Add task” button and click on “Create” button to finish your test plan creation. +After this, click the “Add task” button and click the “Create” button to finish your test plan creation. ![](bamboo7.png) -In the newly opened window click “Run” -> “Run plan” to execute our test plan. That’s it! Our performance test is up and running. +In the newly opened window, click “Run” -> “Run plan” to execute your test plan. That’s it! Your performance test is up and running. ![](bamboo8.png) ## Reporting -As soon as your test is finished you’ll see result performance metrics at the end of the log file in your finished build run. +As soon as your test is finished, you’ll see performance metrics results at the end of the log file in your finished build run. ![](bamboo9.png) -If you take a look at the mentioned log’s lines, you can find there are parameters as test duration, latency, samples count and response time. But, of course, reading metrics from logs is not the best option. That’s why Taurus provides better test analysis. Through Taurus, you can easily view, analyze and collect all performance metrics, through the Blazemeter app. +If you take a look at the mentioned log’s lines, you see parameters such as test duration, latency, samples count, and response time. But, of course, reading metrics from logs is not the best option. That’s why Taurus provides a better test analysis. Through Taurus, you can easily view, analyze and collect all performance metrics: through the Blazemeter app. To do so and to see your tests results, change the command in the “Script body” field to: ``` bzt /{path_to_yml_script}/script1.yml -report ``` -The “-report” command runs a [BlazeMeter](http://a.blazemeter.com/?utm_source=taurus&&utm_medium=KB&utm_campaign=taurus-bamboo) reporter. It uploads your test to the BlazeMeter app, which contains everything you need to get as much as possible from your performance metrics. It’s a sufficient reporting functionality that feeds results to the server, so you don’t need to provide any additional configuration. The report link is received in the console text. This link is automatically opened in the browser, and you will see the web application with your test execution: +The “-report” command runs a [BlazeMeter](https://a.blazemeter.com/?utm_source=taurus&&utm_medium=KB&utm_campaign=taurus-bamboo) reporter. It uploads your test to the BlazeMeter app, which contains everything you need to get as much as possible from your performance metrics. Taurus feeds results to the server, so you don’t need to provide any additional configuration. You receive the report link in the console text. This link is automatically opened in the browser, and you will see the web application with your test execution: ![](bamboo10.png) -[BlazeMeter reporting](https://www.blazemeter.com/blog/understanding-your-reports-part-4-how-read-your-load-testing-reports-blazemeter?utm_source=taurus&&utm_medium=KB&utm_campaign=taurus-bamboo) provides the ability to see various parameters of test running. You can find all necessary information about time (duration time, response time, latency, etc.), loading and request stats, information about errors, response codes and many other helpful parameters that allow us to make our test analyze deeper and fuller. +[BlazeMeter reporting](https://www.blazemeter.com/blog/understanding-your-reports-part-4-how-read-your-load-testing-reports-blazemeter?utm_source=taurus&&utm_medium=KB&utm_campaign=taurus-bamboo) provides the ability to see various parameters of the running test. You can find all necessary information about time (duration time, response time, latency, etc.), loading and request stats, information about errors, response codes and many other helpful parameters that let you analyze your test more deeply and fuller. -That’s it! Now you are able to run Taurus YAML test scripts via the Bamboo CI tool. +That’s it! Now you are able to run Taurus YAML test scripts via the Bamboo CI tool. \ No newline at end of file diff --git a/site/dat/kb/Basic1.md b/site/dat/kb/Basic1.md index 4376d6829e..6816066950 100644 --- a/site/dat/kb/Basic1.md +++ b/site/dat/kb/Basic1.md @@ -136,4 +136,4 @@ Continuous Delivery is becoming the ‘new normal’, especially for SaaS compan Within Jenkins, you can use the “Execute shell” section in the project configuration to run your Taurus test and make this a part of your continuous delivery cycle. -As always if you have any questions or comments just leave a message on the [project forums](/support/). +As always if you have any questions or comments just leave a message on [GitHub Issues](https://github.com/Blazemeter/taurus/issues). diff --git a/site/dat/kb/Index.md b/site/dat/kb/Index.md index 70394fdc50..bf693d365b 100644 --- a/site/dat/kb/Index.md +++ b/site/dat/kb/Index.md @@ -1,10 +1,10 @@ # Getting Started - 1. Take [Beginner's Course](/learn/) + 1. Take the [Beginner's Course](/learn/) 1. [Getting Started with Taurus and JMeter](Basic1.md) # Articles - 1. [Solving JMeter Test Execution Problem](JMeter1.md) + 1. [Solving JMeter Test Execution Problems](JMeter1.md) 1. [Handling pre/post test actions of a load test](ShellexecHooks.md) 1. [Creating JMeter and Selenium Scripts with Taurus](Scripting.md) 1. [Reporting and Results Analysis on Taurus](Reporting.md) @@ -14,28 +14,24 @@ 1. [Running Taurus with TeamCity](TeamCity.md) 1. [Supporting New Load Testing Tool with Taurus](AddingExecutor.md) - # Third-Party Articles + 1. [How to Run Your First JMeter Script in Taurus](https://www.blazemeter.com/blog/taurus-jmeter) + 1. [On-Demand Webinar: What Is Taurus & Why You Should Care?](https://www.blazemeter.com/webinars/what-taurus-why-you-should-care) + 1. [https://www.blazemeter.com/webinars/automatizacion-de-pruebas-open-source-con-taurus](On-Demand Webinar: Automatización de Pruebas Open Source con Taurus) + 1. [Testing Windows Applications Using Taurus and Selenium](https://www.blazemeter.com/blog/testing-windows-applications-taurus-selenium) + 1. [How to Run K6 Load Testing in BlazeMeter with Taurus](https://www.blazemeter.com/blog/k6-load-testing) 1. [Taurus Overview](https://blazemeter.com/blog/taurus-new-star-test-automation-tools-constellation) - 1. [Taurus First Steps](https://blazemeter.com/blog/navigating-your-first-steps-using-taurus) - 1. [Taurus - Working with Multiple JMeter Tests](https://blazemeter.com/blog/taurus-working-multiple-jmeter-tests) + 1. [WebdriverIO Tutorial: How to Run WebdriverIO in Taurus](https://www.blazemeter.com/blog/webdriverio-tutorial) + 1. [The Complete Guide to API Testing with Taurus](https://www.blazemeter.com/blog/taurus-api-testing) + 1. [API Performance Testing Tools: JMeter, Taurus, and BlazeMeter](https://www.blazemeter.com/blog/api-performance-testing-tools) 1. [How to Execute a Load Test Using the Taurus Docker Image](https://www.blazemeter.com/blog/how-execute-load-test-using-taurus-docker-image) - + 1. [Gatling via Taurus: The Beginner-Friendly Load Testing Gatling Alternative](https://www.blazemeter.com/blog/taurus-gatling-load-testing) + 1. [Running Your Own Gatling Script in Blazemeter Cloud](https://www.blazemeter.com/blog/gatling-script) # Videos -The most recent video is: [Webinar on September 27, 2017: Automating Performance Tests with Taurus](https://www.youtube.com/watch?v=DN0VNnG-lzs) +[Webinar: Automating Performance Tests with Taurus](https://www.youtube.com/watch?v=DN0VNnG-lzs) - -You can find educational videos [here](Videos.md). - -## Other Videos: - 1. [Test Automation with JMeter, Jenkins and Taurus](https://www.youtube.com/watch?v=UoOcxlYDRbM) - 1. [BlazeMeter Meetup - How to Scale Test Automation with Jenkins & JMeter Using Taurus](https://www.youtube.com/watch?v=8oYzvNRRQi4) - 1. [Scaling Test Automation with Jenkins + JMeter + Taurus](https://www.youtube.com/watch?v=QuY0Qcdd90A) - 1. [The Secret to Scaling Test Automation w Jenkins & JMeter at Jenkins UC Israel 2015](https://www.youtube.com/watch?v=JnCYGBN4FTw) - 1. [OpenShift Commons Briefing #28: Continuous Performance Testing for OpenShift Applications](https://www.youtube.com/watch?v=toMDGhQ96GA) - 1. [Performance Test Automation With JMeter & Taurus](https://www.youtube.com/watch?v=8KmO5mIkBzk) - 1. [Performance Testing Bootcamp with JMeter & Taurus](https://www.youtube.com/watch?v=rwccqwaHT9U) +[Find more educational videos here!](Videos.md). diff --git a/site/dat/kb/JMeter1.md b/site/dat/kb/JMeter1.md index 0c3e1f8bdc..69b1edda60 100644 --- a/site/dat/kb/JMeter1.md +++ b/site/dat/kb/JMeter1.md @@ -1,5 +1,4 @@ -# Solving JMeter Test Execution Problem - +# Solving JMeter Test Execution Problems If you’re using JMeter to set up and execute your load tests on a regular basis, you’re no doubt aware of the dual importance and inconvenience of reporting with this tool. @@ -26,7 +25,7 @@ Let’s say you run a JMeter script with a number of requests to a page, you exe Without real-time feedback, it’s very hard to tell if you should stop the test. You could be running a test for three hours with invalid requests, and you won’t know it - which is obviously a huge waste of time and resources. -Of course, you can add some graphs and tables into your JMeter test plan, so you have some information to view. By using [JMeter plugins](http://jmeter-plugins.org/), you can add KPIs like transactions per second, active threads over time, percentiles etc. However, there are a number of drawbacks to this approach: +Of course, you can add some graphs and tables into your JMeter test plan, so you have some information to view. By using [JMeter plugins](https://jmeter-plugins.org/), you can add KPIs like transactions per second, active threads over time, percentiles etc. However, there are a number of drawbacks to this approach: 1. It takes a lot of time. As there’s no ‘default’ reporting UI in JMeter, you’ll need to set it up from scratch _every single time_ you create a test plan. 1. You don’t have one simple place to look. Even if you’ve set up all the individual reporting components like tables and graphs, you’ll need to jump from plugin to plugin to see if there are any errors, where the errors are etc. AND you can’t do any of this when you’re in non-UI mode (which is where you should be when running a load test in JMeter). The more KPIs you want to see, the more confusing this all becomes. @@ -34,7 +33,7 @@ Of course, you can add some graphs and tables into your JMeter test plan, so you ## How to Get Test Visualization and Analysis While Using JMeter -The open source tool [Taurus](http://gettaurus.org) solves the conflict raised at the beginning of this post. Taurus allows you to execute a JMeter script in non-UI mode through the bzt command, and automatically gives you information on how your test is doing through its UI. +The open source tool [Taurus](https://gettaurus.org) solves the conflict raised at the beginning of this post. Taurus allows you to execute a JMeter script in non-UI mode through the bzt command, and automatically gives you information on how your test is doing through its UI. Taurus’ default dashboard shows you key information like: @@ -49,18 +48,7 @@ You can view all of these results in real time while running your test in JMeter ![Console Screen](../docs/console.png) -## Running Post Test Analysis - -Taurus also automatically saves reports in JMeter’s results files for further analysis. Once you’ve completed your test, you can then: - - -1. Upload the files in the JMeter UI for advanced analysis after the test -1. Upload to [BlazeMeter Sense](http://sense.blazemeter.com/) test results’ storage to view interactive reports, and calculate statistics. -1. There are also several more [reporting](/docs/Reporting.md) options to integrate with Jenkins - ---- So there is a simple solution to the seemingly impossible quandary posed by JMeter when it comes to reporting. With JMeter alone, you are stuck between your need to view real-time reports in the UI and the tool’s incompatibility with this requirement. The open source tool Taurus resolves this problem by allowing you to execute your JMeter script in non-UI mode and presenting you with real-time reports on its UI. -More Information? -If you have any questions or comments about any of the points raised in this article, please share them on our [support forums](/support/). diff --git a/site/dat/kb/Jenkins.md b/site/dat/kb/Jenkins.md index 8fb19c9cf3..f93fd8126a 100644 --- a/site/dat/kb/Jenkins.md +++ b/site/dat/kb/Jenkins.md @@ -9,11 +9,11 @@ Welcome to part 3 of our “Continuous Functional and Performance Test Automatio Jenkins usually runs under a default user called ‘Jenkins’. Since Taurus creates temporary data and also different reports, you might run into issues if Taurus doesn’t have writing permissions for its working directory. Therefore, as a second step change the Jenkins default user. Here’s how: -- Linux: [http://blog.manula.org/2013/03/running-jenkins-under-different-user-in.html](http://blog.manula.org/2013/03/running-jenkins-under-different-user-in.html) -- Mac: [http://stackoverflow.com/questions/24092295/change-the-jenkins-default-user-user-name-on-mac](http://stackoverflow.com/questions/24092295/change-the-jenkins-default-user-user-name-on-mac) -- Windows: [http://antagonisticpleiotropy.blogspot.fi/2012/08/running-jenkins-in-windows-with-regular.html](http://antagonisticpleiotropy.blogspot.fi/2012/08/running-jenkins-in-windows-with-regular.html) +- Linux: [https://blog.manula.org/2013/03/running-jenkins-under-different-user-in.html](https://blog.manula.org/2013/03/running-jenkins-under-different-user-in.html) +- Mac: [https://stackoverflow.com/questions/24092295/change-the-jenkins-default-user-user-name-on-mac](https://stackoverflow.com/questions/24092295/change-the-jenkins-default-user-user-name-on-mac) +- Windows: [https://antagonisticpleiotropy.blogspot.com/2012/08/running-jenkins-in-windows-with-regular.html](https://antagonisticpleiotropy.blogspot.com/2012/08/running-jenkins-in-windows-with-regular.html) -Third, install the [Jenkins Plot Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Plot+Plugin). It will be useful for comparing your basic performance metrics for the last builds. To install the plugin go to the ‘Manage Jenkins’ section and open the ‘Manage Plugins’ menu entry. Then, go to the ‘Available’ tab and find ‘Plot Plugin’ in the list below. +Third, install the [Jenkins Plot Plugin](https://plugins.jenkins.io/plot/). It will be useful for comparing your basic performance metrics for the last builds. To install the plugin go to the ‘Manage Jenkins’ section and open the ‘Manage Plugins’ menu entry. Then, go to the ‘Available’ tab and find ‘Plot Plugin’ in the list below. Now let’s move to building a plan creation. To configure Jenkins, do the following: @@ -36,11 +36,9 @@ After the build execution, you will be able to see the tests results trend graph There is also an additional ‘Plots’ section on the left menu that provides you with the final Taurus statistics for a configurable number of builds. -At the same time, you can analyze all your metrics on [CA BlazeMeter](/docs/Reporting/#BlazeMeter-Reporter?utm_source=taurus&utm_medium=KB&utm_campaign=JMeterSelenium), for a detailed investigation of the product health, trends and [KPI](https://www.blazemeter.com/blog/understanding-your-reports-part-4-how-read-your-load-testing-reports-blazemeter?utm_source=taurus&utm_medium=KB&utm_campaign=JMeterSelenium) performance. +At the same time, you can analyze all your metrics on [BlazeMeter](/docs/Reporting/#BlazeMeter-Reporter?utm_source=taurus&utm_medium=KB&utm_campaign=JMeterSelenium), for a detailed investigation of the product health, trends and [KPI](https://www.blazemeter.com/blog/understanding-your-reports-part-4-how-read-your-load-testing-reports-blazemeter?utm_source=taurus&utm_medium=KB&utm_campaign=JMeterSelenium) performance. Congratulations! You now know how to run Taurus tests in the Continuous Integration cycle with Jenkins. -The Taurus team is open for feedbacks and suggestions, and you can be sure that you will get help for any issues via the [support forum](https://groups.google.com/forum/#!forum/codename-taurus). - - +The Taurus team is open for feedback and suggestions, ask for help with any issues via [GitHub Issues](https://github.com/Blazemeter/taurus/issues). \ No newline at end of file diff --git a/site/dat/kb/Reporting.md b/site/dat/kb/Reporting.md index 67eb128eca..d2231344f2 100644 --- a/site/dat/kb/Reporting.md +++ b/site/dat/kb/Reporting.md @@ -4,7 +4,7 @@ _Author: Iurii Bushnev_ Welcome to part 2 of our “Continuous Functional and Performance Test Automation with [Selenium](https://www.blazemeter.com/blog/how-automate-testing-using-selenium-webdriver-jenkins-and-allure?utm_source=taurus&utm_medium=KB&utm_campaign=JMeterSelenium), [JMeter](https://www.blazemeter.com/jmeter-load-testing?utm_source=taurus&utm_medium=KB&utm_campaign=JMeterSelenium) and [Taurus](/?utm_source=taurus&utm_medium=KB&utm_campaign=JMeterSelenium)” series. In the [previous article](/kb/Scripting/?utm_source=taurus&utm_medium=KB&utm_campaign=JMeterSelenium), we covered how to create Taurus scripts from scratch, without direct use of Selenium and JMeter. In this article, we will go over how to view and analyze reports. -Taurus is a tool that provides a simple way to create and run performance tests, as well as an easy integration with additional open-source functional and performance testing software, like Selenium, JUnit, [Gatling](http://gatling.io/) or JMeter. +Taurus is a tool that provides a simple way to create and run performance tests, as well as an easy integration with additional open-source functional and performance testing software, like Selenium, JUnit, [Gatling](https://gatling.io/) or JMeter. Taurus also provides great ways for results reporting and analysis. The default way is [Console Reporting](/docs/Reporting/#Console-Reporter?utm_source=taurus&utm_medium=KB&utm_campaign=JMeterSelenium). With console reporting, you can just run your test. The results are detailed and even more importantly - they are also in real-time. The metrics are self-explanatory and provide lots of information. @@ -98,4 +98,4 @@ Then we can go into the artifacts folder and find junit logs in ‘junit.err’ Congratulations! You now know how to create and read Taurus analytics reports. Stay with us for the next article, about [integrating Taurus with Jenkins](Jenkins.md). -The Taurus team is open for feedbacks and suggestions, and you can be sure that you will get help for any issues via the [support forum](https://groups.google.com/forum/#!forum/codename-taurus). +The Taurus team is open for feedback and suggestions, ask for help with any issues via [GitHub Issues](https://github.com/Blazemeter/taurus/issues). \ No newline at end of file diff --git a/site/dat/kb/Scripting.md b/site/dat/kb/Scripting.md index 351ec6b336..90e3f70825 100644 --- a/site/dat/kb/Scripting.md +++ b/site/dat/kb/Scripting.md @@ -2,9 +2,9 @@ _Author: Iurii Bushnev_ -The wide range of [performance testing tools](https://www.blazemeter.com/blog/open-source-load-testing-tools-which-one-should-you-use?utm_source=taurus&utm_medium=KB&utm_campaign=JMeterSelenium) available enables companies to find a solution that can meet any expectation and budget. However, many testing tools are limited when it comes to automating and integrating them into the [Continuous Integration](http://info.blazemeter.com/automated-performance-tests-in-jenkins-ci-environments?utm_source=BM&utm_medium=resources&utm_campaign=webinar-automated-performance-tests-jenkins-ci-environments) cycle, and using them to manage the functionality workflow might also be complicated. For example, when invoking workflow management APIs that don’t alert when the workflow is finished. +The wide range of [performance testing tools](https://www.blazemeter.com/blog/open-source-load-testing-tools?utm_source=taurus&utm_medium=KB&utm_campaign=JMeterSelenium) available enables companies to find a solution that can meet any expectation and budget. However, many testing tools are limited when it comes to automating and integrating them into the [Continuous Integration](https://www.blazemeter.com/solutions/jenkins) cycle, and using them to manage the functionality workflow might also be complicated. For example, when invoking workflow management APIs that don’t alert when the workflow is finished. -Many of you are probably using, [Selenium](https://www.blazemeter.com/blog/how-automate-testing-using-selenium-webdriver-jenkins-and-allure?utm_source=taurus&utm_medium=KB&utm_campaign=JMeterSelenium) for this purpose. This might be an even more attractive idea if you already cover functional testing for your application with Selenium scripts. But getting reasonable performance metrics from Selenium might be tricky. +Many of you are probably using, [Selenium](https://www.blazemeter.com/blog/jenkins-selenium?utm_source=taurus&utm_medium=KB&utm_campaign=JMeterSelenium) for this purpose. This might be an even more attractive idea if you already cover functional testing for your application with Selenium scripts. But getting reasonable performance metrics from Selenium might be tricky. [Taurus](/?utm_source=taurus&utm_medium=KB&utm_campaign=JMeterSelenium) is an open-source framework that helps manage the above-mentioned issues, and more. Briefly, Taurus is a tool that provides a simple way to create and run performance tests, as well as an easy integration with additional open-source functional and performance testing software, like Selenium, Gatling or JMeter. Taurus uses YAML files, which are very easy to understand. @@ -12,7 +12,7 @@ In this article we will go over the steps to create basic functional and perform ## Selenium Scripts -Selenium is one of the best solutions for functional testing web applications. Since the creation of Selenium scripts is not the main topic of this article, we will not go into a detailed [Selenium tutorial](http://toolsqa.com/selenium-webdriver/selenium-introduction/), but rather to the final functional scripts. +Selenium is one of the best solutions for functional testing web applications. Since the creation of Selenium scripts is not the main topic of this article, we will not go into a detailed [Selenium tutorial](https://toolsqa.com/selenium-webdriver/selenium-introduction/), but rather to the final functional scripts. The typical Selenium project uses the Page Object pattern and its structure looks like this: @@ -89,16 +89,16 @@ public class FlightsSearchTests extends BaseTest { ## JMeter Scripts -[JMeter](http://jmeter.apache.org/), designed to load test functional behavior and measure website performance, is one of the most popular open-source performance testing software tools. The simplest and most convenient way to create JMeter scripts from scratch is to use the [BlazeMeter Proxy Recorder](https://guide.blazemeter.com/hc/en-us/articles/207420545-BlazeMeter-Proxy-Recorder-Mobile-and-web-?utm_source=taurus&utm_medium=KB&utm_campaign=JMeterSelenium). The recorder enables easy recording and creation of JMeter test scenarios for your performance tests. +[JMeter](https://jmeter.apache.org/), designed to load test functional behavior and measure website performance, is one of the most popular open-source performance testing software tools. The simplest and most convenient way to create JMeter scripts from scratch is to use the [BlazeMeter Chrome Extension](https://help.blazemeter.com/docs/guide/recorders-blazemeter-chrome-extension.html) or the [BlazeMeter Proxy Recorder](https://help.blazemeter.com/docs/guide/recorders-creating-the-proxy-recorder.html?utm_source=taurus&utm_medium=KB&utm_campaign=JMeterSelenium). These recorders enable easy recording and creation of JMeter test scenarios for your performance tests. -After your script is successfully recorded with the Proxy Recorder, save the *.jmx result file and put it into your project. +After your script is successfully recorded, save the *.jmx result file and put it into your project. ![JMeter files view](jmeter-files.png) ## Taurus -Taurus is a free and open-source framework under the Apache 2.0 License. Taurus extends the capabilities of popular functional and performance testing frameworks like JMeter, [Gatling](http://gatling.io/) or Selenium. It is also user-friendly for configuration, running and analyzing [test results](/docs/Reporting/?utm_source=taurus&utm_medium=KB&utm_campaign=JMeterSelenium). +Taurus is a free and open-source framework under the Apache 2.0 License. Taurus extends the capabilities of popular functional and performance testing frameworks like JMeter, [Gatling](https://gatling.io/) or Selenium. It is also user-friendly for configuration, running and analyzing [test results](/docs/Reporting/?utm_source=taurus&utm_medium=KB&utm_campaign=JMeterSelenium). The simplest script looks like this (TaurusScriptExample.yml): @@ -285,11 +285,6 @@ scenarios: Congratulations! You now know how to create scripts in Taurus from scratch, without direct use of Selenium and JMeter. This comes in handy when we need to create complicated tests, because it helps avoid redundant actions and adding unnecessary files. -Learn more about using Taurus from this free [webinar](http://info.blazemeter.com/automated-performance-tests-in-jenkins-ci-environments?utm_source=Blog&utm_medium=BM_Blog&utm_campaign=automated-performance-tests-jenkins-ci-environments?utm_source=taurus&utm_medium=KB&utm_campaign=JMeterSelenium), and follow us for the upcoming articles, which will cover [analyzing test results](Reporting.md) and [integration with Jenkins](Jenkins.md). - -The Taurus team is open for feedbacks and suggestions, and you can be sure that you will get help for any issues via the [support forum](https://groups.google.com/forum/#!forum/codename-taurus). - - - - +Follow us for the upcoming articles, which will cover [analyzing test results](Reporting.md) and [integration with Jenkins](Jenkins.md). +The Taurus team is open for feedback and suggestions, ask for help with any issues via [GitHub Issues](https://github.com/Blazemeter/taurus/issues). diff --git a/site/dat/kb/SeleniumActions.md b/site/dat/kb/SeleniumActions.md index 3c3c66523b..071e265269 100644 --- a/site/dat/kb/SeleniumActions.md +++ b/site/dat/kb/SeleniumActions.md @@ -4,9 +4,9 @@ _Author: Yulia Shepeleva_ Load testing web applications has become common practice, with open-source [Apache JMeter](https://www.blazemeter.com/jmeter-load-testing?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium) being the most popular load testing tool. JMeter works with different protocols, including HTTP. However, due to its nature, JMeter is not able to perform all browser-supported actions, and it also doesn't execute the javascript found in the HTML page. Therefore, we need a tool that can operate on a user interface level of a real browser window. -The solution is [Selenium WebDriver](https://www.blazemeter.com/blog/how-automate-testing-using-selenium-webdriver-jenkins-and-allure?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium). However, Selenium's technology requires you write the script in one of the supported programing languages, and this might be difficult for users without a technical background. The solution is to use Selenium with [Taurus DSL](http://gettaurus.org/docs/Selenium/?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium), which provides a simplification for user web page level scripting, with the concept of 'simple UI actions'. +The solution is [Selenium WebDriver](https://www.blazemeter.com/blog/how-automate-testing-using-selenium-webdriver-jenkins-and-allure?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium). However, Selenium's technology requires you write the script in one of the supported programing languages, and this might be difficult for users without a technical background. The solution is to use Selenium with [Taurus DSL](https://gettaurus.org/docs/Selenium/?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium), which provides a simplification for user web page level scripting, with the concept of 'simple UI actions'. -Taurus uses simple configuration files in [YAML](http://gettaurus.org/docs/YAMLTutorial/?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium) format. Through them, Taurus takes the list of user interface actions, translates them into program code that uses Selenium and also executes the generated script. +Taurus uses simple configuration files in [YAML](https://gettaurus.org/docs/YAMLTutorial/?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium) format. Through them, Taurus takes the list of user interface actions, translates them into program code that uses Selenium and also executes the generated script. In this article we will demonstrate how to build a simple YAML script, which describes actions performed by a user on a web page. Then, we will reuse this scenario for load testing. @@ -15,9 +15,9 @@ In this article we will demonstrate how to build a simple YAML script, which des Let's create a simple script for one page in the Chrome browser in YAML. What we need to begin to work: - 1. [Download and install Taurus](http://gettaurus.org/install/Installation/?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium) + 1. [Download and install Taurus](https://gettaurus.org/install/Installation/?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium) 1. Download and install the latest version of Chrome - 1. Download [ChromeDriver](https://sites.google.com/a/chromium.org/chromedriver/) + 1. Download [ChromeDriver](https://developer.chrome.com/docs/chromedriver/downloads) 1. Include the ChromeDriver location in your PATH environment variable 1. Create a simple YAML script: @@ -35,7 +35,7 @@ scenarios: - url: http://blazedemo.com ``` -This script, which is a simple GET request, will be performed as a Selenium test in Chrome. It will load the first page of our demo site [http://blazedemo.com](http://blazedemo.com?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium). +This script, which is a simple GET request, will be performed as a Selenium test in Chrome. It will load the first page of our demo site [https://blazedemo.com](https://blazedemo.com?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium). `timeout` - global scenario timeout for connecting, receiving results, 30 seconds by default, notice we changed it to 10s. `think-time` - global scenario delay between each request @@ -50,7 +50,7 @@ The Taurus Console displays the execution of this one test: ![](sel-act1.png) -The results of the test are displayed in the console the by default. If you want to see the testing process in detail you can look it up in the [artifacts directory](../docs/ArtifactsDir.md). The artifacts directory is created in the same folder where the script was launched from. If you want your artifact directory to be created in another location, you can change the artifact directory route. Look [here](http://gettaurus.org/docs/ConfigSyntax/#Top-Level-Settings?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium) for more information about how this can be done. +The results of the test are displayed in the console the by default. If you want to see the testing process in detail you can look it up in the [artifacts directory](../docs/ArtifactsDir.md). The artifacts directory is created in the same folder where the script was launched from. If you want your artifact directory to be created in another location, you can change the artifact directory route. For more information about how this can be done, see [Taurus Configuration Syntax](https://gettaurus.org/docs/ConfigSyntax/#Top-Level-Settings?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium). The name of the folder is created according to the format `%Y-%m-%d\_%H-%M-%S.%f`. This folder stores some files that interest us: - `test\_requests.py` - the Selenium test generated in Python @@ -216,9 +216,9 @@ Run by typing `bzt -cloud load_page.yml` ![](sel-act8.png) -Now we have a load script that is loaded by default in the local environment. The Concurrency Option will work in the [Blazemeter Cloud](https://a.blazemeter.com/app/sign-up?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium). To get instructions on how to adjust settings of execution in the cloud, please, see [here](http://gettaurus.org/docs/Cloud/?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium). [BlazeMeter](http://info.blazemeter.com/request-demo-4?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium) also enables you to view [rich reports](https://www.blazemeter.com/blog/understanding-your-reports-part-4-how-read-your-load-testing-reports-blazemeter?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium) that analyze KPIs and monitor system health. +Now we have a load script that is loaded by default in the local environment. The Concurrency Option will work in the [Blazemeter Cloud](https://a.blazemeter.com/app/sign-up?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium). To get instructions on how to adjust settings of execution in the cloud, see [Cloud Provisioning](https://gettaurus.org/docs/Cloud/?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium). [BlazeMeter](https://www.blazemeter.com/product-demos?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium) also enables you to view [rich reports](https://help.blazemeter.com/docs/guide/performance-kpis-purpose.html?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium) that analyze KPIs and monitor system health. -Congratulations! You can now write and run webpage load scripts by using an expression of actions through your YAML file. Taurus can also be [integrated with Jenkins](http://gettaurus.org/kb/Jenkins/?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium), for continuous integration purposes. +Congratulations! You can now write and run webpage load scripts by using an expression of actions through your YAML file. Taurus can also be [integrated with Jenkins](https://gettaurus.org/kb/Jenkins/?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium), for continuous integration purposes. -To get a BlazeMeter demo, [click here](http://info.blazemeter.com/request-demo-4?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium). +[Sign up for a BlazeMeter demo here!](https://www.blazemeter.com/product-demos?utm_source=taurus&utm_medium=KB&utm_campaign=TaurusSelenium). diff --git a/site/dat/kb/ShellexecHooks.md b/site/dat/kb/ShellexecHooks.md index 636c0e5bc8..392d8f02bc 100644 --- a/site/dat/kb/ShellexecHooks.md +++ b/site/dat/kb/ShellexecHooks.md @@ -85,6 +85,5 @@ This file contains the pre test actions in the “prepare” and “startup” s This YAML code will run JMeter (as this is the default executor) but you can specify the other executors under the “execution” section and use the same configuration file for different executors. -As always if you have any questions or comments, please message us on our [project forum](/support/). diff --git a/site/dat/kb/TeamCity.md b/site/dat/kb/TeamCity.md index 4eaa37e92d..c190c71d7d 100644 --- a/site/dat/kb/TeamCity.md +++ b/site/dat/kb/TeamCity.md @@ -2,7 +2,7 @@ _By: Yuri Bushnev, June 2017_ -Taurus is an open source framework for performance tests automation. It can be used to run scripts from scratch as well as allows running tests from other open source tools. These include [JMeter](http://jmeter.apache.org/), [Gatling](http://gatling.io/), [Selenium](http://www.seleniumhq.org/) or [Locust](http://locust.io/). +Taurus is an open source framework for performance tests automation. It can be used to run scripts from scratch as well as allows running tests from other open source tools. These include [JMeter](https://jmeter.apache.org/), [Gatling](https://gatling.io/), [Selenium](https://www.selenium.dev/) or [Locust](https://locust.io/). Taurus simplifies use of existing automation tools and provides a user-friendly and convenient "wrapper". One of Taurus's main strengths is that it can be integrated with any [continuous integration](https://www.blazemeter.com/jenkins?utm_source=taurus&&utm_medium=KB&utm_campaign=taurus-teamcity) servers in just a few steps. Using CI servers helps us automate test execution and avoid the routine actions if running our scripts again and again. @@ -27,7 +27,7 @@ scenarios: Taurus scripts can be written using JSON or YAML formats. As you can see, it is human-readable. You don’t need to be a genius to find out that this current script performs: - - URL requests to [http://blazedemo.com/](http://blazedemo.com/) web page + - URL requests to [https://blazedemo.com/](https://blazedemo.com/) web page - with 100 users - during 1 minute - while users are onboard during the first 40 seconds. @@ -56,7 +56,7 @@ TeamCity is one of the most popular [continuous integration](https://www.blazeme The main advantage of this continuous integration server is that it provides great usability out-of-the-box. It also has a user-friendly interface which makes it easy to use, even for someone new to continuous integration solutions. -Let’s assume that you already have TeamCity integration server. If no, you can find straight forward installation steps on JetBrains [official website](https://confluence.jetbrains.com/display/TCD10/Installation). +Let’s assume that you already have TeamCity integration server. If no, you can find straight forward installation steps on JetBrains [official website](https://www.jetbrains.com/help/teamcity/2017.1/installation.html?Installation). First, we should create a new project. @@ -72,7 +72,7 @@ After the project has been created you will be redirected to the main project pa ![](teamcity4.png) -The ‘Create Build Configuration’ page looks exactly the same as ‘Create Project’. We need to define name, build configuration id and include an optional description: +The ‘Create Build Configuration’ page looks exactly the same as ‘Create Project’. We need to define name, build configuration id, and include an optional description: ![](teamcity5.png) @@ -113,7 +113,7 @@ execution: scenarios: Open-BlazeDemo: requests: - - url: http://blazedemo.com/ + - url: https://blazedemo.com/ reporting: - module: blazemeter report-name: TeamCity test report diff --git a/site/dat/kb/Videos.md b/site/dat/kb/Videos.md index 1915ff1c1c..edf59de1d9 100644 --- a/site/dat/kb/Videos.md +++ b/site/dat/kb/Videos.md @@ -1,14 +1,26 @@ # Educational Videos +## Taurus Tutorial series: +[![](Getting Started with Taurus.png)](https://gettaurus.org/learn/) +[Tutorial: Getting Started with Taurus](https://gettaurus.org/learn/) + ## Scaling Test Automation with Jenkins + JMeter + Taurus -## Performance Test Automation With JMeter & Taurus - - -## Performance Testing Bootcamp with JMeter and Taurus +## JMeter & Taurus Bootcamp: Performance Testing Training ## Continuous Performance Testing for OpenShift Applications +## How to Automate Performance Testing with JMeter and Taurus + + +## The Secret to Scaling Test Automation w Jenkins & JMeter at Jenkins UC Israel 2015 + + +## OpenShift Commons Briefing #28: Continuous Performance Testing for OpenShift Applications + + +## Udemy course: Performance Engineering with JMeter, Taurus and Jenkins (paid) +https://www.udemy.com/course/performance-engineering-with-jmeter-taurus-and-jenkins) diff --git a/site/dat/kb/img/Getting Started with Taurus.png b/site/dat/kb/img/Getting Started with Taurus.png new file mode 100644 index 0000000000..a6c6120ca6 Binary files /dev/null and b/site/dat/kb/img/Getting Started with Taurus.png differ diff --git a/site/dat/out.xml b/site/dat/out.xml index a4f90cb259..d0015c51bc 100644 --- a/site/dat/out.xml +++ b/site/dat/out.xml @@ -1,6 +1,6 @@ - @@ -24,9 +24,9 @@ + base="https://github.com/Blazemeter/taurus/issues"/> - diff --git a/site/dat/taurus.tpl b/site/dat/taurus.tpl index e9e03c8561..068887af26 100644 --- a/site/dat/taurus.tpl +++ b/site/dat/taurus.tpl @@ -137,14 +137,15 @@ Automation-friendly framework for Continuous Testing
-
-
+

+ title='The Community likes us'/>
@@ -180,11 +181,11 @@