Как добавить лист в Excel при написании через Apache POI, Selenium - PullRequest
0 голосов
/ 28 января 2020

Мне нужно выбрать значение из раскрывающегося списка, соответственно данные будут заполнены на экране, а затем должны записать их в Excel. Для выбора значения из выпадающего списка мне нужно вызвать отдельный метод, как показано ниже, 2 метода. (Всего 6 опций нужно выбрать из выпадающего списка, код недоступен, поэтому их нужно искать только с текстом ().)

public void selectEmployee1()  {
        Option.clear(); Option.click();
        Option.sendKeys("pari");
        driver.findElement(By.xpath("//*[text()='pari dh']")).click();
        Option.sendKeys(Keys.ENTER);
        }
    public void selectEmployee()  {
        Option.clear();Option.click();
        Option.sendKeys("niti");
        driver.findElement(By.xpath("//*[text()='niti ss']")).click();
        Option.sendKeys(Keys.ENTER);
        }

После выбора опции и заполнения данных я выполняю приведенный ниже метод PerformanceDetails ( ) который успешно записывает данные в файл Excel. publi c void PerformanceDetails () создает исключение {StringierarchyNav = driver.findElement (By.xpath ("// a [@ id = 'HieararchyDropdownPerformanceWidget_1_a']")). getAttribute ("title"); // Запись в Excel
XSSFWorkbook wb = new XSSFWorkbook (); XSSFSheet sheet = wb.createSheet ("Уровень NAVVIS"); FileOutputStream fos = new FileOutputStream ("C: \ Users \ dp \ Desktop \ XYZ.xlsx");

    Row header_1 = sheet.createRow(rowNum[0]);
    rowNum[0] = (rowNum[0] + 1);
    header_1.createCell(0).setCellValue("My Project");

    Row header2 = sheet.createRow(rowNum[0]);
    rowNum[0] = (rowNum[0] + 1);
    header2.createCell(0).setCellValue(hierarchy.getText());
    header2.createCell(1).setCellValue(hierarchyNav);

    for(int columnIndex = 0; columnIndex < 10; columnIndex++) {
           sheet.autoSizeColumn(columnIndex);}
    try {
        wb.write(fos);
        fos.close();
        System.out.println("howtodoinjava_demo.xlsx written successfully on disk.");
    } catch (Exception e) {
        e.printStackTrace();
    }}

Мой вопрос заключается в том, как мне записать данные в один файл Excel (в другой лист) для меня все 6 вариантов. Я написал тест, как показано ниже, который создает 2 отдельных файла Excel.

@Test
public void measureTest() throws Exception {
    palocity.hoverTest();
    palocity.selectEmployee1();
    palocity.PerformanceDetails();
    }
@Test
public void measureTest() throws Exception {
    palocity.hoverTest();
    palocity.selectEmployee2();
    palocity.PerformanceDetails();
    }

Как записать все данные 6 опций в один файл Excel.

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