Skip to content

Commit

Permalink
0.5.5:
Browse files Browse the repository at this point in the history
- Improve installer logging
- Handle in template a site that is in HTTP
- Add ability to configure storefront context path, port, scheme
  • Loading branch information
pmouawad committed Jan 27, 2020
1 parent 4536f85 commit 6f815d7
Show file tree
Hide file tree
Showing 10 changed files with 1,850 additions and 1,669 deletions.
20 changes: 13 additions & 7 deletions PRE_REQUISITES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,17 @@

## 1. Apache JMeter pre-requisites

### Java version
* Install a **JDK 8 Windows x86** (not 64 bits !) in last minor update from [here](https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
* Install Apache JMeter from [here](https://jmeter.apache.org/download_jmeter.cgi). Last version is advised (>=5.1)
* Install Apache JMeter from [here](https://jmeter.apache.org/download_jmeter.cgi). Last version is advised (5.2.1)

### Microsoft Visual C++ Redistributable for Visual Studio 2019

* Install **Microsoft Visual C++ Redistributable for Visual Studio 2019** available from here:

## 1. Apache JMeter pre-requisites

- https://support.microsoft.com/fr-fr/help/2977003/the-latest-supported-visual-c-downloads

## 2. Citrix pre-requisites

Expand All @@ -21,7 +30,7 @@ If you encounter any errors, please check below points manually.

* Once Citrix Receiver is installed, register ICA Client COM Object, run **as administrator** :

regsvr32 C:\Program Files (x86)\Citrix\ICA Client\wfica.ocx
regsvr32 /s "C:\Program Files (x86)\Citrix\ICA Client\wfica.ocx"

* Add registry keys :

Expand Down Expand Up @@ -97,8 +106,6 @@ Here is the list of configurable properties, **non bold** properties should be
| bzm.citrix.client_factory.socket_timeout_ms | JMeterProperty that defines the socket timeout of Receiver in Milliseconds | 5000 (in millis) |
| |
| bzm.citrix.clause_check_interval | Interval for the timing of clause checks | 1000 (in millis) |
| bzm.citrix.clause_check_interval | Interval for the timing of clause checks | 1000 (in millis) |
| bzm.citrix.clause_check_interval | Interval for the timing of clause checks | 1000 (in millis) |
| bzm.citrix.clause_check_timeout | Default time period (in ms) during which a clause must be validated | 3000 (in millis) |
| bzm.citrix.clause_check_max_results | Maximum number of check results kept in the responseMessage | 20 |
| bzm.citrix.logon_timeout | JMeterProperty that defines the maximum time to receive a Citrix session event of type LOGON when Citrix application starts | 20000 (in millis) |
Expand Down Expand Up @@ -172,7 +179,6 @@ Plugin requires:
- Citrix Receiver 4.12 (versions below this version have bugs, plugin does not work correctly)
- Citrix Workspace 19.11


#### Disable the desktop toolbar
The Citrix administrator should disable the desktop toolbar.
There are several ways to do this:
Expand Down Expand Up @@ -209,13 +215,13 @@ You can also check that the ica file contains:
#### Ensure consistency between machines
If you intend to replay the script on another machine which will be the case for Blazemeter, make sure that the following items are consistent between the record and Blazemeter replay machines:

- Window Size (resolution),
- Window Size (screen resolution),
- Window Colors and color depth,
- System Font,
- ClearType,
- and the other Default Options settings for the Citrix client.

**These settings affect the hash values**, and **inconsistencies may cause sampling to fail**.
**These settings affect the hash values and screen coordinates (for OCR or HASH), and inconsistencies will cause sampling to fail**.

To view the Citrix client settings, right-click an item from the Citrix program group and select Application Set Settings or Custom Connection Settings.
(Note that the remote session on the Citrix server inherits the ClearType settings of the local machine.)
Expand Down
2 changes: 1 addition & 1 deletion citrix-client-win/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>com.blazemeter.jmeter</groupId>
<artifactId>citrix-parent</artifactId>
<version>0.5.4</version>
<version>0.5.5</version>
</parent>
<artifactId>citrix-client-win</artifactId>

Expand Down
2 changes: 1 addition & 1 deletion citrix-common/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>com.blazemeter.jmeter</groupId>
<artifactId>citrix-parent</artifactId>
<version>0.5.4</version>
<version>0.5.5</version>
</parent>
<artifactId>citrix-common</artifactId>
</project>
2 changes: 1 addition & 1 deletion citrix-jmeter/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<parent>
<groupId>com.blazemeter.jmeter</groupId>
<artifactId>citrix-parent</artifactId>
<version>0.5.4</version>
<version>0.5.5</version>
</parent>

<artifactId>citrix-jmeter</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ private enum ARCHITECTURE {

private static final String ADD_DWORD = "REG ADD \"%s\" /v \"%s\" /t REG_DWORD /d \"%s\"";

private static final String REGISTER_OCX = "regsvr32 C:\\Program Files (x86)\\Citrix\\ICA Client\\wfica.ocx";
private static final String REGISTER_OCX = "regsvr32 /s \"C:\\Program Files (x86)\\Citrix\\ICA Client\\wfica.ocx\"";

private static final String SAVESERVICE_EXCERPT = "/com/blazemeter/jmeter/citrix/installer/saveservice-excerpt.properties";

Expand Down Expand Up @@ -104,6 +104,7 @@ private static void updateSaveService() throws IOException {
try (
InputStream inputStream = CitrixInstaller.class.getResourceAsStream(SAVESERVICE_EXCERPT)) {
excerpt = IOUtils.toString(inputStream, StandardCharsets.ISO_8859_1);
excerpt = excerpt.replaceAll("\n", "\r\n");
LOGGER.info("{} contains {}", SAVESERVICE_EXCERPT, excerpt);
}
File saveServiceFile = new File(jmeterBinDir, "saveservice.properties");
Expand Down Expand Up @@ -286,6 +287,7 @@ private static boolean createRegKey(String path, String key, String expectedValu

private static boolean runCommand(String cmd, List<String> infoMsgs, List<String> errors)
throws IOException, InterruptedException {
LOGGER.info("Running commande line:"+cmd);
Process process = Runtime.getRuntime().exec(cmd);
// any output?
StreamGobbler outputGobbler = new StreamGobbler(process.getInputStream());
Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@


# Add the following line at the end of JMeter saveservice.properties file

_com.blazemeter.jmeter.citrix.sampler.CitrixSampleResultConverter=collection
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,11 @@
</ul>
]]></description>
<parameters>
<parameter defaultValue="Citrix Portal is using HTTPS ? (Yes/No)" key="citrixUsingHttps"/>
<parameter defaultValue="Citrix Portal scheme ? (http/https)" key="citrixPortalScheme"/>
<parameter defaultValue="Citrix Portal Hostname" key="citrixPortalHost"/>
<parameter defaultValue="Citrix Portal port ? (80/443/???)" key="citrixPortalPort"/>
<parameter defaultValue="Citrix Storefront Context Path ? " key="citrixPortalContextPath"/>
<parameter defaultValue="Citrix Application you want to record" key="citrixApplicationName"/>
<parameter defaultValue="Citrix Portal Login" key="citrixLogin"/>
<parameter defaultValue="Citrix Portal Password" key="citrixPassword"/>
Expand Down
Loading

0 comments on commit 6f815d7

Please sign in to comment.