• 模拟银行自助终端系统


     

    模拟银行自助终端系统

    一. 本系统模拟银行用户使用ATM机开户、查询、存款、取款功能,要求使用java语言编程实现。 

    说明: 

    1. 对于数据输入异常,可使用java异常处理机制进行处理。 

    2. 评分将以功能实现与代码规范性相结合的方式进行考核。

    3. 如果对项目需求有疑问,可以随时以QQ留言方式联系我进行咨询。

    4. 国庆放假期间,每天都有老师在公司值班,10月4日是我在公司值班,10月7日正常上班,欢迎大家到公司来做项目。

    二. 项目功能要求: 

    项目开始运行显示主菜单为:  

    银行自助终端系统 

    ****************************  

    0.------开户

    1.------查询  

    2.------存款  

    3.------取款  

    4.------退出 

    **************************** 

    请选择你要执行的功能: 

    此时,用户可以通过键盘输入选择自己要实现的功能,如果输入不是0,1,2,3,4,则系统提示: 

    你选择的菜单不存在!

    请重新选择: 

    要求用户重新输入数据进行菜单选择!  

    当用户输入0时,则进入查询功能:系统提示: 

    **************************** 

    你选择的为开户功能 

    请输入你的姓名: 

    此时用户需要输入姓名,输入完毕后系统提示:

    请输入你的身份证号: 

    此时用户需要输入18位身份证号,输入完毕如果验证未通过要求继续输入,直到验证通过后系统提示:

    请输入你的密码: 

    此时用户需要输入6位纯数字密码,输入完毕如果验证未通过要求继续输入,验证通过后系统提示:

    开户成功,谢谢使用! 

    银行自助终端系统 

    ****************************  

    0.------开户

    1.------查询  

    2.------存款  

    3.------取款  

    4.------退出 

    **************************** 

    请选择你要执行的功能: 

    当用户输入1时,则进入查询功能:系统提示: 

    **************************** 

    你选择的为查询功能 

    请输入你要查询的卡号: 

    此时用户需要输入查询的卡号,系统对卡号进行检测,如果卡号不存在,则提示: 你输入的卡号不存在,请重新输入: 

    请输入你要查询的卡号:

    要求重新输入卡号,当用户输入正确卡号后,则提示:

    请输入你的密码: 

    此时用户需要输入6位纯数字密码,输入完毕如果验证未通过要求继续输入(最多3次),验证通过后系统将显示当前用户账号信息并进入主菜单:

    你查询的账号信息为: 

    ****************************** 

    姓名  身份证号    卡号   金额 

    张三丰 420106198410112062 111111   12800.0  

    银行自助终端系统 

    ****************************  

    0.------开户

    1.------查询  

    2.------存款  

    3.------取款  

    4.------退出 

    **************************** 

    请选择你要执行的功能: 

    当用户输入2时,则进入存款功能:系统提示: 

    **************************** 

    你选择的为存款功能 

    请输入你要存款的卡号: 

    此时用户需要输入存款的卡号,系统对卡号进行检测,如果卡号不存在,则提示: 

    你输入的卡号不存在,请重新输入: 

    请输入你要存款的卡号: 

    要求重新输入卡号,当用户输入正确卡号后,则提示:

    请输入你的密码: 

    此时用户需要输入6位纯数字密码,输入完毕如果验证未通过要求继续输入(最多3次),验证通过后系统将显示当前用户账号信息并进入主菜单: 

    你要存款的账号信息为: 

    ****************************** 

    姓名  身份证号     卡号  金额 

    张三丰 420106198410112062 111111  12800.0 

    请输入你要存入的金额: 

    此时要求用户输入存款金额,系统对金额进行判断,如果输入的数据小于等于0,则提示: 

    你输入的数据无效,系统将自动退出!谢谢使用  

    银行自助终端系统 

    ****************************  

    0.------开户

    1.------查询  

    2.------存款  

    3.------取款  

    4.------退出 

    **************************** 

    请选择你要执行的功能: 

    如果用户输入数据合法,系统提示存款成功,并回到主菜单: 

    存款成功,谢谢使用!  

    银行自助终端系统 

    ****************************  

    0.------开户

    1.------查询  

    2.------存款 

    3.------取款  

    4.------退出 

    **************************** 

    请选择你要执行的功能: 

    数据将存入用户账号,如果用户再次进行数据查询,则能看到已经改变后的账户金额。 (说明:本系统使用文件进行数据存储,因此如果用户重新启动程序,数据将从文件中读取重新初始化到内存!此功能选做,可参考对象的序列化和反序列化或JSON) 

    当用户输入3时,则进入取款功能:系统提示: 

    **************************** 

    你选择的为取款功能 请输入你要取款的卡号: 

    此时用户需要输入取款的卡号,系统对卡号进行检测,如果卡号不存在,则提示: 

    你输入的卡号不存在,请重新输入: 

    请输入你要取款的卡号: 

    要求重新输入卡号,当用户输入正确卡号后,则提示:

    请输入你的密码: 

    此时用户需要输入6位纯数字密码,输入完毕如果验证未通过要求继续输入(最多3次),验证通过后系统将显示当前用户账号信息并进入主菜单: 

    你要取款的账号信息为: 

    ****************************** 

    姓名  身份证号     卡号  金额 

    张三丰 420106198410112062 111111  12800.0 

    请输入你要取款的金额: 

    此时要求用户输入取款金额,系统对金额进行判断,如果输入的数据小于0或大于账号总金额,则提示: 

    你输入的数据无效,系统将自动退出!谢谢使用  

    银行自助终端系统 

    ****************************  

    0.------开户

    1.------查询  

    2.------存款  

    3.------取款  

    4.------退出 

    **************************** 

    请选择你要执行的功能: 

    如果用户输入数据合法,系统提示取款成功,并回到主菜单: 

    取款成功,谢谢使用!  

    银行自助终端系统 

    ****************************  

    0.------开户

    1.------查询  

    2.------存款  

    3.------取款  

    4.------退出 

    **************************** 

    请选择你要执行的功能: 

    数据将从用户账号扣出,如果用户再次进行数据查询,则能看到已经改变后的账户金额。

    当用户输入4时,系统将退出。

    三.设计要求

    (一)包一:com.bank.unionpay 表示银联,在该包下添加:

    1. 表示银行卡的接口,包含查询余额,存款,取款等抽象方法。
    2. 表示ATM机的抽象类,使用银行卡类型的对象作为属性或参数,实现查询余额,存款,取款等实例方法,添加开户为抽象方法。
    3. 表示四大银行的枚举类型:包含ABC,ICBC,CCB,BOC;分别代表农行,工行,建行,中行。

     

    (二)包二:com.bank.abc 表示农行,在该包下添加:

    1. 以单例模式定义银行类,包含属性:银行类型(枚举类型,常量=ABC),银行名称(String),银行卡列表(集合)等。
    2. 定义银行卡的实现类-储蓄卡,包含属性:银行类型(枚举类型=ABC),姓名,身份证号,卡号,密码,余额;实现查询余额,存款,取款等方法。
    3. 定义ATM机的子类,包含属性:银行类型(枚举类型,常量=ABC),实现开户方法,其中:只能开办储蓄卡,卡号为6位随机数字,自动产生。新开户的银行卡添加到银行的银行卡列表中。
    4. 定义储蓄卡的子类-信用卡,增加属性:透支额度,重写取款方法,控制最大取款金额不能大于余额+透支额度的和。

    (三)包三:com.bank.test 表示测试,在该包下添加带main方法的测试类,实现项目要求的模拟ATM机的功能。

    以下功能选做:

    以单态模式实现工商银行,在测试类中默认添加多张银行卡,在农行的ATM机上实现跨行查询和存取款功能。

    package com.bank.unionpay;
    
    public interface Card
    {
        //抽象方法
            public double Balance() ;
            public void Cunkuan() ;
            public void Qukuan() ;
    }
    package com.bank.unionpay;
    
    public abstract class ATM 
    {
        //成员属性
            public Card account ;
    
            // 抽象方法
            public abstract void getAccount() ;
            
    }
    package com.bank.unionpay;
    
    public enum FourYH 
    {
            //    首行放置
            ABC("农行") , ICBC("工行") ,    CCB("建行") , BOC("中行");
            
            private String name ;
            
            public String getName()
            {
                return name;
            }
    
            FourYH(String name)
            {
                this.name = name ;
            }
            
    
    
    }
    package com.bank.abc;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import com.bank.unionpay.Card;
    import com.bank.unionpay.FourYH;
    
    //单例模式
    public class ABCBank
    {
        //属性
        final FourYH bank = FourYH.ABC ;
        private String yhName ;
        public List<CXcard> card= new ArrayList<>( ) ; 
        
        //私有构造方法,防止该类被实例化
        private  ABCBank()
        {
            
        }
        
        //创建Bank的一个对象
        private static ABCBank bk = new ABCBank() ;
        
        //获取唯一可用对象
        public static ABCBank getBk()
        {
            return bk ;
        }
    
        public FourYH getBank() {
            return bank;
        }
    
        public String getYhName() {
            return yhName;
        }
    
        public List<CXcard> getCard() {
            return card;
        }
        
        //private Map<String ,CXcard> =new HashMap<>() ;
        
        
        
        
    }
    package com.bank.abc;
    
    import java.util.Random;
    import java.util.Scanner;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    import com.bank.unionpay.ATM;
    import com.bank.unionpay.FourYH;
    
    public class ATM1 extends ATM {
        // 属性
        final FourYH bank = FourYH.ABC;
        Random  shu = new Random() ;
        String sg = "" ;
        CXcard cd = new CXcard() ;
        
        // 获取唯一可用对象
        ABCBank bk = ABCBank.getBk();
        Random a = new Random();
        String str = "";
    
        @Override
            public void getAccount()
            {
                for(int i =0; i>-1 ;i++)
                {
                    //分支语句,判断用户输入,提供相关功能
                    System.out.println("************************************");
                    System.out.println("您选择的为开户功能!");
                    System.out.println("请输入您的姓名:");
                        
                    //提供输入,供用户注册名字
                    for(int j1 =1 ; j1>0 ;j1++)
                    {
                        Scanner can = new Scanner(System.in);
                        String ss = can.nextLine();
                           
                        String regEx = "[u4e00-u9fa5]";
                        Pattern p = Pattern.compile(regEx);
                        int num = 0;
                        //汉字长度
                        for(int s=0;s<ss.length();s++)
                        {
                             if(p.matches(regEx, ss.substring(s, s + 1)))
                             {
                                   num++;
                             }
                         }
                        //判断名字是否合法
                        if(num<2)
                        {
                            System.out.println("您输入的名字不合法!");
                        }
                        else
                        {
                            System.out.println("您输入的名字是:"+ss);
                          //判断身份证号码是否合法
                            for(int j2=1;j2>0;j2++)
                            {
                                System.out.println("请输入您的身份证号:");
                                
                                Scanner sf = new Scanner(System.in) ;
                                String sfNum = sf.nextLine();
                            
                                 //定义判别用户身份证号的正则表达式(18位,最后一位可以为字母)  
                                Pattern idNumPattern = Pattern.compile("(\d{17}[0-9a-zA-Z])");  
                                //通过Pattern获得Matcher  
                                Matcher idNumMatcher = idNumPattern.matcher(sfNum);  
                                //判断用户输入是否为身份证号  
                                if(idNumMatcher.matches())
                                {  
                                    System.out.println("您的身份证号是:"+sfNum);  
                                  //判断密码是否合法
                                    for(int j=1;j>0;j++)
                                    {
                                        System.out.println("请输入您的密码:");
                                        
                                        Scanner mm = new Scanner(System.in) ;
                                        String  mmNum = mm.nextLine();
                                        
                                         //定义判别用户密码的正则表达式(6位纯数字)  
                                        Pattern idNumPattern1 = Pattern.compile("(\d{5}[0-9])");  
                                        //通过Pattern获得Matcher  
                                        Matcher idNumMatcher1 = idNumPattern.matcher(mmNum);  
                                        //判断用户输入的密码格式是否正确
                                        if(idNumMatcher.matches())
                                        {  
                                            while(true)
                                            {
                                                System.out.println("您的密码是:"+mmNum);  
                                                System.out.println("请再次输入您的密码,进行确认:");
                                                Scanner mm1 = new Scanner(System.in) ;
                                                String  mmNum1 = mm.nextLine();
                                                if(mmNum1.equals(mmNum)==true)
                                                {
                                                    System.out.println("开户成功,谢谢使用!");
                                                    System.out.println("银行自助终端系统");
                                                    
                                                    for(int j3 = 0 ;j3<6;j3++)
                                                    {
                                                        int b = a.nextInt(9) ;
                                                        str =str+""+b ;
                                                    }
                                                    System.out.print("您的卡号为:");
                                                    System.out.println(str);
                                                    
                                                    
                                                    cd.setName(ss);
                                                    cd.setMima(mmNum);
                                                    cd.setKahao(str);
                                                    cd.setShenfen(sfNum); 
                                                    ABCBank.getBk().card.add(cd) ;
                                                    System.out.println("银行自助终端系统");
                                                    
                                                    System.out.println("************************************");
                                                    System.out.println();
                                                    System.out.println("0——————开户");
                                                    System.out.println("1——————查询");
                                                    System.out.println("2——————存款");
                                                    System.out.println("3——————取款");
                                                    System.out.println("4——————退出");
                                                    System.out.println();
                                                    System.out.println("************************************");
                                                    
                                                    System.out.println();
                                                    
                                                    System.out.println("请选择您要执行的功能:");
                                                    
                                                    break ;
                                                }
                                                else
                                                {
                                                    System.out.println("您两次输入密码不一样,请重新设置密码!");
                                                }
                                            }
                                            break ;
                                        }
                                        else
                                        {  
                                            //如果不是,输出信息提示用户  
                                            System.out.println("您输入的密码必须为六位数字!");  
                                        }  
                                }
                                    break ;
                                }
                                
                                else
                                {  
                                    //如果不是,输出信息提示用户  
                                    System.out.println("请输入合法的身份证号!");  
                                }  
                                break ;
                            }
                            break ;
                        }
                    }
                    break ;
                }
            //    }
            }
    
        public String getStr() {
            return str;
        }
    
    }
    package com.bank.abc;
    
    import java.util.Scanner;
    
    import com.bank.unionpay.Card;
    
    public class CXcard implements Card
    {
        private double balance ;
        private double cunkuan ;
        private double qukuan ;
        private String name ;
        private String shenfen ;
        private String kahao ;
        private String mima;
        
        public String getMima() {
            return mima;
        }
    
        public void setMima(String mima) {
            this.mima = mima;
        }
    
        public CXcard(String name, String shenfen , String kahao ,String mima) 
        {
            this.name = name;
            this.kahao =kahao ;
            this.shenfen =shenfen;
            this.mima = mima ;
        }
        
        public CXcard() {
            super();
        }
    
        public double getBalance() {
            return balance;
        }
    
        public void setBalance(double balance) {
            this.balance = balance;
        }
    
        public double getCunkuan() {
            return cunkuan;
        }
    
        public void setCunkuan(double cunkuan) {
            this.cunkuan = cunkuan;
        }
    
        public double getQukuan() {
            return qukuan;
        }
    
        public void setQukuan(double qukuan) {
            this.qukuan = qukuan;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getShenfen() {
            return shenfen;
        }
    
        public void setShenfen(String shenfen) {
            this.shenfen = shenfen;
        }
    
        public String getKahao() {
            return kahao;
        }
    
        public void setKahao(String kahao) {
            this.kahao = kahao;
        }
    
        public double Balance() 
        {
            // TODO 自动生成的方法存根
            return balance;
        }
    
        public void Cunkuan() 
        {
            System.out.println("************************************");
            System.out.println("您选择的为存款功能!");
            
            while(true)
            {
                System.out.println("请输入您的卡号:");
                Scanner id = new Scanner(System.in) ;
                String idNum = id.nextLine();
            
                
                //判断用户输入卡号是否存在
                for(CXcard s :ABCBank.getBk().card)
                {
                    if(idNum.equals(s.getKahao())) 
                    {
                        for(int j =0 ;j<3;j++)
                        {
                            //提供用户输入渠道
                            System.out.println("请输入您的密码:");
                            Scanner password = new Scanner(System.in) ;
                            String pd = password.nextLine();
                            if(pd.equals(s.getMima()))
                            {
                                System.out.println("您查询的账号信息为:");
                                System.out.println("卡号:"+s.kahao);
                                System.out.println("姓名:"+s.name);
                                System.out.println("身份证号:"+s.shenfen);
                                System.out.println("余额:"+s.balance);
                                System.out.println("请输入您的存款金额:");
                                
                                Scanner cunqian = new Scanner(System.in) ;
                                double cq =cunqian.nextDouble( )  ;
                                if(cq>0)
                                {
                                    balance += cq ;
                                    System.out.println("您的存款金额为:"+cq);
                                    ABCBank.getBk().card.get(0).setBalance(balance);
                                    System.out.println("卡号:"+s.kahao);
                                    System.out.println("姓名:"+s.name);
                                    System.out.println("身份证号:"+s.shenfen);
                                    System.out.println("余额:"+s.balance);
                                    System.out.println("银行自助终端系统");
                                    
                                    System.out.println("************************************");
                                    System.out.println();
                                    System.out.println("0——————开户");
                                    System.out.println("1——————查询");
                                    System.out.println("2——————存款");
                                    System.out.println("3——————取款");
                                    System.out.println("4——————退出");
                                    System.out.println();
                                    System.out.println("************************************");
                                    
                                    System.out.println();
                                    
                                    System.out.println("请选择您要执行的功能:");
                                    break ;
                                }
                                else
                                {
                                    System.out.println("您输入的存款金额有误,系统即将退出,谢谢使用!");
                                }
                                break ;
                            }
                            else
                            {
                                System.out.println("密码不对!");
                            }
                            
                        }
                        break ;
                    }
                    else
                    {
                        System.out.println("卡号不存在,请重新输入:");
                    }
                }
                    
                    
                
            
                break ;
            }
    
        }
    
        public void Qukuan() 
        {
            System.out.println("************************************");
            System.out.println("您选择的为取款功能!");
            
            while(true)
            {
                System.out.println("请输入您的卡号:");
                Scanner id = new Scanner(System.in) ;
                String idNum = id.nextLine();
            
                
                //判断用户输入卡号是否存在
                for(CXcard s :ABCBank.getBk().card)
                {
                    if(idNum.equals(s.getKahao())) 
                    {
                        for(int j =0 ;j<3;j++)
                        {
                            //提供用户输入渠道
                            System.out.println("请输入您的密码:");
                            Scanner password = new Scanner(System.in) ;
                            String pd = password.nextLine();
                            if(pd.equals(s.getMima()))
                            {
                                System.out.println("您查询的账号信息为:");
                                System.out.println("卡号:"+s.kahao);
                                System.out.println("姓名:"+s.name);
                                System.out.println("身份证号:"+s.shenfen);
                                System.out.println("余额:"+s.balance);
                                System.out.println("请输入您的取款金额:");
                                
                                Scanner cunqian = new Scanner(System.in) ;
                                double cq =cunqian.nextDouble( )  ;
                                if(cq>0&&cq<=s.balance)
                                {
                                    s.balance -= cq ;
                                    System.out.println("您的取款金额为:"+cq);
                                    ABCBank.getBk().card.get(0).setBalance(s.balance);
                                    System.out.println("卡号:"+s.kahao);
                                    System.out.println("姓名:"+s.name);
                                    System.out.println("身份证号:"+s.shenfen);
                                    System.out.println("余额:"+s.balance);
                                    System.out.println("银行自助终端系统");
                                    
                                    System.out.println("************************************");
                                    System.out.println();
                                    System.out.println("0——————开户");
                                    System.out.println("1——————查询");
                                    System.out.println("2——————存款");
                                    System.out.println("3——————取款");
                                    System.out.println("4——————退出");
                                    System.out.println();
                                    System.out.println("************************************");
                                    
                                    System.out.println();
                                    
                                    System.out.println("请选择您要执行的功能:");
                                    break ;
                                }
                                else
                                {
                                    System.out.println("您输入的取款金额有误,系统即将退出,谢谢使用!");
                                }
                                break ;
                            }
                            else
                            {
                                System.out.println("密码不对!");
                            }
                            
                        }
                        break ;
                    }
                    else
                    {
                        System.out.println("卡号不存在,请重新输入:");
                    }
                }
                    
                    
                
            
                break ;
            }
    
        }
        
        public void chaxun()
        {
            
            System.out.println("************************************");
            System.out.println("您选择的为查询功能!");
            
            
            //提供用户输入渠道
            while(true)
            {
                System.out.println("请输入您的卡号:");
                Scanner id = new Scanner(System.in) ;
                String idNum = id.nextLine();
            
                
                //判断用户输入卡号是否存在
                for(CXcard s :ABCBank.getBk().card)
                {
                    if(idNum.equals(s.getKahao())) 
                    {
                        for(int j =0 ;j<3;j++)
                        {
                            //提供用户输入渠道
                            System.out.println("请输入您的密码:");
                            Scanner password = new Scanner(System.in) ;
                            String pd = password.nextLine();
                            if(pd.equals(s.getMima()))
                            {
                                System.out.println("您查询的账号信息为:");
                                System.out.println("卡号:"+s.kahao);
                                System.out.println("姓名:"+s.name);
                                System.out.println("身份证号:"+s.shenfen);
                                System.out.println("余额:"+s.balance);
                                System.out.println("银行自助终端系统");
                                
                                System.out.println("************************************");
                                System.out.println();
                                System.out.println("0——————开户");
                                System.out.println("1——————查询");
                                System.out.println("2——————存款");
                                System.out.println("3——————取款");
                                System.out.println("4——————退出");
                                System.out.println();
                                System.out.println("************************************");
                                
                                System.out.println();
                                
                                System.out.println("请选择您要执行的功能:");
                                break ;
                            }
                            else
                            {
                                System.out.println("密码不对!");
                            }
                            
                        }
                        break ;
                    }
                    else
                    {
                        System.out.println("卡号不存在,请重新输入:");
                    }
                }
                    
                    
                
            
                break ;
            }
    
        }
        
        
        @Override
        public String toString() {
            return "CXcard [name=" + name + ", shenfen=" + shenfen + ", kahao=" + kahao + ", mima=" + mima + "]";
        }
    
        
    
        
        
    }
    package com.bank.abc;
    
    public class XY extends CXcard
    {
        //成员属性
        private double touzhi ;
        
        public double Qukuan(double qukuan) 
        {
            // TODO 自动生成的方法存根
            if( qukuan>=0 )
            {                                            //还要修改
                return qukuan ;
            }
            else
            {
                return -1 ;//测试类判断
            }
        }
        
    }
    package com.bank.test;
    
    import java.util.Scanner;
    
    import com.bank.abc.ATM1;
    import com.bank.abc.CXcard;
    
    public class SSSS {
    
        public static void main(String[] args) throws Exception 
        {
            System.out.println("银行自助终端系统");
            
            System.out.println("************************************");
            System.out.println();
            System.out.println("0——————开户");
            System.out.println("1——————查询");
            System.out.println("2——————存款");
            System.out.println("3——————取款");
            System.out.println("4——————退出");
            System.out.println();
            System.out.println("************************************");
            
            System.out.println();
            
            System.out.println("请选择您要执行的功能:");
            while(true)
            {
                //提供输入
                Scanner sc = new Scanner(System.in) ;
                int it = sc.nextInt( ) ;
                try
                {
                    if(it==0)
                    {
                        ATM1  a = new ATM1() ;
                        a.getAccount();
                    }
                    if(it==1)
                    {
                        CXcard cd= new CXcard();
                        cd.chaxun();
                    }
                    if(it==2)
                    {
                        CXcard cd= new CXcard();
                        cd.Cunkuan();
                    }
                    if(it==3)
                    {
                        CXcard cd= new CXcard();
                        cd.Qukuan();
                    }
                    if(it==4)
                    {
                        System.out.println("系统即将退出!");
                        break ;
                    }
                }
                catch(Exception e)
                {
                    System.out.println("输入有误!");
                    System.out.println("银行自助终端系统");
                    
                    System.out.println("************************************");
                    System.out.println();
                    System.out.println("0——————开户");
                    System.out.println("1——————查询");
                    System.out.println("2——————存款");
                    System.out.println("3——————取款");
                    System.out.println("4——————退出");
                    System.out.println();
                    System.out.println("************************************");
                    
                    System.out.println();
                    
                    System.out.println("请选择您要执行的功能:");
                }
            }
            
            
        }
    
    }

  • 相关阅读:
    script 执行顺序
    webpack 引入外部资源 webpack-require-http runtime-import
    react dnd
    require.contex 自动话引入
    git rebase
    文档在线转化
    moment 多语言 包问题
    Python 修改在使用ddt时测试报告默认显示用例名称与预期不符
    Robot Framework:随机数
    Robot Framework:变量与运算
  • 原文地址:https://www.cnblogs.com/20gg-com/p/5935436.html
Copyright © 2020-2023  润新知