diff --git a/extras/hs-test/http_test.go b/extras/hs-test/http_test.go
index d2fb5a3..1cbddec 100755
--- a/extras/hs-test/http_test.go
+++ b/extras/hs-test/http_test.go
@@ -1,23 +1,17 @@
 package main
 
-import (
-	"github.com/edwarnicke/exechelper"
-)
-
 func (s *NsSuite) TestHttpTps() {
 	t := s.T()
 	finished := make(chan error, 1)
 	server_ip := "10.0.0.2"
 	port := "8080"
-	dockerInstance := "http-tps"
+
+	container := s.getContainerByName("vpp")
 
 	t.Log("starting vpp..")
 
-	s.assertNil(dockerRun(dockerInstance, ""), "failed to start docker")
-	defer func() { exechelper.Run("docker stop " + dockerInstance) }()
-
 	// start & configure vpp in the container
-	_, err := hstExec("ConfigureHttpTps", dockerInstance)
+	_, err := container.execAction("ConfigureHttpTps")
 	s.assertNil(err)
 
 	go startWget(finished, server_ip, port, "client")
@@ -29,28 +23,23 @@
 func (s *VethsSuite) TestHttpCli() {
 	t := s.T()
 
-	srvInstance := "http-cli-srv"
-	clnInstance := "http-cli-cln"
-	s.assertNil(dockerRun(srvInstance, ""), "failed to start docker (srv)")
-	defer func() { exechelper.Run("docker stop " + srvInstance) }()
+	serverContainer := s.getContainerByName("server-vpp")
+	clientContainer := s.getContainerByName("client-vpp")
 
-	s.assertNil(dockerRun(clnInstance, ""), "failed to start docker (cln)")
-	defer func() { exechelper.Run("docker stop " + clnInstance) }()
-
-	_, err := hstExec("Configure2Veths srv", srvInstance)
+	_, err := serverContainer.execAction("Configure2Veths srv")
 	s.assertNil(err)
 
-	_, err = hstExec("Configure2Veths cln", clnInstance)
+	_, err = clientContainer.execAction("Configure2Veths cln")
 	s.assertNil(err)
 
 	t.Log("configured IPs...")
 
-	_, err = hstExec("RunHttpCliSrv", srvInstance)
+	_, err = serverContainer.execAction("RunHttpCliSrv")
 	s.assertNil(err)
 
 	t.Log("configured http server")
 
-	o, err := hstExec("RunHttpCliCln /show/version", clnInstance)
+	o, err := clientContainer.execAction("RunHttpCliCln /show/version")
 	s.assertNil(err)
 
 	s.assertContains(o, "<html>", "<html> not found in the result!")
