diff --git a/telemetry_tempest_plugin/scenario/test_telemetry_integration.py b/telemetry_tempest_plugin/scenario/test_telemetry_integration.py
index b908185..72b0633 100644
--- a/telemetry_tempest_plugin/scenario/test_telemetry_integration.py
+++ b/telemetry_tempest_plugin/scenario/test_telemetry_integration.py
@@ -11,6 +11,7 @@
 #    under the License.
 
 import os
+import six
 import unittest
 
 from gabbi import runner
@@ -97,10 +98,11 @@
         })
 
         with open(os.path.join(TEST_DIR, filename)) as f:
+            suite_dict = self.deunicode(utils.load_yaml(f))
             test_suite = suitemaker.test_suite_from_dict(
                 loader=unittest.defaultTestLoader,
                 test_base_name="gabbi",
-                suite_dict=utils.load_yaml(f),
+                suite_dict=suite_dict,
                 test_directory=TEST_DIR,
                 host="example.com", port=None,
                 fixture_module=None,
@@ -126,6 +128,17 @@
 
             self.assertTrue(result.wasSuccessful())
 
+    def deunicode(self, val):
+        if isinstance(val, six.string_types) and not isinstance(val, str):
+            return val.encode('utf-8')
+        if isinstance(val, dict):
+            dictionary = {self.deunicode(key): self.deunicode(val[key])
+                          for key in val}
+            return dictionary
+        if isinstance(val, list):
+            return [self.deunicode(x) for x in val]
+        return val
+
 
 def test_maker(name, filename):
     def test(self):
