随笔 - 127  文章 - 0  评论 - 0  阅读 - 74293

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"));
    }
 
}

  

posted on   groby  阅读(57)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2022-05-18 tomcat的session共享问题以及方案
2022-05-18 nginx
< 2025年3月 >
23 24 25 26 27 28 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 1 2 3 4 5

点击右上角即可分享
微信分享提示