testng数据驱动返回map和string两种方式
1.yaml数据展示 user.yaml
1 2 3 4 5 6 7 8 | #登录接口正确的用户名密码 - 'uri' : '/console/index.html#/login' 'username' : 'liqiang1' 'password' : '111111' #错误的接口数据 - 'uri' : '/console/index.html#/login' 'username' : 'liqiang222' 'password' : '22222' |
2.代码展示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | package com.cloud7.classic.User; import com.cloud7.utils.ConfigBaseUtils; import com.cloud7.utils.httpclient.HttpClientUtils; import com.cloud7.utils.YamlUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; /** * 登录接口测试 */ public class LoginTest { public LoginTest() { } private static final Logger logger = LoggerFactory.getLogger(LoginTest. class ); Map<String, String> globalProper=ConfigBaseUtils.getConfig(); //获取yaml中的所有数组值 List<Object> list= YamlUtils.getYmalList( "/datas/user.yaml" ); //获取全局ip String ip= globalProper. get ( "ip" ); //获取全局port String port= globalProper. get ( "port" ); @DataProvider(name= "datas" ) public Object[][] dataProvider() { Object[][] obj = new Object[list.size()][3]; for ( int i = 0; i < list.size(); i++) { LinkedHashMap<String, String> map= (LinkedHashMap<String, String>) list. get (i); int j=0; for (Map.Entry<String,String> entry: map.entrySet()){ obj[i][j] = String.valueOf(entry.getValue()); j++; } } return obj; } @Test(dataProvider = "datas" ) public void testLogin(String a,String b,String c){ System. out .println( "a:" +a+ "b:" +b+ "c:" +c); } @DataProvider(name= "datas2" ) public Object[][] dataProvider2() { Object[][] obj = new Object[list.size()][]; for ( int i = 0; i <list.size() ; i++) { obj[i]= new Object[]{ list. get (i) }; } return obj; } @Test(dataProvider = "datas2" ) public void testLogin2(Map<?,?> map){ System. out .println( "ok:" +map. get ( "username" )); } } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2022-05-18 tomcat的session共享问题以及方案
2022-05-18 nginx