In order to test a SAP Environment SilkPerformer requires that the SAP client provides "SAP GUI scripting" (which previous versions such as SAP R3 provide) capabilities in order to allow SilkPerformer to perform a record and to drive the SAP client when testing a SAP server. As the "SAP ECC(Enterprise Central Component)/R3" provides these capabilities then SilkPerformer fully supporters the testing of this latest version.
↧
Wiki Page: Does SilkPerformer support the testing of SAP ECC/R3 systems?
↧
Wiki Page: Does SilkPerformer support Tiling Servers?
A tile server is also known as a mapping server. It stores maps in graphic format, each graphic having coordinates, and when a user zooms in/out it requests the corresponding graphic to display the image in realtime without refreshing the page. SilkPerformer is able to support this application by recording the underlying protocol of tile servers which is AJAX. Asynchronous Javascript Execution is the protocol supporting tile servers, AJAX makes calls to a database to retrieve graphical information upon request by the application. SilkPerformer 2008 introduced enhanced support for testing AJAX applications with minimal customization required. An example of a Tiling server is Google Maps.
↧
↧
Wiki Page: Does SilkPerformer support Time Sharing Option (TSO)?
TSO uses a TCP/IP based protocol and therefore can be recorded at TCP/IP level. For information on things to consider when testing an application at TCP/IP level please refer to: What should I consider when deciding whether it will be possible to load test an application using TCP/IP functions?
↧
Wiki Page: Error: Failed to determine whether hooking is installed
This error can occur when trying to record a script and an incorrect version of the Silk Launcher service is running. During installation the Silk Launcher service install fails if an older version in a different folder is still running. To resolve this issue, remove and then install the Silk Launcher service from the command line: For 64bit operating systems: "C:\Program Files (x86)\Silk\Shared Files\SgLauncher\sgLauncher.exe" -r "C:\Program Files (x86)\Silk\Shared Files\SgLauncher\sgLauncher.exe" -i For 32bit operating systems: "C:\Program Files\Silk\Shared Files\SgLauncher\sgLauncher.exe" -r "C:\Program Files\Silk\Shared Files\SgLauncher\sgLauncher.exe" -i
↧
Wiki Page: Error: HTTP 401 - Access Denied - RespHdrAutNTLM occurring on Agent machine.
This error can occur when trying to run a LoadTest using an Agent machine which is protected by Microsoft's NTLM security without entering valid user credentials. There are two possible ways to remove this error: If you wish to use the same credentials for all agent machines, this can be set in the System Settings under SETTINGS | SYSTEM | AGENTS | ADVANCED tab. If the agents should use different credentials they can be set individually via the System Configuration Manager using the following process: Go to TOOLS | SYSTEM CONFIGURATION MANAGER Choose the "CONNECT TO..." Button and connect to the Agent you wish to set the credentials for. Once connected, choose the A PPLICATIONS TAB, and select your Silk Performer version. In the Authentication form fields enter the valid NTLM Account name and Password and select APPLY. This will be the account credentials used by the Agent computer. Restart the Agent Service for this change to take affect by choosing the SERVICE STATUS tab, then "Reinit".
↧
↧
Wiki Page: 'Could not find file' when trying to install Silk Performer plugin for Eclipse
If the error 'Could not find file' is displayed when trying to install the Silk Performer plugin for Eclipse (Help | Install New Software), the problem is likely to do with the directory which has been specified for the location of the plugin. Fo r example within the screen above, the absolute path for the plugin has been specified as C:/Program Files (x86)/Silk/Silk Performer 17.5/Extras/eclipseplugin/plugins/. The directory should simply read C:/..../Extras/eclipseplugin. With this directory specified, the Silk Performer Feature will be displayed for installation.
↧
Wiki Page: Error: LoadtestController: 3201 - License Error: Not all features are available - execution is denied due to registration limits
When attempting to replay a script and the following error is reported: "Error: LoadtestController: 3201 - License Error: Not all features are available - execution is denied due to registration limits" This error will be reported if the SilkPerformer SOA edition is being used and there are functions contained in a script that are not included in that edition and license policy. The licenses for SilkPerformer SOA editions allow use of the following functions: - Basic Web functions: Browser level API, ( not TCP, UDP, FTP, POP, SMTP, LDAP) - Simple page level functions: WebPagePost, WebPageUrl ( not WebPageLink, WebPageSubmit) - WebXml* functions - Xml* functions The SOA edition should be used to test Web Services, for other testing of Web applications the Enterprise Edition should be used.
↧
Wiki Page: Error: WebEngine: 43 - No response from host - connection lost! , SendRequest first attempt
We have discovered an issue in SilkPerformer 15.0 and SilkPerformer 15.5 where server connections are closed with the server header setting “Keep-Alive: timeout=1, max=100”. The issue is that, on the SilkPerformer side, we do not recognise that the connection was closed and continued to send data. This results in the ‘WebEngine: 43 - No response from host’ error. This has now been resolved with SilkPerformer 15.5 Hotfix2 (SP155_HF2.zip) which is available (after logging in) from the Supportline ‘Product Updates’ website: http://supportline.microfocus.com/websync/productupdatessearch.aspx Note that this has also been resolved with SilkPerformer 16.0, also available from the Supportline Website. If you are not using SilkPerformer 15.0 or SilkPerformer 15.5, see the following: This error message indicates that SilkPerformer did not receive a valid response from the server and assumes that the connection has been dropped. This error could be server-side, or network related. To pinpoint the root cause you should monitor the server and network devices while you are running a loadtest with an increasing workload using the Server Analysis Module. The following default measures will be useful: Active Users: Use this measure to determine how many users are active. Transactions per Second: If you see a sharp decrease in this graph, it may indicate that some part of the system is exceeding its limits. Errors per Second: Use this measure to identify errors. Concurrent Connections: Use this measure with Errors per Second to pinpoint bottlenecks. Data Sent and Received: Use these measures to help determine if the issue is bandwidth related. Page Time: Use this measure to estimate network time (Page Time= Server Busy Time + Network Time). Server Busy Time: Use this measure to indicate the length of time that the server is acting on the request. You should also monitor operating system data of your server i.e. CPU and Memory counters to see if there is any correlation with errors.
↧
Wiki Page: Errors occurred but error messages are not detailed in the repository or in the report files.
This is a known issue in SilkPerformer 6.5, 6.5.1 and 6.6. The problem will occur if you have custom functions in bdh files and are calling these functions from your script. If an error occurs in one of your custom functions then Silk Performer will still report that an error occurred but is unable to display the error message itself. This is fixed in SilkPerformer 7.0. As a workaround you can paste your custom functions into the script and call them from there.
↧
↧
Wiki Page: Even though the correct IDL files have been imported into a project, SilkPerformer still records IIOP binary functions.
Checking the SilkPerformer recorder log shows that the IDL files have been imported correctly, as shown below //------------------------------------------------------------------ // Recorded 09/18/2001 by SilkPerformer Recorder v4.5.0.941 //------------------------------------------------------------------ // Loading: E:\Program Files\Segue\SilkPerformer 4.5\Working\Data\default.idl // E:\Program Files\Segue\SilkPerformer 4.5\Working\Data\default.idl loaded successfully. // Loading: D:\IDLFiles\dev\test\CosNaming.idl // D:\IDLFiles\dev\test\CosNaming.idl loaded successfully. // D:\IDLFiles\dev\test\CosLifeCycle.idl // D:\IDLFiles\dev\test\CosLifeCycle.idl loaded successfully. // D:\IDLFiles\dev\test\Quoter.idl // D:\IDLFiles\dev\test\Quoter.idl loaded successfully. Looking at the code shown below it can be seen that despite the fact that the correct IDL files are added recorded scripts display binary requests like the following // No interface definition for operation [IDL:omg.org/Stock/Quoter:1.0].get_quote! IiopSetBinary(ghReturn1, "\h0D000000414345204861726477617265" // ACE Hardware 00000000 "\h00", 17); // Unknown // 00000010 IiopRequest(ghReturn1, "get_quote"); //IiopGetBinary(ghReturn1, sUnknown, sizeof(sUnknown)); //"\h2A000000" // * Looking at the imported IDL file [IDL:Stock/Quoter:1.0] below we see the definition of the "get_quote" function. The important thing to note is that the get_quote function exists only within the name space of the Module called IDL:STOCK/QUOTER module Stock { exception Invalid_Stock {}; exception Invalid_Quoter {}; interface Quoter : CosLifeCycle::LifeCycleObject { // = TITLE // Access Stock information. long get_quote (in string stock_name) raises (Invalid_Stock, Invalid_Quoter); The recorder however appears to be looking for the get_quote function in the name space IDL:OMG.ORG/STOCK/QUOTER The reason is that the name space of the get_quote() function as defined in the IDL file is restricted to the STOCK Module To manipulate name spaces within IDL files programmers use #pragma statements So if the real object from the code above exists in [IDL:omg.org/Stock/Quoter:1.0] We can add the following statement to the IDL file #pragma prefix "omg.org" This will extend the name space that SilkPerformer can use to locate the get_quote function. The correct IDL is shown below. module Stock { #pragma prefix "omg.org" exception Invalid_Stock {}; exception Invalid_Quoter {}; interface Quoter : CosLifeCycle::LifeCycleObject { // = TITLE // Access Stock information. long get_quote (in string stock_name) raises (Invalid_Stock, Invalid_Quoter);
↧
Wiki Page: Event Handler does not execute when in a loop
When running a SilkPerformer script where there are long running loops, why is my event handler not triggered when expected? SilkPerformer only checks the run-time to determine if an event handler should be triggered during the following events: * During thinking and waiting times * During the times in the waiting queue * At the beginning of each transaction * After any API function Therefore if a loop (without any think or wait times etc) is executing, SilkPerformer will not have a chance to check the run-time until the end of the loop. In order to prevent this, some of the above functionality should be included into the loop.
↧
Wiki Page: Export raw data per user type using Performance Explorer
In order to export the raw data per user type, the below steps has to be done: 1. From Settings System Workbench results tab. Uncheck the “Merge time-series data on agents” option. 2. Then run a test. Running the test with this option unchecked, will not create an overall merged report. You will find tsd results for each agent (starting with a@..) and for each virtual user(starting with u@..). These user file names will be in the format u@AgentName@ScriptName_UserType_VUNumber.tsd For example, I have two user profiles(Vuser-Profile1 and VUser1-Profile1) as below: So my user tsd files are created as follows (for each virtual user) u@localhost@ShopIt_1_VUser1-Profile1_1.tsd – In this name, the part “VUser1-Profile1” denotes the user type. u@localhost@ShopIt_1_VUser1-Profile1_2.tsd u@localhost@ShopIt_1_VUser-Profile1_1.tsd – In this name, the part “VUser-Profile1” denotes the user type. 3. From Performance Explorer, Wizard Merge Wizard; please select your Project and then the test run. Then in the next step, please select all the .tsd files and Finish. This will create an overview report for the test (with the default name like m@@.... tsd and m@@.._OVR.xml ) Then please change the name of this overview report (eg..m_overview…tsd). This is to ensure that we do not overwrite this result with the result which we will create in further steps. 4. Again from Wizard Merge Wizard Select your Project, Test Run. In the Files selection screen, uncheck the agent type files and then in the User Type Files, select the files corresponding to each user type and Finish. This will create a .tsd file (in your results folder) with name m@@...tsd . Please rename this file. Wizard Merge Wizard: File Selection screen 5. Now from Wizard Export Wizard. Please select the .tsd file created in Step 4 and name your .csv file accordingly and Finish. You will find the csv file with raw data for the selected user type exported Another way to do is: In step 4, instead of selecting the files individually, please copy all the files corresponding to one user type in one folder and then from Wizard Custom Merge Wizard Select the folder. It will create a tsd file for that user type which you can then export to a csv file. From Custom Merge Wizard, select the above folder, click Next and Finish. You will have a tsd file created which you can then export to a .csv file (from Wizard Export Wizard)
↧
Wiki Page: Export/import agent configuration settings between Silk Performer controllers
This can be achieved by the following method: Export Agent Settings: 1. Click on SETTINGS | SYSTEM | AGENT POOL 2. Click on Export Agent Pool 3. Choose to save the file to a convenient location. Import Agent Settings: 1. Close Silk Performer 2. Browse to C:\Program Files\Silk\SilkPerformer XXX\Working\AgentPools\ 3. Save the exported agent pool settings as LocalPool.xml 4. If this file already exists choose to overwrite or alternatively rename the current file. After placing the LocalPool.xml in the correct folder, it will then be required to open SETTINGS | SYSTEM | AGENTS. This will show the old Agent version number. To update this click on the 'Check Availability' button and these will be updated accordingly. In Silk Performer 2011 the folder structure changed to meet UAC compliance enhancements which were introduced in that version. Depending on the machine OS, the new location of the LocalPool.xml is: Windows 2000, XP and 2003: 'C:\Users\\AppData\Roaming\Silk\SilkPerformer 2011\AgentPools' Windows 7, Vista and 2008: ‘C:\Documents and Settings\Application Data\Silk\SilkPerformer 2011\AgentPools’
↧
↧
Wiki Page: Failed to determine whether hooking is installed. Reinstalling may solve the problem.
There are two known causes for the problem, both of which relate to the internal system registry settings. During the installation of Silk Performer, setup queries the following Registry key to retrieve the AppData folder, 32 Bit Operating System HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Common AppData 64 Bit Operating System HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Common AppData If these keys are missing or have no values assigned to them, i.e. C:\ProgramData, then setup will use a default directory, '-', during the installation process. After the installation of Silk Performer has completed and an attempt to record is made, the error message "Failed to determine whether hooking is installed..." will be displayed. To confirm this is the cause of the problem, either Access the system registry manually and check for the Registry Keys / value or Refer to the install.log (C:\Program Files (x86)\silk\Silk Performer xx). With a successful install, the following entries will appear in the log file COMMON_APP_DATA_DIR : C:\ProgramData If the Registry Keys are not specified or no value has been assigned, then the following will appear COMMON_APP_DATA_DIR : - Note the use of the default, - , directory. To resolve, ensure that The system registry contain the keys highlighted above, The keys contain the value C:\ProgramData [or C:\Program Files (x86) for 64 Bit Operating system]. If the registry keys have been added or changed after the Silk Performer installation, then a fresh install of Silk Performer is required. If the above registry keys are set correctly then you should check the value assigned to the Registry Key: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLL During a recording session in Silk Performer, the Registry Key is assigned the value of "qaphooks.dll". This Registry Key is not specific to Silk Performer and can be utilized by other tools. When other tools use the Registry Key and assign it a specific value, Silk Performer cannot overwrite the value assigned to the Registry with the qaphooks.dll value, thus leading to the error message during record. To resolve: Select "AppInit_DLLs" Right click and MODIFY In the "Value Data" section ensure that there is only one entry for "qaphooks.dll" remove any other DLLs listed (make a note of the dll before removing it as another application may use that entry.). It is best to delete the qaphooks.dll value and then re-add it, as spaces after the value have caused issues. Please take a backup of your registry before making any amendments.
↧
Wiki Page: Files are not downloaded during a Browser Driven Load Test in Silk Performer 15.5 when using Remote Agent machines
When running a browser driven load test within Silk Performer 15.5 that includes logic to download a file(s) to a local disk, i.e: BrowserSetOption(BROWSER_OPT_FILEDOWNLOAD_SAVEFILE, FILEDOWNLOAD_SAVEFILE_SAVELAST); BrowserDlgDownload(); The file will be stored within the project's results folder*. This is both true for a load test and a TryScript. There is a known issue within Silk Performer 15.5 in that the downloaded files are not written to the project’s result folder when a remote agent machine is used during test execution**. The problem lies in the agent processes (specifically the perfBrowserHost process) trying to write the file to the wrong results directory. This problem has been acknowledged as a bug and will be officially addressed with the release of Silk Performer 16.0. * For recording, files are stored in the current project folder ** The problem is only applicable when running a load test with a remote agent. Using the local machine as an agent, the downloaded files will be correctly stored within the results directory.
↧
Wiki Page: Files with .ltcaz extension in the results folder after the test
.ltcaz files are normal zip files. This is the extension used for zipping the files on the agent side to transfer to the Controller machine after a test has finished. If you need the agent results, for example if you wish to merge results files, the .ltcaz files can be unzipped using a standard tool like 7-zip if necessary.
↧
Wiki Page: Flash Remoting script fails with "WebEngine: 79 - Fatal error inside the Transform dll, Exception in TransformBegin()".
WebPagePost(WebEngine: 79 - Fatal error inside the Transform dll, Exception in TransformBegin()) This error can occur on replay of a Flash Remoting script and is caused by a known issue in SilkPerformer 6.6. It can be rectified by installing a patch, or by upgrading to SilkPerformer 7.0 (available March 2005). Issues resolved in this patch are: Form submissions using a content-type other than application/amf. The decoding of date fields containing a date before 1970-01-01 will fail and all server responses (using content-type: application/amf) containing such dates will not be converted correctly. Flash Remoting support forms part of SilkPerformer's Enhanced Web Support; a user can verify that Flash Remoting is being used by searching the script for the following function: FlashRemotingTransformation( true ; For more details on Silk Performer's Flash Remoting support please review the chapter below: START | PROGRAMS | SILKPERFORMER x.x | DOC | ADVANCED CONCEPTS BOOK - Load Testing Flash Remoting Applications
↧
↧
Wiki Page: Forcing the scripting of a HTTP parsing function using a recording rule without a corresponding hit for the value in the script
HTTP parsing rules work on the following basis: During recording, each server response is parsed for rule hits. These are the string values located by the recorder using the search criteria in the HTTP parsing rule which are retained for future use. When the Recorder later attempts scripts a string value, it examines all rule hits and determines a set of script hits, non-overlapping strings that match the rule hits. The Recorder then scripts the necessary parsing functions and variable replacements. There are circumstances where it may be useful to automatically parse a value using a recording rule where there is no occurrences of this value to be replaced in the script. There is an undocumented ScriptGen attribute ForceScripting that forces the scripting of parses without a matching string value in the script. The following example rule shows how to use this attribute: ForceScripting.zip
↧
Wiki Page: Form Data tab in a TrueLog does not display the data for a form post
When the form post is implemented in a BDH function file outside of the main BDF script file, the "Form Data" tab in the TrueLog will not show any data; you should check the "out-data" tab in these circumstances. When the form post is implemented in the main BDF script file, then the "Form Data" tab in the TrueLog will show the data as expected.
↧
Wiki Page: Getting an ‘Agent Locked’ message when manually assigning agents
Silk Performer 2010 SP1 may report the message "Assignment of load to agents has failed because at least one of the agents is locked, unavailable, or has insufficient capabilities." if agents are configured using IP Addresses in the Agent Pool. As this issue only occurs when the agent's IP Addresses are used instead of a Host Name in the Agent Pool configuration specifying the Host Name can be used as a workaround. This will be addressed in a future version of Silk Performer
↧