How to Setup and Install Automation Hosts
We’re going to turn on the automation integration for a brand-new project. This is the new project. I’m going to go to the gear icon, click Automation Settings, and turn them on. This allows me to create automation tests. I may have to add mapping depending on what kinds of tests I’m uploading, but we can get back to there later.
The next step that I have is to actually set up an automation host. There’s a couple ways you can get to this. One is clicking the Download Resources icon in qTest Manager, and then going to Test Automation Scheduling. Here you can download the automation agent tool.
You can also just do a search for download automation host. In this example, I’m going to install this on a Linux machine. Let’s go ahead and download the Linux version and while it’s that’s downloading I’ll pause.
The next step is to upload that package that I just downloaded from the support site to my Linux test machine. I have a command line that looks something like this. I’ll go head and send over the package and this will take a little bit to copy.
What I did on the Linux machine is I just have two folders on my home directory, one called host because I’m going to set up a couple of hosts on this machine mostly for demo purposes. You might have one per machine. You could also do this within a Docker container. The other is a folder for my repositories.
I’m going to go into my repository folder just to set up some examples. On our QASymphony GitHub site, we host a number of example repositories, and I’m going to first run the JUnit repository.
I’m still in my repository folder, and will use this later when I set up the automation hosts. Since this is a large package that will take awhile to install, I’ll go to the support site and find the instructions for installing on Linux.
On our support site, we have an upgrade and fresh install sections.
Now we have the package uploaded to the server in this location. I would like to extract it based on the following the instructions. I’m just going to do this in the host directory instead of where the instructions have designated. You can certainly do it in either place.
The next step is to go into the directory and then I need to get the qTest API token. In this case, I’m actually not going to log in as a Site Administrator. Rather, I’m going to log in as a user, and expand the token section to use it.
Let’s get the API key that I can use as a token. I’ll look back at the instructions. And I’m going to need to copy that into the configuration in the command line here. There are a lot of options to config but I don’t have to fill them all out. The support article has a description of what all the options are here, so here’s a good example of what I’m setting up.
I’m going to skip all the proxy stuff entirely. Let’s grab on the next instruction because we don’t need the proxy. Now, I actually just want to start the service with everything working.
I’m going to start the service again. Now, I’m not installing this as a service, it’s just gonna run in the background here. It should be started, and now I can access it from this URL. This is the IP address of the machine that I just set up, and I put it on port 9000. And I have already configured it, so it’s already connecting to https://demo.qtestnet.com. This was the API token that I put in. This was the email address that it knows is me. I can, of course, change this to my actual name.
And if I wanted to configure the service here, I could, but because we did it through the command line option. I can now you can bulk create these hosts on machines with a batch script or a shell script. So now that I have this set up, I can see this, which is, great but even more importantly than that now is that I can view in qTest Launch.
I can open up Launch. And if you recall when I started it, I called it “LinuxMain.” I have a filter here for Linux, so I can just find the one that I want. I can see it’s got the right operating system. I don’t have anything scheduled. And now what I’d like to do is create an agent to execute one of those tests.