From 70b5d1e5c2a83e4ce27951516e5e5e631bc16f26 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 15 Nov 2021 19:13:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90mock?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/mock | 2 ++ scripts/postman/mocking.py | 15 ++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/bin/mock b/bin/mock index 38b182a..7a9f8ca 100755 --- a/bin/mock +++ b/bin/mock @@ -9,3 +9,5 @@ import mocking workDir = os.getcwd() mock = mocking.Mocking(workDir) mock.convert() +if len(sys.argv) > 1 and sys.argv[1] == 'run': + os.system('newman run ' + mock.getOutFileName()) diff --git a/scripts/postman/mocking.py b/scripts/postman/mocking.py index 212cae2..18fd72e 100644 --- a/scripts/postman/mocking.py +++ b/scripts/postman/mocking.py @@ -33,7 +33,7 @@ class Mocking(object): self._out() def _out(self): - wf = open(self._workDir + self._env['name'] + '.postman.json', 'w') + wf = open(self.getOutFileName(), 'w') wf.write(json.dumps(self._projObj, indent = 4)) wf.close() @@ -75,6 +75,11 @@ class Mocking(object): 'type': 'text/javascript' } }) + for key, val in self._getArgs(item['url']).items(): + itemObj['request']['url']['query'].append({ + 'key': key, + 'value': val[0], + }) for param in item['params']: itemObj['request']['url']['query'].append({ 'key': param[0], @@ -104,3 +109,11 @@ class Mocking(object): def _getPath(self, url): parsed_tuple = urlparse.urlparse(url) return [path for path in parsed_tuple.path.split('/') if path != ''] + + def _getArgs(self, url): + parsed_tuple = urlparse.urlparse(url) + args = urlparse.parse_qs(parsed_tuple.query) + return args + + def getOutFileName(self): + return self._workDir + self._env['name'] + '.postman.json'