testng的用法--未消化的,未研究明白-程序员宅基地

技术标签: python  java  json  

package test;


import idNoUtils.IdNo;

import java.io.IOException;
import java.util.HashMap;

import org.json.JSONObject;
import org.testng.annotations.Test;

import com.al.api.net.Http;
import com.al.api.test.base.APIBase;
import com.al.core.annotation.DataFactory;
import com.al.core.nassert.NAssert;
import com.al.core.report.NReporter;

import common.BankCard;
import test.HashMapObject;



@DataFactory(dataPathKey= "DataPath")
public class OpenData extends APIBase{
	
	
	// 宁波银行 ("621279", "16") 7600    中国银行("623040", "16")  5300
	String mobile = "13536703795";
	String bankCode = "5300";
	String cardbin = "623040";
	String cardlength = "16"; 

				
	
	
	String vcode = "123456";
	String id = "";
	String publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEq8eU4xQtq7f9hyWulOtzKClrbiCQuTQ8cq+jlqV6UqLllxWUe7O2qFsxGznmOrW5tyIXUuLbNUj+Gcq0+jgSl7rOqw1sEXkjvq3oujr7c5RUvaLgsSUhqmTyQlqIudPL7tHKfGr6TIMdV9s7CZ+e1YF6XpPbv7MwmCoM4rkVSQIDAQAB";
    
	
	//发�1�7�短信验证码
	@Test
	public void sendSms(){
		
		Http hf = Http.newInstance("10.17.171.11",8080);	
		
		//请求入参赋�1�7�1�7
		HashMap<String,String> input  = new HashMap<String,String>();
		input.put("serviceKey", "sendSms");
		input.put("mobile", mobile);
		input.put("imgCode", "");
		input.put("codeType", "0");

		//发起post请求		 
		hf.post(conf.get("oasDomain") + "oas/restapi/service",input);	
		
		//校验请求响应砄1�7
		NReporter.saveJSON(hf.getRequest(), hf.getResponse());
		NAssert.assertEquals(hf.getStatus(), 200);
				
		//校验接口响应
		JSONObject jo = new JSONObject(hf.getResponse());
		NAssert.assertEquals(jo.getString("responseCode"),"0");
		
	}
	
	//验证短信验证码成劄1�7
	@Test(dependsOnMethods="sendSms")
	public void vSmsCode( ){
		Http hf = Http.newInstance("10.17.171.11",8080);
		
		//发�1�7�短信验证码请求入参赋�1�7�1�7
		HashMap<String, String> params = new HashMap<String, String>();
		params.put("mobile", mobile);
		
		//请求入参对象封装
		HashMap<String, String> input = new HashMap<String, String>();
		params = HashMapObject.parameter(params);	
		
		//验证短信验证码请求入参赋倄1�7
		input.put("serviceKey","vSmsCode");
		input.put("mobile",params.get("mobile"));
		input.put("vcode",vcode);
		input.put("codeType",params.get("codeType"));
		input.put("sVersion",params.get("sVersion"));
		input.put("loginFlag",params.get("loginFlag"));
		input.put("h5RecommenderNoId",params.get("h5RecommenderNoId"));
		input.put("pinion_recommender_code",params.get("pinion_recommender_code"));
		input.put("pinion_recommender_name",params.get("pinion_recommender_name"));
		input.put("version_recommender_name",params.get("version_recommender_name"));
		input.put("appPlatform",params.get("appPlatform"));
		
		//验证短信验证码的请求
		hf.post(conf.get("oasDomain") + "oas/restapi/service",input);
		
		//校验请求响应砄1�7
		NReporter.saveJSON(hf.getRequest(), hf.getResponse());
		NAssert.assertEquals(hf.getStatus(), 200);
		//校验接口响应
		JSONObject jo = new JSONObject(hf.getResponse());
		NAssert.assertEquals(jo.getString("responseCode"),"0");
		NAssert.assertNotNull(jo.getJSONObject("data").get("user_id"));
		id = (String) jo.getJSONObject("data").get("user_id");
	}
	
	
	//上传身份证正靄1�7
	@Test(dependsOnMethods="vSmsCode")
	public void uploadIdpicurl(){
		Http hf = Http.newInstance("10.17.171.11",8080);
		
		//入参赋�1�7�1�7  flist[0].base64Data
		HashMap<String, String> input = new HashMap<String, String>();
		input.put("serviceKey","saveUserMaterial"); 
		input.put("userId",id); 
		input.put("channel","jykh"); 
		input.put("flist[0].fileType","3"); 
		
		//生成图片base64砄1�7
		String imageName ="photo.jpg";
		try {
			
			String imgbese = ImageTranscoding.imageToBase64(imageName);
			input.put("flist[0].base64Data",imgbese);
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		//发起post请求	
		hf.post(conf.get("oasDomain") + "oas/restapi/material",input);
		
		//校验请求响应砄1�7
		NReporter.saveJSON(hf.getRequest(), hf.getResponse());
		NAssert.assertEquals(hf.getStatus(), 200);
		//校验接口响应
		JSONObject jo = new JSONObject(hf.getResponse());
		NAssert.assertEquals(jo.getString("responseCode"),"0");

		//----------------------------------------------
		input.replace("flist[0].fileType", "4");
		//生成图片base64砄1�7
		imageName ="idpicurl.jpg";
		try {
			
			String imgbese = ImageTranscoding.imageToBase64(imageName);
			input.replace("flist[0].base64Data",imgbese);
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		//发起post请求	
		hf.post(conf.get("oasDomain") + "oas/restapi/material",input);
		
		//校验请求响应砄1�7
		NReporter.saveJSON(hf.getRequest(), hf.getResponse());
		NAssert.assertEquals(hf.getStatus(), 200);
		//校验接口响应
		JSONObject joa = new JSONObject(hf.getResponse());
		NAssert.assertEquals(joa.getString("responseCode"),"0");
		
		//----------------------------------------------
		input.replace("flist[0].fileType", "5");
		//生成图片base64砄1�7
		imageName ="idpicurlBack.jpg";
		try {
			
			String imgbese = ImageTranscoding.imageToBase64(imageName);
			input.replace("flist[0].base64Data",imgbese);
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		//发起post请求	
		hf.post(conf.get("oasDomain") + "oas/restapi/material",input);
		
		//校验请求响应砄1�7
		NReporter.saveJSON(hf.getRequest(), hf.getResponse());
		NAssert.assertEquals(hf.getStatus(), 200);
		//校验接口响应
		JSONObject job = new JSONObject(hf.getResponse());
		NAssert.assertEquals(job.getString("responseCode"),"0");
	}
	
	//提交并确认个人信恄1�7
	@Test(dependsOnMethods="uploadIdpicurl")
	public void submitUserInfo(){
			
		Http hf = Http.newInstance("10.17.171.11",8080);
		//
		HashMap<String, String> input = new HashMap<String, String>();
		input.put("id", id ); 
		input.put("idno", IdNo.idNo() ); 		
		input.put("serviceKey" ,"saveUserInfo");
		input.put("infocolect_channel" ,"3");
		input.put("idtype" ,"00");
		input.put("custname" ,"自动");
		input.put("borthday" ,"1978-05-28");
		input.put("idbegindate" ,"2006-07-28");
		input.put("idenddate" ,"2025-07-28");
		input.put("nativeAddr" ,"自动化测试卢湾区淡春树里顶顶替砖石");
		input.put("policeorg" ,"上肃市公安局卢寿分局");
		input.put("usersex" ,"1");
		input.put("nationality" ,"156");
		input.put("addr" ,"自动化测试卢湾区淡春树里顶顶替砖石");
		input.put("postid" ,"520000");
		input.put("edu" ,"博士");
		input.put("branchno" ,"8888");
		input.put("provinceno" ,"03");
		input.put("cityno" ,"");
		input.put("ipaddr" ,"");
		input.put("macaddr" ,"");
		input.put("recommender_name" ,"恭喜发财");
		input.put("recommender_idno" ,"8888888");
		input.put("profession" ,"99");
		input.put("profession_code" ,"03");
		input.put("accountBeneficiary" ,"1");
		input.put("actualController" ,"1");
		input.put("creditRecord" ,"00");
		input.put("taxPayer" ,"1");
		input.put("appropriate_flag" ,"1");
			
		//发起post请求	
		hf.post(conf.get("oasDomain") + "oas/restapi/service",input);	

		//校验请求响应砄1�7
		NReporter.saveJSON(hf.getRequest(), hf.getResponse());
		NAssert.assertEquals(hf.getStatus(), 200);
		//校验接口响应
		JSONObject jo = new JSONObject(hf.getResponse());
		NAssert.assertEquals(jo.getString("responseCode"),"0");	 
	}

	
	//提交股东户开通申评1�7
	@Test(dependsOnMethods="submitUserInfo")
	public void saveStepStatus( ){
		Http hf = Http.newInstance("10.17.171.11",8080);	
		//手机短信验证请求入参赋�1�7�1�7
		HashMap<String, String>  input = new HashMap<String, String>();	
		input.put("serviceKey","saveStepStatus");
		input.put("userId",id);
		input.put("szaStr","1");
		input.put("shaStr","1");
				
		//提交股东户开通申请请汄1�7
		hf.post(conf.get("oasDomain") + "oas/restapi/service",input);	

		//校验请求响应砄1�7
		NReporter.saveJSON(hf.getRequest(), hf.getResponse());
		NAssert.assertEquals(hf.getStatus(), 200);
		//校验接口响应
		JSONObject jo = new JSONObject(hf.getResponse());
		NAssert.assertEquals(jo.getString("responseCode"),"0");

	}
	
	//设置密码
	@Test(dependsOnMethods="saveStepStatus")
	public void findLoadAccount( ){
		Http hf = Http.newInstance("10.17.171.11",8080);	
		//手机短信验证请求入参赋�1�7�1�7
		HashMap<String, String> input = new HashMap<String, String>();
		input.put("serviceKey", "setTCPassword"); 
		input.put("userId", id); 
		input.put("fundPwd", rsaUtils.EncryptPwd.testEncryptPwd("123123", publicKey)); 
		input.put("tradePwd", rsaUtils.EncryptPwd.testEncryptPwd("123123", publicKey) ); 
		
		//post请求
		hf.post(conf.get("oasDomain") + "oas/restapi/service",input);	

		//校验请求响应砄1�7
		NReporter.saveJSON(hf.getRequest(), hf.getResponse());
		NAssert.assertEquals(hf.getStatus(), 200);
		//校验接口响应
		JSONObject jo = new JSONObject(hf.getResponse());
		NAssert.assertEquals(jo.getString("responseCode"),"0");
	
	}
	
	
	//银行卡绑宄1�7
	@Test(dependsOnMethods="findLoadAccount")
	public void bindBank( ){
		Http hf = Http.newInstance("10.17.171.11",8080);
		
		//生成民生银行卄1�7
		String bankAcct = BankCard.generateBankCard(cardbin,cardlength); 
		NReporter.info("银行卡号$1�7 "+ bankAcct);
		//请求入参封装
		HashMap<String,String> input = new HashMap<String,String>();
		input.put("serviceKey", "bindTpBank" ); 
		input.put("userId", id ); 
		input.put("bankAcct", bankAcct ); 
		input.put("fndacct", "" );
		input.put("bankCode", bankCode);
		input.put("bankPwd", "123456");
		input.put("opType", "0");
		
		//post请求
		hf.post(conf.get("oasDomain") + "oas/restapi/service",input);	

		//校验请求响应砄1�7
		NReporter.saveJSON(hf.getRequest(), hf.getResponse());
		NAssert.assertEquals(hf.getStatus(), 200);
		//校验接口响应
		JSONObject jo = new JSONObject(hf.getResponse());
		NAssert.assertEquals(jo.getString("responseCode"),"0");
				
	}		
	
	//提交风险测评答案
	@Test(dependsOnMethods="bindBank")
	public void saveRiskResult( ){
		Http hf = Http.newInstance("10.17.171.11",8080);	
		//手机短信验证请求入参赋�1�7�1�7
		HashMap<String, String> input = new HashMap<String, String>();
		input.put("serviceKey", "saveRiskResult");
		input.put("ratingValue", "3;3;3;3;3;3;3;3,;3;3;3;");
		input.put("userId", id);
		
		//post请求
		hf.post(conf.get("oasDomain") + "oas/restapi/service",input);	

		//校验请求响应砄1�7
		NReporter.saveJSON(hf.getRequest(), hf.getResponse());
		NAssert.assertEquals(hf.getStatus(), 200);
		//校验接口响应
		JSONObject jo = new JSONObject(hf.getResponse());
		NAssert.assertEquals(jo.getString("responseCode"),"0");
		
	}
	
	//提交问卷回访答案
		@Test(dependsOnMethods="saveRiskResult")
		public void visitsurveyFlag( ){
			Http hf = Http.newInstance("10.17.171.11",8080);	
			//手机短信验证请求入参赋�1�7�1�7
			HashMap<String, String> input = new HashMap<String, String>();
			input.put("serviceKey", "visitsurveyFlag");
			input.put("userId", id);
			
			//post请求
			hf.post(conf.get("oasDomain") + "oas/restapi/service",input);	

			//校验请求响应砄1�7
			NReporter.saveJSON(hf.getRequest(), hf.getResponse());
			NAssert.assertEquals(hf.getStatus(), 200);
			//校验接口响应
			JSONObject jo = new JSONObject(hf.getResponse());
			NAssert.assertEquals(jo.getString("responseCode"),"0");
			
		}
	
		
		//同步个人信息
		@Test(dependsOnMethods="visitsurveyFlag")
		public void endPageDo(){
			Http hf = Http.newInstance("10.17.171.11",8080);	
			//请求入参封装
			HashMap<String, String> input = new HashMap<String, String>();
			input.put("serviceKey", "endPageDo" ); 
			input.put("userId", id ); 		
								
			//post请求
			hf.post(conf.get("oasDomain") + "oas/restapi/service",input);	
			
			//校验请求响应砄1�7
			NReporter.saveJSON(hf.getRequest(), hf.getResponse());
			NAssert.assertEquals(hf.getStatus(), 200);
			//校验接口响应
			JSONObject jo = new JSONObject(hf.getResponse());
			NAssert.assertEquals(jo.getString("responseCode"),"0","同步信息成功");


		}
}

 

转载于:https://my.oschina.net/u/3563297/blog/1607301

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33770878/article/details/92391864

智能推荐

132.【MySQL_进阶篇】-程序员宅基地

文章浏览阅读4.2w次。存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为表类型。Innodb是一种兼顾高可靠性和高性能的通用存储引擎,在MySQL5.5之后,Innodb是默认的MySQL存储引擎。MyISAM是MySQL早期的默认存储引擎。Memory引擎的表数据时存储在内存中的,由于受到硬件问题、或断点问题的影响,只能将这些表作为临时表或缓存使用。在选择存储引擎时,应该根据应用系统的特点选择合适的存储引擎。

青铜到王者,9本最好的Python从入门到进阶的书_明解 python-程序员宅基地

文章浏览阅读772次。以前都知道Python是一个技巧性非常高的编程语言,但是看了这本书之后才知道原来技巧性可以这么高,这本书的作者把很多代码都变成了一行,非常简洁,虽然有一些有哗众取宠的感觉,但是帮助你了解python的特性以及一些不错的功能还是非常不错的,尤其是关键的时候可以装逼一把,把别人10几行的代码一行搞定,适合进阶的同学阅读。本书最大的特点就是"实战", 非常贴进实战,里面有100个实战的案例,很多都是有视频讲解的,而且还有大量的Python的面试题目精选,以及针对的100个习题;很多学Python的同学,_明解 python

Python数据处理039:数据分析之csv文件_python 水质分析 water_potability.csv-程序员宅基地

文章浏览阅读6.7k次,点赞3次,收藏28次。Python数据分析之csv文件_python 水质分析 water_potability.csv

LiveQing推流RTMP直播点播流媒体服务播放回调鉴权的配置及示例_流媒体鉴权-程序员宅基地

文章浏览阅读711次。配置播放回调鉴权播放鉴权第三方回调地址, 服务相关鉴权通过后再回调, HTTP GET, 请求参数(透传流地址参数, app, call, name, addr), 响应(200 - 鉴权通过, 其它 - 鉴权不通过)第一部分:调试环境流媒体服务视频源IP: 192.168.2.135客户端访问IP:192.168.2.136回调鉴权接口IP: 192.168.1.11第二部分:调用示例1、播放地址 : http://192.168.2.135:10080/flv/vlive/_流媒体鉴权

C++ 多线程学习(1) ---- 线程的创建_c++ 创建线程-程序员宅基地

文章浏览阅读658次,点赞2次,收藏2次。计算机术语中的并发,指的是单个系统里同时执行多个独立的活动,而不是顺序一个个执行,对于单核CPU来说,某个时刻只可能处理一个任务,但是它却不是顺序执行的一个个任务,而是对CPU进行分时复用,一直在任务之间切换,每个任务完成一部分就去执行下一个任务,看起来任务在并行发生,虽然不是严格意义上执行多个任务,但是我们仍然称之为。注意传递的参数的生命周期,传递的参数 temp,会在主函数执行完毕之后被回收,假设上面的线程使用的是线程分离的模式运行,打印出的 temp 将是错误的结果。_c++ 创建线程

如何多行同时加注释与取消,及如何多行同时左移右移_同时注释若干行-程序员宅基地

文章浏览阅读7.8k次,点赞10次,收藏13次。eclipse 中如何多行同时加注释行级注释:Ctrl + /或Ctrl + Shift + C 加的是“//”注释,同时也可以Ctrl + /或Ctrl + Shift + C 取消“//”注释 块级注释: Ctrl + Shift + / 加的是“/**/”注释,Ctrl + Shift + \ 取消“/**/”注释在Eclipse编辑环境下,怎么让多行同_同时注释若干行

随便推点

在docker容器内 获取swarm节点IP_docker swarm 指定容器ip-程序员宅基地

文章浏览阅读566次。想在应用内获取当前swarm节点的IP使用.net 6框架 vs2022开发工具。_docker swarm 指定容器ip

国产的文档开发控件,spire.office新版本,一起来看看~_spire.office developer subscription(开发版本)-程序员宅基地

文章浏览阅读922次。Spire.Office 8.6.0更新已发布。在该版本中,Spire.PDF支持转换多页PDF文档为单个SVG文件;Spire.XLS新增了优化删除行的速度的方法;Spire.Presentation支持为TextFrame设置栏数。此外,许多已知问题也在该版本中被成功修复。_spire.office developer subscription(开发版本)

阿里云 oss 文件不能下载 只能直接打开的解决方案_oss无法下载-程序员宅基地

文章浏览阅读1.3w次。阿里云的oss,直接上传后,可以访问,直接是打开有一些程序,需要直接能下载设置oss文件的Content-Disposition属性值为attachment就是直接打开了但oss有很多文件,不能批量设置现在可以用ossutil批量操作=====原理:通过ossutil连接到oss,然后通过命令行,直接修改:Content-Disposition值为attachmentossutil支持多系统===..._oss无法下载

阿里云企业邮箱的stmp服务器地址_阿里云stmp地址-程序员宅基地

文章浏览阅读5k次。使用phpmailer发送邮件服务器地址:smtp.mxhichina.com阿里云邮箱不用获取授权码就可以发送邮件,所以设置发件人的邮箱地址和授权码时直接填写发件人的邮箱和邮箱密码就好了_阿里云stmp地址

c++ 判断数学表达式有效性_高考数学大题如何&quot;保分&quot;?学霸教你六大绝招!...-程序员宅基地

文章浏览阅读136次。高中里有句话,得数学者得高考,此言不虚,清北学生难见数学不足140的,反之,数学140多分的除非特别偏科,大学一般不会差。那么我们怎么“得数学”呢?针对目前高三的学生:如果你的数学水平不高,那么,你需要保住一定的分才能提升;如果中游水平,你需要保住一定的分才能突破;如果你是数学优秀生,你需要保住一定的分才能不败。保分大题,是数学学科的“腰”,你发力的轴承。保分大题的范围就是除去解析几何与..._jinny xie 北大数学

处理office365登录出现服务器问题_o365登陆显示网络异常-程序员宅基地

文章浏览阅读4.2k次。问题系统:win10目的通过登录邮箱来激活office365出现上述图片问题无法使用邮箱登录解决方法打开IE浏览器不是Microsoft Edge,进行如下配置,之后重新开启office就可以登陆了_o365登陆显示网络异常