一、手工测试流程:
1、测试需求(待执行用例)
2、标准化测试流程
1/5
--修改 result_info
--用户风控信息表
select sysdate,t.*,t.rowid from finser.td_s_cro_account t
where t.cro_id = 14 and user_name = '王亮'and user_phonetel='13986671119'
order by t.create_time desc; --修改后提交
commit;
2/5
Delete from finser.TD_S_CRO_ACCOUNT_HANDLE_RECORD a where a.name = '王亮';
commit;
3/5
UPDATE finser.cf_loan_release a SET a.status = 50 WHERE a.order_no ='MFJK-SJInTest2021-11-05-05-39-20-1' ;
commit;
4/5(可选)
--切时间后提现超时执行以下脚本 UPDATE finser.cf_main_control b SET b.status =10 WHERE b.status = -1 and b.order_no ='MFJK-SJInTest2021-11-05-05-39-20-1' ;
commit;
5/5
--查看是否命中
--用户风控记录表,查看REMARK
select sysdate,t.*,t.rowid from finser.TD_S_CRO_ACCOUNT_HANDLE_RECORD t
where name ='王亮'
order by t.create_time desc;
3、流程重复性说明
1/5,2/5,3/5,5/5为重复操作
1/5修改变量的值;5/5查看结果
二、解决方案研究
import requests
import json
import unittest
import HTMLTestRunner
#- [x] sqlplus finser/finser2015X@//10.139.39.43:1524/sjw2
import pandas as pd
import time import pymysql
import cx_Oracle
#解决乱码问题
import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8' id1=18 #风控id
bianliang = 'ir_m3_cell_x_name_cnt' #B环境
# myydb =cx_Oracle.connect(host = '10.139.39.43',user = 'finser',passwd = 'finser2015X',port=1524,database ='sjw2',charset='utf-8' )
#A环境
mydb=cx_Oracle.connect("finser/finser2015X@//223.203.128.4:15331/sjw1")
mycursor = mydb.cursor() #1/5
'''
如何更改clob类型的数据,以下可以读取出来,但是更新不成功???
'''
sql = " select t.RESULT_INFO from finser.td_s_cro_account t where t.cro_id = {0} and user_name = '王亮'and user_phonetel='13986671119' ".format(id1)
mycursor.execute(sql)
pram = []
for i in mycursor:
text = i[0].read()
pram.append(text)
# print('text:',text)
# print('pram:',pram)
print('text的类型:',type(text)) #text的类型: <class 'str'>
print('pram的类型:',type(pram)) #pram的类型: <class 'list'> dict1 = eval(text) #将字符串类型数据转变为字典类型
print('dict1的类型',type(dict1))
print('dict1',dict1["data"]) dict2 = dict1["data"]
print('dict2的数据类型:',type(dict2)) #dict2的数据类型: <class 'dict'>
print('取出一个变量的值',dict2[bianliang]) # mydb.close()
# mycursor.close() # dict2[] = 0 #2/5
sql2 = "Delete from finser.TD_S_CRO_ACCOUNT_HANDLE_RECORD a where a.name = '王亮';"
mycursor.execute(sql2) #设置等待n秒后再继续执行后面的程序
time.sleep(2) #3/5
sql3 = "UPDATE finser.cf_loan_release a SET a.status = 50 WHERE a.order_no ='MFJK-SJInTest2021-11-05-05-39-20-1';"
mycursor.execute(sql3) #设置等待n秒后再继续执行后面的程序
time.sleep(3) #5/5
#查询结果是否命中
sql4 = "select t.REMARK,T.MESSAGE from finser.TD_S_CRO_ACCOUNT_HANDLE_RECORD t where name ='王亮'"
mycursor.execute(sql4) myresult = mycursor.fetchall()
# print(myresult)
# print(type(myresult)) #<class 'list'>
mystr = str(myresult) #list转换为str
if 'Y' in mystr:
print('未命中')
if 'N' in mystr:
print('命中')
如何更新clob类型的内容的更多相关文章
-
jsp里更新Clob类型字段数据
ResultSet rs = null; Connection conn = new dbconn().getconnect(); Statement stmt = null; int news=0; ...
-
Spring JDBC处理CLOB类型字段
以下示例将演示使用spring jdbc更新CLOB类型的字段值,即更新student表中的可用记录. student表的结构如下 - CREATE TABLE student( ID INT NOT ...
-
Java更新Oracle的clob类型字段
Java更新Oracle的clob类型字段 1.查询该clob字段 2.处理该clob字段查询结果 3.更新该clob字段查询结果 1.查询该clob字段 <select id="se ...
-
Oracle中如何查询CLOB字段类型的内容
注:本文来源于:<Oracle中如何查询CLOB字段类型的内容> 语法 select * from table_name where dbms_lob.instr(字段名(clod类型), ...
-
.Net处理Oracle中Clob类型字段总结
最近在做项目中用到Clob这个字段,Clob是存储无限长字符的Oracle字段,用的时候网上找资料找了好久,内容不是很多,大部分都不能用,当然也有可以用的,测试了不同版本,整理了一下,给大家在做项目的 ...
-
Oracle中Blob和Clob类型的区别与操作
Oracle中Blob和Clob类型 1.Oracle中Blob和Clob类型的区别 BLOB和CLOB都是大字段类型,BLOB是按二进制来存储的,而CLOB是可以直接存储文字的.其实两个是可以互换的 ...
-
Hibernate保存Blob和Clob类型的数据
虽然非常不建议在数据库中保存Blob和Clob类型的数据,但真的要有这样的需求呢?这里记录一下使用Hibernate如何向数据库中保存Blob和Clob数据. Oracle和MySql在Blob类型上 ...
-
Oracle处理Clob类型数据入库(String入库)
从网上查找一堆参考,要么语焉不详,要么不可行.自己鼓捣了一堆可以正常入库了.请看最后: insert into CP_V_INFO" + "(ID, "+ "P ...
-
问题:oracle CLOB类型;结果:oracle中Blob和Clob类型的区别
BLOB和CLOB都是大字段类型,BLOB是按二进制来存储的,而CLOB是可以直接存储文字的.其实两个是可以互换的的,或者可以直接用LOB字段代替这两个.但是为了更好的管理ORACLE数据库,通常像图 ...
随机推荐
-
My first blog in cnblog
Learning, record and shareing. Being stronger.
-
关于升级xcode8
升级xcode8已是必然,升级ios10的用户不能说大有人在,应该也不会少,如果不升级xcode8,上架最新的包,那么可能应用在ios10 上是不支持的.so,这些xcode8的新特性,你应该了解!! ...
-
freemarker string= null
在java代码中经常会出现以下代码: String name; …………………… if(null == name || name.length == 0){ return; } 这行代码用freema ...
-
TinyMCE logo 可视化HTML编辑器 TinyMCE
TinyMCE是一个轻量级的基于浏览器的所见即所得编辑器,支持目前流行的各种浏览器,由JavaScript写成.功能配置灵活简单(两行代码就可以 将编辑器嵌入网页中),支持AJAX.另一特点是加载速度 ...
-
QT IP输入框正则表达式(使用QLineEdit的setValidator函数)
/* ip输入框正则表达式 */ // IP 前3段 QRegExp regExp("[0-9][0-9.][0-9.][.]"); ui->lineEdit_1->s ...
-
Node.js Buffer(缓冲区)
JavaScript 语言自身只有字符串数据类型,没有二进制数据类型. 但在处理像TCP流或文件流时,必须使用到二进制数据.因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门 ...
-
TCP/IP协议族(笔记)
1.HTTP HTTPS DCHP ICMP SMTP IMAP MIME POP PPTP 协议族 tcp/ip 是基于tcp和ip这两个最初的协议之上的不同的通信协议的大集合 TCP/IP不是一 ...
-
C语言 sscanf用法详解
/* sscanf用法详解 */ #include <stdio.h> /* sscanf头文件 */ #include <stdlib.h> #include <str ...
-
音视频学习系列第(五)篇---MediaRecorder的使用
音视频系列 什么是MediaRecorder MediaRecorder是安卓提供的一个用于音视频采集的类 在前几篇文章中,我们已经介绍了如何进行音频和视频的采集,即通过AudioRecord采集音频 ...
-
SQL、Linq和Lambda表达式 的关系
首先说说这三者完全是三种不同的东西,SQL是结构化查询语言(Structured Query Language)简称,这大家再熟悉不过了,下面主要介绍LINQ和Lambda表达式的基本概念以及同一查询 ...