package imitate import ( "log" "reflect" "testing" "474420502.top/eson/curl2info" ) func TestExecute(t *testing.T) { curl := `curl 'https://appgrowing.cn/' -H 'authority: appgrowing.cn' -H 'cache-control: max-age=0' -H 'upgrade-insecure-requests: 1' -H 'user-agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1' -H 'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' -H 'accept-encoding: gzip, deflate, br' -H 'accept-language: zh' -H 'cookie: _ga=GA1.2.1371058419.1533104518; _gid=GA1.2.896241740.1543307916; _gat_gtag_UA_4002880_19=1' -H 'if-none-match: W/"5bf7a0a9-ca6"' -H 'if-modified-since: Fri, 23 Nov 2018 06:39:37 GMT' --compressed` u, err := curl2info.ParseRawCURL(curl) if err != nil { panic(err) } resp, err := u.CreateWorkflow(nil).Execute() if err != nil { t.Error("TestExecute") } else { log.Println(resp.Content()) } } type Toutiao struct { Task } func (tt *Toutiao) Execute() { resp, err := tt.Request() log.Println(resp, err) } func TestExecutePlan(t *testing.T) { Register("toutiao", Toutiao{}) person := NewPerson() person.LoadConfig("test.yaml") log.Println(person.Tasks, reflect.TypeOf(person.Tasks[0]), person.Tasks[0].GetCurl()) person.Execute() t.Error("") // for _, task := range person.Tasks.GetLoopValues() { // task.GetValue().(*Task).ExecuteOnPlan() // } }