public override void PreWebTest(object sender, PreWebTestEventArgs e)
        {
            ITestContext context = new TestContext(e, AuthenticationInfo.Authorization);

            context.Add(TestContextConst.BaseUri, e.WebTest.Context[TestContextConst.BaseUri]);
            context.SetEventArgs(e);
            e.WebTest.Context[TestContextConst.ContextKey] = context;
            //TestContext.Context = context;
            //TestContext.Context.SetEventArgs(e);

            base.PreWebTest(sender, e);
            string     loginUri     = TemplateHelper.CompileTemplate(this.Url, context);
            var        loginRequest = new LoginRequest(this.UserName, this.Password);
            IConnector connector    = new RESTConnector();
            IResponseData <LoginResponse> response = connector.Post <LoginRequest, LoginResponse>(loginUri, loginRequest);

            if (response.HasError())
            {
                e.WebTest.Stop();
                return;
            }
            e.WebTest.Context.Add(LoadTestConst.Authorization, response.Data.Authorization);
            AuthenticationInfo.Authorization = new Authorization(response.Data.Authorization, response.Data.AuthToken);

            context = e.WebTest.Context[TestContextConst.ContextKey] as ITestContext;
            context.SetAuthorization(AuthenticationInfo.Authorization);
        }
Exemplo n.º 2
0
        public void Initialize(LoadTest loadTest)
        {
            string     loginUri     = this.Url;
            var        loginRequest = new LoginRequest(this.UserName, this.Password);
            IConnector connector    = new RESTConnector();
            IResponseData <LoginResponse> response = connector.Post <LoginRequest, LoginResponse>(loginUri, loginRequest);

            if (response.HasError())
            {
                loadTest.Abort(new InvalidOperationException(JsonHelper.ToJson(response.Errors)));
                return;
            }
            loadTest.Context.Add(LoadTestConst.Authorization, response.Data.Authorization);
            AuthenticationInfo.Authorization = new Authorization(response.Data.Authorization, response.Data.AuthToken);
        }