mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-12 02:21:29 +08:00
1, remove PyUnitReport dependency; 2, add built-in html report; 3, support pass in html report template, in Jinja2 format.
47 lines
1.4 KiB
Python
47 lines
1.4 KiB
Python
import os
|
|
import shutil
|
|
|
|
from httprunner import HttpRunner
|
|
from tests.base import ApiServerUnittest
|
|
|
|
|
|
class TestHttpRunner(ApiServerUnittest):
|
|
|
|
def setUp(self):
|
|
self.testset_path = "tests/data/demo_testset_cli.yml"
|
|
self.reset_all()
|
|
|
|
def reset_all(self):
|
|
url = "%s/api/reset-all" % self.host
|
|
headers = self.get_authenticated_headers()
|
|
return self.api_client.get(url, headers=headers)
|
|
|
|
def test_text_run_times(self):
|
|
kwargs = {
|
|
"gen_html_report": False
|
|
}
|
|
result = HttpRunner(self.testset_path, **kwargs).run()
|
|
self.assertEqual(result["stat"]["testsRun"], 10)
|
|
|
|
def test_text_skip(self):
|
|
kwargs = {
|
|
"gen_html_report": False
|
|
}
|
|
result = HttpRunner(self.testset_path, **kwargs).run()
|
|
self.assertEqual(result["stat"]["skipped"], 4)
|
|
|
|
def test_html_report(self):
|
|
kwargs = {
|
|
"gen_html_report": True
|
|
}
|
|
output_folder_name = os.path.basename(os.path.splitext(self.testset_path)[0])
|
|
run_kwargs = {
|
|
"html_report_name": output_folder_name
|
|
}
|
|
result = HttpRunner(self.testset_path).run(**run_kwargs)
|
|
self.assertEqual(result["stat"]["testsRun"], 10)
|
|
self.assertEqual(result["stat"]["skipped"], 4)
|
|
|
|
report_save_dir = os.path.join(os.getcwd(), 'reports', output_folder_name)
|
|
shutil.rmtree(report_save_dir)
|