2021-04-29

Python 小记

1 传参-数组里包含字典

  1. 需要传的参数
    在这里插入图片描述

  2. form文件

from wtforms import Form, StringField, FieldList, FormField, IntegerField

class QuickReplayContentDetail(Form):
    msgType = IntegerField('msgType', default=1)
    msgContent = StringField('msgContent', default="uuu")

class SardineReplyPersonAddQuickReplyForm(Form):
    # 集团id
    cliqueId = StringField('cliqueId')

    # 标题
    title = StringField('title')

    # type类型
    type = StringField('type')

    # groupName 组名
    groupName = StringField('groupName')
    
    # content 内容
    content = FieldList(FormField(QuickReplayContentDetail), min_entries=2)

print(SardineReplyPersonAddQuickReplyForm().data)

  1. case里引用

from wtforms import StringField

from src.cases.BaseCase import BaseCase
from src.common.enums.CliqueEnum import CliqueEnum
from src.common.enums.ResponseEnum import ResponseEnum
from src.common.enums.ServiceNameEnum import ServiceNameEnum
from src.forms.reception_center_forms.quickReplyForms.SardineReplyPersonAddQuickReplyForm import \
    SardineReplyPersonAddQuickReplyForm
from src.mapper.SardineQuickReplyMapper import SardineQuickReplyMapper


class SardineReplyPersonAddQuickReplyCase(BaseCase):
    # 刷新接待中心
    ServiceName = ServiceNameEnum.SARDINE_SERVICE_NAME.value
    method = '/api/sardine/reply/person/addQuickReply'

    def test_case_1(self):
        """
        :author:木兮
        :level: 0
        :title:
        :premise: 
        :step:
        :result:
        :time:2021/4/29 10:20
        """
        form = SardineReplyPersonAddQuickReplyForm()
        form.cliqueId.data = CliqueEnum.CLIQUE_ID.value
        form.title.data = '我是标题'
        form.type.data = ''

        # 分组名,从数据库获取(这里选择了已有分组)
        groupNameSqlId = SardineQuickReplyMapper()
        groupName = groupNameSqlId.queryQuickReplyGroupName()[0]
        print(groupName)
        form.groupName.data = groupName

        # content
        form.content[0].msgType.data = 2
        form.content[0].msgContent.data = 'hhh'
        print(form.data)

        
        response = self.service.post(self.ServiceName, self.method, form.data).json()
        self.assertEqual(response.get('code'), ResponseEnum.CODE_SUCCESS.value)

2 连接数据库

  1. mapper文件
import pymysql
import traceback

from src.common.enums.HostEnum import HostEnum


class SardineQuickReplyMapper:
    def __init__(self):
        self.connection = pymysql.connect(host='xxxx.mysql.rds.aliyuncs.com',
                                          user='xxxx',
                                          password="xxxx",
                                          database='sardine_qa',
                                          charset='utf8')

    def insertAutomationTask(self, value):
        try:
            insert_sql = "INSERT INTO ht_automation_task_info (environment, group_id, project_name, build_id, builder, git_branch, commit_detail, total_case, pass_case, pass_rate, fail_case, skip_case, task_begin_time, task_total_time) \
                           VALUES ('%s', '%s','%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', str_to_date('%s','%%Y-%%m-%%d %%H:%%i:%%s'), '%s')"
            with self.connection.cursor() as cursor:  # 建游标
                cursor.execute(insert_sql % value)
                self.connection.commit()
        except Exception:
            traceback.print_exc()
            self.connection.rollback()

    def queryQuickReplyGroupName(self):
        query_sql = "SELECT group_name from reply_group WHERE customer_id = '94797356278390784' and status=1"
        try:
            with self.connection.cursor() as cursor:
                # cursor.execute(query_sql % (build_id))
                cursor.execute(query_sql)
                return cursor.fetchone()
        except Exception:
            traceback.print_exc()

    def updateTaskByBuildId(self, build_id, values):
        """
        根据构建id更新构建结果
        :param build_id:
        :param values:
        :return:
        """
        try:
            list_values = list(values)
            list_values.append(build_id)
            tuple_values = tuple(list_values)
            update_sql = "UPDATE ht_automation_task_info " \
                         "SET environment='%s', group_id='%s', project_name='%s', build_id='%s', builder='%s', " \
                         "git_branch='%s', commit_detail='%s', total_case='%s', pass_case='%s', pass_rate='%s', " \
                         "fail_case='%s', skip_case='%s', task_begin_time=str_to_date('%s','%%Y-%%m-%%d %%H:%%i:%%s'), " \
                         "task_total_time='%s'" \
                         "WHERE build_id='%s'"
            with self.connection.cursor() as cursor:
                cursor.execute(update_sql % tuple_values)
                self.connection.commit()
        except Exception:
            traceback.print_exc()
            self.connection.rollback()

    def closeConnect(self):
        self.connection.close()

  1. case里引用
      # 分组名,从数据库获取(这里选择了已有分组)
      groupNameSqlId = SardineQuickReplyMapper()
      groupName = groupNameSqlId.queryQuickReplyGroupName()[0]
      print(groupName)
      form.groupName.data = groupName
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值