feat: add har2case command

This commit is contained in:
debugtalk
2021-10-11 15:36:02 +08:00
parent 69e01373d3
commit a647fe67b0
2 changed files with 81 additions and 0 deletions

57
har2case/main.go Normal file
View File

@@ -0,0 +1,57 @@
package har2case
import (
"path/filepath"
"github.com/httprunner/httpboomer"
)
func NewHAR(path string) *HAR {
return &HAR{
path: path,
}
}
type HAR struct {
path string
filterStr string
excludeStr string
}
func (h *HAR) GenJSON() (jsonPath string, err error) {
ext := filepath.Ext(h.path)
jsonPath = h.path[0:len(h.path)-len(ext)] + ".json"
tCase := h.makeTestCase()
err = tCase.Dump2JSON(jsonPath)
return
}
func (h *HAR) GenYAML() (yamlPath string, err error) {
ext := filepath.Ext(h.path)
yamlPath = h.path[0:len(h.path)-len(ext)] + ".yaml"
tCase := h.makeTestCase()
err = tCase.Dump2YAML(yamlPath)
return
}
func (h *HAR) makeTestCase() *httpboomer.TCase {
return &httpboomer.TCase{
Config: *h.prepareConfig(),
TestSteps: h.prepareTestSteps(),
}
}
func (h *HAR) prepareConfig() *httpboomer.TConfig {
return &httpboomer.TConfig{
Name: "testcase description",
Variables: make(map[string]interface{}),
Verify: false,
}
}
func (h *HAR) prepareTestSteps() []*httpboomer.TStep {
var steps []*httpboomer.TStep
return steps
}

24
har2case/main_test.go Normal file
View File

@@ -0,0 +1,24 @@
package har2case
import (
"log"
"os"
"testing"
)
var harPath string
func TestMain(m *testing.M) {
harPath = "demo.har"
// run all tests
code := m.Run()
defer os.Exit(code)
// teardown
}
func TestGenJSON(t *testing.T) {
jsonPath, err := NewHAR(harPath).GenJSON()
log.Printf("jsonPath: %v, err: %v", jsonPath, err)
}