Is the free version really free ? Is there some limitations of any kind?

Yes, it is free. The only limitation of the community edition is the number of users supported (10) and the number of tests (1000). Which should be enough for small companies/projects or proof of concepts. The commercial editions do not have any limitation, have a many more extra features and include support and unlimited updates.


Why is the free version free?

We believe in the model where a program is free so that students, startups, micro-companies can use it without any expenses. Companies that need more professional features and that care about support and availability can purchase Commercial Licenses from XQual.
XQual is also making money by providing services and advertising on the "not supported" copies. This allows us to keep up the good work.


I found a bug. Where can I submit it?

Bugs can be reported through the dedicated forum. The community may answer to the question and help you on this. If you purchased a Commercial License, you can directly contact support@xqual.com to get an quick answer and/or a bug-fix.
In any case please activate activate the traces and provide these traces, indicate the exact version you're running, the client OS. It's also a good idea to check first the integrity of your database by clicking on the menu item Tools > Check database integrity


How do I get the log of XStudio?

With the standalone version of XStudio (or any other executable), instead of executing xstudio.exe you can start xstudio_console.exe. A DOS box will automatically popup and will display the traces.
Increasing the screen buffer size (Properties > Layout > Screen Buffer Size > Height = 9999) of the window is a good idea as the default value is pretty small.


With the web package, you need to activate the java console to see the log:
But the screen buffer size is also pretty small and it's advised to activate the tracing so that a trace file is automatically created for you.
To activate the traces:
Windows start menu > Control Panel > Programs > Java > Advanced > Debugging > Enable tracing
Windows start menu > Control Panel > Programs > Java > Advanced > Java Console > Show console





Note: If in addition you enable the logging feature (available from the same settings panel), the log file is generated in:
Windows XP:%HOME%\Application Data\Sun\Java\Deployment\log 
Windows 7/Vista:%APPDATA%\..\LocalLow\Sun\Java\Deployment\log 
Linux/Solaris:%HOME%/.java/deployment/log 

The log file name includes random characters and is similar to javaws1287369374028910351.trace.


I have Vista and I cannot run XStudio, what's the problem?

Starting with Vista, programs are no longer allowed to write into the Program Files path. If a program attempts to write anywhere into Program Files, a permission denied error will occur. Unfortunately, XStudio writes all its data (i.e. xstudio.conf or bugtracking.conf) there.

There are 3 ways to workaround it:
  • 1) Use the web package: this avoid all sort of problem as there is no install to do client side
  • 2) Install XStudio on a folder with no security limitation (i.e. C:\Users\<your account>)
  • 3) Disable Vista's security features To do so, disable the UAC of the system. To do this, follow this procedure:

    • In the Control Panel, click User Accounts and Family Safety
    • Click User Accounts
    • Click Turn User Account Control off
    • Click on OK
    • When prompted, restart the computer (the changes will affect all users on the computer)
    • Re-install XStudio

If you still have problems running XStudio, copy the file xstudio.conf and bugtracking.conf to:
C:\Users\<username>\AppData\Local\VirtualStore\Program Files\Xqual\Xstudio\bin\


I cannot make XStudio work from the web server. What Am I doing wrong?

  • First thing is to check your firewall authorizes you to connect to outbound port 3306. To verify this, you can run PortQryV2. (it's a free port scanner made available for free by Microsoft) with the following command line PortQry.exe -n <server name or IP address> -e 3306. If you firewall is correctly configured you should get an output similar to:

    c:PortQryV2>PortQry.exe -n 176.58.90.219 -e 3306
    Querying target system called:
    176.58.90.219
    Attempting to resolve IP address to a name...
    IP address resolved to xqual7.xqual.com
    querying...
    TCP port 3306 (unknown service): LISTENING
    


    Alternatively, you can also use the command telnet <server name or IP address> 3306. If you get garbage characters it means the firewall is ok.
  • Check in the xstudio.conf file that you're using a real resolvable name or a valid IP address for the database_server parameter. Do NOT use localhost or 127.0.0.1

  • Check that the database_server parameter in xstudio.conf and the codebase attribute in xstudio.jnlp are identical.

  • Check you do not have extra leading or ending space in the parameter's values in xstudio.conf

  • If the standalone version works fine (you can start XStudio, login and use it), you can:
    • Copy xstudio.conf to your web server install (overwrite the default one in the bin directory)
    • Copy the JDBC driver you're using in the standalone version to the web server as well (in bin/jdbc directory)


  • This can be due to one or several corrupted packages (i.e. because of a network failure during the download), so you can try to clear the Java cache to force the system to download all the resources again:
    Windows start menu > Control Panel > Programs > Java > General > Temporary Internet Files > View...
    Select "Applications" in the "Show" drop-down menu, select all the XStudio instances, delete them
    Select "Resources"in the "Show" drop-down menu, select everything and delete
    Restart XStudio normally...

  • In some cases, this may be due to DNS issues. Of course the proper solution is to fix the problem on your company DNS server but a workaround is to insert the server anem into your local /etc/hosts (on linux) or %systemroot%\system32\drivers\etc\hosts
  • (on Windows) file.

  • It can also be due to networking issue. One thing people sometimes need to do is to change the network settings of their Java client:
    Windows start menu > Control Panel > Programs > Java > General > Network Settings > Network Settings....
    It may be needed to select Direct Connection instead of Use Browser Settings or vice-versa. In some other cases, it may be necessary to set the company proxy settings manually.

  • If your client computer does not have much RAM you can reduce the maximum heap size in the JNLP configuration on the server.
    Edit xstudio.jnlp and lower the max-heap-size value. i.e. max-heap-size="512m".

  • In some computers, JNLP may prefer to use the IPv4 stack to communicate with the server. You can try to edit xstudio.jnlp and set the java.net.preferIPv4Stack to true. i.e. your j2se parameter may look like: j2se version="1.7" href="http://java.sun.com/products/autodl/j2se" java-vm args="-Djava.net.preferIPv4Stack=true".

  • You may also try to uninstall your jre and reinstall it from http://www.java.com.



The instructions related to xstudio.conf are also valid for bugtracking.conf.


I'm getting an error when I start XStudio on Linux, what is the problem?

You need to have permission to write file in bin and exports folders. The easier is to run XStudio as root.


In my campaign, all tests are skipped (not executed), what is the problem?

You need to set all your tests as implemented. During execution, only implemented tests are executed.


XStudio is not yet localized for my language

It is very easy to localize XStudio. There is a quite simple procedure to add a custom localization described here.


Why do I get "#### Java Web Start Error" at startup time?

This means you updated your web package and overwritten your new (virgin) config files with the older one. Most of the time it works but when some new parameters are added in a release, it is not there anymore and the systems needs it. Reinstall properly the web package, start a client from your browser, edit the conf file using the GUI, save the conf file and copy it to the web package install.


The "skin" of the GUI is weird on my system. How can I fix this?

XStudio is a java application that will automatically apply to its GUI a look and feel returned by your OS. Nevertheless, on certain exotic (often linux based) GUI, the resulting skin may look "weird". In this case, you can enforce XStudio to use the cross-platform look and feel. On the linux fat client, add the following option to the java interpreter:

-Dswing.systemlaf=com.sun.javax.swing.plaf.metal.CrossPlatformLookAndFeel

If you're using the web package, you can add the following entry under the resources node of the xstudio.jnlp file:

<property name="swing.systemlaf" value="com.sun.javax.swing.plaf.metal.CrossPlatformLookAndFeel"/>


When I use the web package, my proprietary launcher does not appear in the combobox...

If you use the standalone version, XStudio can find by itself the launchers available locally on the disk. However, it you're using the web package you need to povide the list of the launchers in the bin/launchers/launchers.xml file



Since I updated XStudio my launcher is crashing or behaving weirdly. Why that?

The launchers MUST be compiled using the SDK provided with the version of XStudio running. When you update XStudio, you will very likely need to recompile your custom launcher(s) using the new SDK (even if the sources were not modified) as there may have internal symbols incompatibilties.



I've got an error from MySql: "(max = 255); Use BLOB or TEXT instead"

You're using an old version of MySql you must upgrade to the latest version.



I'm getting an exception java.lang.IlegalArgumentexception: Null input buffer. What did I do wrong?

This means you probably edited manually the xstudio.conf or bug-tracking.conf files and included plain text passwords. This is important to NEVER edit manually those files as all passwords fields must be encrypted by XStudio. If you edit manually a password you make the complete file corrupted and unreadable by XStudio.


To get back to a normal situation, edit manually (yes, that's an exception!) the file and give the following value for all the passwords you manually edited: 0102030405060708A1A2A3A4A5A6A7A8. This of course corresponds to a wrong password but will make the configuration file valid again and XStudio will make you possible to change this password later through its GUI interface.


Using the web package an Invalid classpath is reported for the jdbc driver!

This probably means your local network requires using a proxy.
You need to activate it from the java control panel: Windows start menu > Control Panel > Programs > Java > General > Network Settings > Network Settings...


Many of my tests does not execute with message "Skipped (dependencies)". What does it mean?

There are 2 possibilities:
  • One test that is parent of many tests failed and you configured the session with the option "If a parent test has status Failed: Set child tests as not executed"
  • One test that is parent of many tests terminated with status Unknown and you configured the session with the option "If a parent test has status Unknown: Set child tests as not executed"
You can find this configuration setting in Campaign session > Configuration.


I cannot create a configuration for my session

Probably you forgot to set a launcher for the categories hosting the tests in your session.


Many tests are skipped/not executed. Why that?

There are several possible causes:
  • Some manual tests are set as "not authored"
  • some automated tests are set as "not developed"
  • One test that is parent of many other tests failed and you selected the option: If a parent test has status failed: Set child tests as not executed (setting availabale in Session > Configuration)
  • One test that is parent of many other tests terminated with status "Unknown" and you selected the option: If a parent test has status unknown: Set child tests as not executed



I just compiled my own launcher but it does not appear in the drop-down menu

There are several possible causes:
  • You're using a standalone client: you probably did not copied the .jar and the xml of your own laucher to the launchers folder
  • you're using the web package: you need to ensure that the .jar and the .xml files of your own launcher are copied on the server in the launchers folder.
    In addition, you need to add your launcher to the launchers.xml file located on the server.



I can't upload files bigger than 1MByte. Why that?

MySql default configuration prevents from uploading files bigger than 1MByte.
In this case you may encounter errors such as:
java.sql.SQLNonTransientConnectionException: Could not send query: Connection reset by peer: socket write error or similar.


To change this, edit the file my.ini and add the configuration parameter max_allowed_packet=100M in the [mysqld] section.


Where are my attachments downloaded?

When you click on the download or download and lock button, the files are download in your system temporary directory. On windows, it is often located in C:\Documents and Settings\<your account>\Local SettingsTemp\ (this is specified in the %TEMP% or %TMP% varibale)


How do I link directly requirements with tests?

It is not possible to link directly requirements with tests. The path is requirement <-> specification <-> test. However, there is an easy trick if you do not want to handle specifications. The trick is to create and link one specification for each requirement automatically:
  • Select a folder in the requirement tree
  • click on the "Generate specifications" button
For each requirements included in the folder, a specification will be created and linked 1-1. The only thing you have to do now is to link the specifications (hence the requirements) to the tests using the standard way.


I can run XStudio only form the server hosting MySql!

It is a MySql configuration issue.
The reason for this is that you're probably using the root user to connect to MySQL (by default, MySQL does give permission to root to connect only locally). You should create a new dedicated user having the permissions to connect from any remote location (and only to xstudio_db database).
  • Launch the MySQL Administrator tool on the system hosting the database server
  • Select the User Administration option
  • Right-click in the bottom left hand corner of the window and select Add new user
  • You can check that the temporary name of the user is "New user@any host"
  • Enter the credentials of this new user: name=xstudio and password=xstudiopwd
  • Select the Schema privilege tab
  • Click on the xstudio_db database item and grant all the rights to this user by pressing <<
  • Validate and exit the MySQL Administrator tool
  • Restart XStudio from the remote host and provide the new xstudio user credentials in the connection settings dialog


If you wish to keep on using the root user (it's not recommended), you can resolve the issue by executing the following actions:
  • Launch the MySQL Administrator tool on the system hosting the database server
  • Select the User Administration option
  • Right-click on the root user and select Add Host
  • Add the host name or IP address of the remote host to which you wish to allow connections
  • Validate and exit the MySQL Administrator tool
Once root has the appropriate privileges to connect from the specified host it should be possible to connect the MySQL Administrator client to the database server



My JDBC driver is not recognized on MacOSX

The jdbc driver must be copied in <Install dir>/xstudio.app/Contents/Resources/Java/bin/jdbc.


Why can't I generate reports with the web package?

You probably used a unzip files which unzipped the package but also the zip included in the zip. The web package includes a export.zip file that MUST be left zipped.


My MySql server's performances are degrading with time. Is there a way I can improve this?

Depending on your setup, you may need to polish your MySql server for better performances and scalability.
It's a good idea to run the MySql Server Instance Config Wizard (delivered with MySql) and follow the instructions. This will set the best settings for your configuration.


In addition/Alternatively, you can manually set a few parameters (in my.ini) such as:
[mysqld]
max_connections=256 (can be increased if needed)
query_cache_size=20000000 (which means 20MBytes)
thread_cache_size=32
innodb_buffer_pool_size=128M (<75% of the total addressable RAM on dedicated database server)
innodb_thread_concurrency=32



From mysql admin in startup variables >> innodb >> increase mem pools size to 30MBytes inside startup variables change >> general parameters >> memory usage >> KEY BUFFER to 64Bytes


Why couldn't I connect to the server?

If your network use a proxy to connect to the internet, you need to set this up as well for Java:
Windows start menu > Control Panel > Programs > Java > General > Network settings > Network Settings...


Why after I updated then rollbacked, I do not see the original version of my web xstudio?

The Java cache is the cause and you need to clear the cache: Windows start menu > Control Panel > Programs > Java > General > Temporary Internet Files > View...
Select "Applications" in the "Show" drop-down menu, select all the XStudio instances, delete them
Select "Resources"in the "Show" drop-down menu, select everything and delete
Restart XStudio normally...


How to avoid the error "Incorrect arguments to mysqld_stmt_execute"?

This error is very likely due to a bug in the SQL driver you're using. Many bugs have been reported on JConnector about it. Please, update with the latest version of JConnector. It will fix the issue.

Is there any way to speed up the startup time of XStudio?

Yes there is. If you have a large number of tests/test cases and you use the test procedures, you can disable the Testplan Autocompletion feature (from the settings). This will speedup considerably the startup time.

Why can't I connect my client on windows7?

By default, the Windows7 integrated firewall prevents from going through port 3306. To fix the issue, customize the firewall rules or disabled the firewall.

Why do I get an exception when I try to open a JIRA bug?

Apache Proxy must be prohibited as it block the communication with JIRA web server.

Why do I get sometime an error 1040?

This means your MySql server is refusing new connection. You can increase the maximum number of simultaneous connection accepted by MySql (in my.ini):
[mysqld]
max_connections=1000 (can be again increased if needed)

Why my client is so slow to boot now?

You probably have the "testplan auto-completion" configuration parameter set on!
The auto-completion feature requires to index all the steps already used in the past and this is a very time-consuming task. This is working fine with small database but if you're having a big one, this is not advise to leave it on.

Some rows are displayed in XStudio while they do not exist anymore in my Oracle DB. Why?

There may be several reasons but anyway the origin of the issue but in this case you need to clear Oracle's cache:
alter system flush buffer_cache; alter system flush shared_pool; on the right tablespace and you'll be fine.

I'm using a MySql server hosted in the cloud. Is it possible to encrypt all the communication to this MySql server?

Sure, you can secure your MySql data communication by using SSL encryption on your MySQL server.

I've got errors reported with utf8mb4, what's the problem with my MySql server?

Your MySql server is fine. Just downgrade your Connector/J to the version 5.1.12 and you'll be fine. You can find this version in our repository.

I'm getting FailedDownloadException when I try to run XStudio!

It means that you can't download the resources necessary to run XStudio.
If your apache server and you MySql server are hosted on the same computer, check that you have the same IP@ or name in:
  • the URL you're browsing
  • xstudio.jnlp
  • xstudio.conf
Try to avoid using localhost or 127.0.0.1 this often brings confusion.

MySQL service stops automatically. What does it mean?

Look at your mysql.err log.
If you find in this log the Database page corruption on disk statement it means some pages in the Innodb tablespace got corrupted. This can be due to several reasons such as bug in your hardware (i.e. Hard-disk), driver bug, kernel bug, unlucky power failure and even some rare MySQL bug.

More information about this issue here:
Recovering MySql innodb tables

I lost my admin password and do not have any other account with admin right. How can I recover my password?

You can't do it from XStudio (hopefully or it would be a major security hole!).
You need to ask your database administrator to manually update the column user_password of the user admin in the table table_user with the value:
984F1197F84B21DDA2A631F72F9D082501B4FA1AA3798DC420A26ADE0B8792504325EBD701.
This procedure restores the default admin password: password.

XStudio is used from several distant sites, how can I improve the performances?

When several sites are accessing the same physical MySql server, the distant sites may experience performances issues.

To resolve that, database server software can be configured to have several database servers synchronized together so that each site uses his own local server but also benefits real-time from the other connected database servers.

Oracle and SQLServer have similar features.

I'm using the web package; how can I run automatically at startup my XStudio or XAgent?

It's a good idea to use the web package as it will ensure you to be always up to date. First thing to note is that you can create a shortcut (i.e on your desktop or in the quick launch bar) to XStudio or XStudio web version from the control panel: Windows start menu > Control Panel > Programs > Java > General > Temporary Internet Files > View... > Install Shortcut

You can also use this command line:
<Java Install Folder>/bin/javaws.exe -localfile -J-Djnlp.application.href=http://<server>:<port>/XSTUDIO/bin/xstudio.jnlp (same applies for xagent.jnlp)

Email notification are not working. What's wrong?

Of course you need to double-check with your IT the email configuration parameters. You can set from the menu.
We also observed that with some specific versions of Antivirus, the notifications were blocked.

Got an ClassDefNotFoundException. What does it mean?

It very likely indicates you updated but not following the documentation. The mistake you probably did was to backup your .jnlp (or .php) file and restored it after the update. If the new version includes new libraries, they are then erased from the .jnlp when your restore the original one hence the exception.

You should never overwrite a .jnlp with a backuped version as this is hidding possible necessary changes. Instead, just edit the new .jnlp and edit it to update the codebase attribute (that you can copy from your backup).

SQLException: The user specified as a definer ('root'@'%') does not exist

This is due to the fact the user who originally created the data in the database has been deleted (in this case the user 'root'). If you re-create that user, it should address your error.

Exceptions during connections

If you get execption such as:
java.lang.RuntimeException: java.lang.NullPointerException at com.mysql.jdbc.JDBC4Connection$1$1.run(JDBC4Connection.java:106) Caused by: java.lang.NullPointerException at com.mysql.jdbc.ConnectionImpl.abortInternal(ConnectionImpl.java:1240) ... This is due to a bugged JDBC driver. Just use MariaDB client! it rocks, works with MySql and have better performances than MySql's native connector. MariaDb's client is provided by default in XStudio's packages.

max_questions reached! What does it mean?

If you get exception such as mentioning "exceeded the ‘max_questions’ resource" it means your MySQL or MariaDB server is configured with a too small number of queries per hour for the user account XStudio is using.
You can change this by running these commands on your server: use mysql update user set max_questions = 0 where user = 'xstudio'; flush privileges;

I can't find my xstudio_measured_integrity.dat file? where can I find it?

It depends from the OS of your computer. The best is to activate the traces then, run a integrity check from the menu (Tools > Check database integrity).
When the integrity check process is completed, check out your traces to see where is saved the xstudio_measured_integrity.dat file:
...
{00:00:08.617} [thread utils  ]  theoretical database description nb characters: 75740
{00:00:08.617} [thread utils ] destination folder: C:\Users\Paul\AppData\LocalTemp {00:00:08.627} [write file ] writing in once in xstudio_measured_integrity.dat...
{00:00:08.627} [write file ] setting write file to xstudio_measured_integrity.dat... {00:00:08.627} [write file ] deleting file C:\Users\Paul\AppData\Local\Temp\ xstudio_measured_integrity.dat... {00:00:08.627} [write file ] writing in file C:\Users\Paul\AppData\Local\Temp\ xstudio_measured_integrity.dat... {00:00:08.627} [thread utils ] generated measured integrity file: C:\Users\Paul\AppData\Local\Temp\ xstudio_measured_integrity.dat {00:00:08.627} [thread utils ] sending email about integrity... {00:00:08.627} #thread # constructing thread... ...

I deployed the VM but the automatic backup does not seem to work

It looks like an update of MySQL corrupted in some way the xstudio user authorization in some specific versions of our VM.
At the end, the xstudio user cannot connect anymore from localhost which prevent the automatic backup to function properly.


To fix that, please connect to the webmin interface of the VM (https://<ipaddr>:12321), open the MySQL Database Server management module (from the menu: Servers > MySQL Server Database) and do the following:


  1. From the User Permissions module delete the xstudio user
  2. Re-create the xstudio user with the following settings:




  3. Open the database permissions module and add the following database permissions:




  4. Restart MySql by executing the service mysql restart command in a terminal.


That should fix the issue and automatic backup will be back.