コード例 #1
0
 def teardown(self):
     teardownSteps = get_templateSteplistByTab(
         GlobalConfig.TestCaseFilePath, TearDown="True")
     if teardownSteps:
         self.excute_step_with_StepsTemplate(teardownSteps)
     stepvaluepool = StepValuePool()
     stepvaluepool.clear_all()
コード例 #2
0
ファイル: demoLogin_step.py プロジェクト: zhangyin2088/py3Gat
 def demoLoginSucStep(self, parameterID):
     stepParameters = ParameterHelper.getStepParameters(parameterID)
     parameters = stepParameters["Parameters"]
     #下面的这两句用来从上一个接口获取参数,如果xml里没写这个参数就试着去参数池子里找(池子里的参数是之前的步骤存的)
     parameters["mobile"] = ParameterHelper.get_selected_param(
         parameters, "mobile")
     parameters["ticket"] = ParameterHelper.get_selected_param(
         parameters, "ticket")
     print("Params: {}".format(parameters))
     expect_result = stepParameters["Expect"]
     if expect_result == None:
         expect_result = {"code": 0}
     #signed_params = sign_method_name(parameters) #demo不提供签名方法,框架xml里加了join_sign前缀的参数才参与签名
     #res_txt = requests.get(self.url, signed_params)  #http(s)的接口就直接用requests库了
     #res_dict = json.loads(res_txt.text) #拿到实际结果
     res_dict = {
         "code": 0,
         "message": "success",
         "result": {
             "token": "test_token",
             "info": "test"
         }
     }  #demo不实际发送,直接定义一个返回结果
     valuepool = StepValuePool()
     valuepool.put_value("token",
                         res_dict["result"]["token"])  #把token存起来给别的接口用
     AssertHelper.assert_dict_contain_after_logging(expect_result,
                                                    res_dict)  #框架提供的断言包含方法
コード例 #3
0
    def get_selected_param(params, key):

        if key in params:
            return params[key]
        if "join_sign" in params:
            if key in params["join_sign"]:
                return params["join_sign"][key]

        valuepool = StepValuePool()
        return valuepool.get_value(key)
コード例 #4
0
    def setup(self):
        stepvaluepool = StepValuePool()
        setupSteps = get_templateSteplistByTab(GlobalConfig.TestCaseFilePath,
                                               SetUp="True")

        if setupSteps:
            self.excute_step_with_StepsTemplate(setupSteps)
コード例 #5
0
    def demoPreLoginSucStep(self,parameterID):
        '''
        :desc:这个方法一般用来跑我们期望成功的case,参数里不写手机号时支持随机生成,整个接口成功后把ticket存起来给后其他接口用
        :param parameterID: 就是每一组testcase里的每个step里的parameterID,代表一组参数
        '''

        stepParameters = ParameterHelper.getStepParameters(parameterID) #框架封装好的根据paramterID解析出该组参数的方法
        parameters = stepParameters["Parameters"] #取出要发送的参数部分
        if "mobile" not in  parameters:           #如果参数里没有手机号,则用框架提供的方法随机生成一个,动态覆盖更多情况
            parameters["mobile"] = int(random_phone())
        print("Params: {}".format(parameters))
        expect_result = stepParameters["Expect"]  #取出期望结果部分
        if expect_result == None:              #有的参数可以同时用于成功或失败的方法,没有写期望结果,我们就赋一个默认值
            expect_result = {"code": 0}
        #signed_params = sign_method_name(parameters) #对参数进行签名加密等,demo不提供签名算法
        #res_txt = requests.get(self.url, signed_params)  #http(s)的接口就直接用requests库了
        #res_dict = json.loads(res_txt.text) #拿到实际结果
        res_dict = {"code": 0,"message": "success","result":{"ticket": "i'm a ticket", "info": "test"}} #demo不实际发送,直接定义一个返回结果
        valuepool = StepValuePool() #框架提供的单例模式的进程池
        valuepool.put_value("mobile", parameters["mobile"]) #把手机号存起来给后面的接口用
        valuepool.put_value("ticket", res_dict["result"]["ticket"]) #这里把ticket存起来
        AssertHelper.assert_dict_contain_after_logging(expect_result, res_dict) #框架提供的断言包含方法
コード例 #6
0
    def set_params(params,key,value):
        if params == None:
            params = {}
        params[key] = value

    @staticmethod
    def set_join_sign_params(params,key,value):
        if params == None:
            params = {}
        if "join_sign" not in params:
            params.setdefault("join_sign")
            params["join_sign"] = {}
        params["join_sign"][key] = value


if __name__ == '__main__':
    params = {'join_sign': {'status': 1, 'uid': '154353'}, 'start_ts': 1560000000}
    key = 'order_id'
    valuepool = StepValuePool()
    valuepool.put_value("order_id", "1222")
    valuepool.put_value("product_id", "1212121")
    print(valuepool.get_value("order_id"))
    params["join_sign"]["order_id"] = ParameterHelper.get_selected_param(params,key)
    print(params)






コード例 #7
0
 def teardownfinal(self):
     stepvaluepool = StepValuePool()
     stepvaluepool.clear_all()