Тестирование данных, управляемых файлами SFTP - PullRequest
0 голосов
/ 05 февраля 2020

Я новичок в Selenium Webdriver Testng и пытаюсь разработать платформу Data Driven, используя apachePOI, чтобы выбрать папки, по которым следует перемещаться, чтобы убедиться, что файлы существуют

В каждой папке 5 файлов с текущей датой, к которой добавлено 01 , 02,03 .....

Так что в основном мне нужно выбрать одну папку и прочитать конкретный файл, существующий для каждого теста.

Я могу прочитать конкретный файл с кодом ниже, где Программа Excel Reader считывает имя папки и передает ее в программу Ftp для печати данных.

Но не могли бы вы помочь мне добиться этого с помощью аннотации TESTNG, где я могу go в определенную папку и проверить правильность файлы. Код FTP

пакет FTP;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

import com.jcraft.jsch.*;

import com.Resources.*;


public class FTPCheckFileExists {

public void FTP(String Folder) throws JSchException, SftpException {

    String host = "host";
              int port = 22;
              Session session = null;
              String date = Date.date();
              String filename = date + "File";
              String filepath = "path";
              String read = filepath + "/"+filename;

               System.out.println(read);
                  JSch jsch = new JSch();

                  session = jsch.getSession("test", host, port);
                  session.setPassword("test");
                  session.setConfig("StrictHostKeyChecking", "no");
                  session.connect();
                  System.out.println("Connected");
                  //System.out.println(filename1);

                  Channel channel = session.openChannel( "sftp" );
                  channel.connect();

                  ChannelSftp sftpChannel = (ChannelSftp) channel;


                  try {
                  sftpChannel.cd(filepath);
                  String path = sftpChannel.ls(filename).toString();                  
                  if (!path.contains(filename)) {
                      System.out.println("File doesn't exist.");
                  } else
                      System.out.println("File already exist.");

              } catch (Exception e) {
                  e.printStackTrace();
              }

                InputStream in = sftpChannel.get(read);
                  try {
                        BufferedReader br = new BufferedReader(new InputStreamReader(in));
                        String line;
                        while ((line = br.readLine()) != null) {
                            System.out.println(line);
                        }

                    } catch (IOException io) {
                        System.out.println("Exception occurred during reading file from SFTP server due to " + io.getMessage());
                        io.getMessage();

                    } catch (Exception e) {
                        System.out.println("Exception occurred during reading file from SFTP server due to " + e.getMessage());
                        e.getMessage();

                    }

                  sftpChannel.exit();
                  session.disconnect();

              }

}

Excel Reader

public class ExcelReader {

    public static void main(String[] args) throws IOException, JSchException, SftpException {
        FTPCheckFileExists FP = new FTPCheckFileExists();
        String excelFilePath = "File.xlsx";
        FileInputStream inputStream = new FileInputStream(new File(excelFilePath));
        String Folder= null; 
        Workbook workbook = new XSSFWorkbook(inputStream);
        Sheet firstSheet = workbook.getSheetAt(0);
        Iterator<Row> iterator = firstSheet.iterator();

        while (iterator.hasNext()) {
            Row nextRow = iterator.next();
            Iterator<Cell> cellIterator = nextRow.cellIterator();

            while (cellIterator.hasNext()) {
                Cell cell = cellIterator.next();

                switch (cell.getCellType()) {
                    case STRING:
                        Station = cell.getStringCellValue();
                        System.out.println(Folder);
                        FP.FTP(Folder);
                        break;
                    default:
                        break;
                }

            }

        }

        workbook.close();
        inputStream.close();
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...