自动化测试中,有多个用例,执行完第一个用例就停止往下执行了

问题:如图,运行完这个用例,一直在转圈圈,后面还有几个用例等待着呢

 

ide还会提示,进程等待数据这样的提示,具体报错英文忘记了,刚开始的思路是,既然进程在等待,那为啥不能直接结束进程呢,然后就按照这个思路差了半天。。。别爱我,没结果

然后和同事描述了下问题,紧跟着就debug了,最终debug的结果是,数据库查询触发了异常,关闭了数据库连接后,数据库那个进程没结束,就一直等等等~

上代码:

    def get_sql_connection(self):
        """获取数据库连接"""
        if self.db_type == 1:
            try:
                conn = SSHTunnelForwarder(
                    ('xxxxxxxxx', 22),
                    ssh_username='boarder',
                    ssh_password=r'xxxxxxxxxxxx',
                    remote_bind_address=('xxxxxxxx', 3306)
                )
                conn.start()
                connent = pymysql.connect(
                    host='127.0.0.1',
                    port=conn.local_bind_port,
                    user="xxxxxxxxxx",
                    password="xxxxxxxxxxxxx",
                    db=self.db_library,
                    charset='utf8'
                )
                return conn, connent
            except Exception as e:
                print(e)
                raise
    def db_select(self, sql):
        """
        数据库查询
        :param sql:
        :return:
        """
        print("开始数据查询,查询sql:%s" % sql)
        conn, connent = self.get_sql_connection()
        cur = connent.cursor()
        try:
            cur.execute(sql)
            result = cur.fetchall()
            cur.close()
            connent.close()
            return result
     # debug的结果显示在这触发了异常,关闭连接后,就不往下走了
except Exception as e: cur.close() conn.close()
       raise # 解决的办法就是加上raise

  raise 的作用就是手动抛出异常

这个问题就到这了,收获:遇到问题其实应该第一时间debug一下

 

posted @ 2020-11-11 10:00  绝世老中医  阅读(465)  评论(0编辑  收藏  举报