2017-01-18 10 views
1

Я написал сценарий, управляемый данными, который был прочитан документом Excel, прочитанным с использованием Jexcel API, и теперь хочу отделить мои переменные в отдельный класс, но am получение ошибки «Невозможно сделать статическую ссылку на нестатические поля».Selenium Webdriver - ссылка на нестационарную строку jexcel как статическую

Можете ли вы посоветовать, как я могу это сделать, образец класса «переменная» отображается ниже;

//jexcel sheet/cell reference 
Cell btcell0 = sheet.getCell(6, 2); 
//variable name required to be static 
String tNbuyName = btcell0.getContents(); 

Пример я видел, который позволил бы мне ссылаться на переменном из другого класса, который производит «Не удается сделать статическую ссылку на нестатическое поле» ошибку;

public static final String tNbuyName = .............. 

ответ

1

Нельзя присвоить статическое значение статическому классу. Либо метод, из которого вы получаете значение, должен быть статическим методом, либо поле tNbuyName должно быть не статическим.

Либо сделайте tNbuyName как нестатический, либо сделайте статический метод утилиты, чтобы получить значение и присвоить его имени tNbuyName.

0

Привет, ребята спасибо за возвращается ко мне, мое понимание для этого становится все яснее, но я все еще немного облачный ....

Это метод я использую из КЛАССА «ExcelUtils»

public static void setExcelFile(String Path, int Sheetname) throws Exception { 


    try { 
     Workbook workb = Workbook.getWorkbook(new File(Path)); 
     Sheet = workb.getSheet(Sheetname); 
    } catch (Exception e) { 
     throw (e); 
    } 
} 


public static String getCellData(int ColNum, int RowNum) throws Exception{ 

    try { 
     Cell = Sheet.getCell(ColNum, RowNum); 
     String CellData = Cell.getContents(); 
     return CellData; 

    } catch (Exception e) { 
     return ""; 
    } 
} 

После этого в классе «» ResultsMap Я присваивающее значение для моих переменного ......

public class ResultsMap { 

public static void WriteTo() throws Exception { 

String tNbuyName = ExcelUtils.getCellData(6, 2); 
String tNbuyPass = ExcelUtils.getCellData(6, 3); 
String tAccName = ExcelUtils.getCellData(6, 4); 
String tCasNo = ExcelUtils.getCellData(6, 5); 
etc, etc...... 

но теперь в классе AdminBUser Я хочу получить доступ к переменным, какв ResultsMap, но как бы я это сделал?

В качестве примера я пытавшегося System.out.println (ResultsMap.WriteTo (tNbuyName);

Но сообщение отображается советуя, что tNbuyName не может быть решена с переменной

Это файл структура как есть ......

Image of package explorer

 Смежные вопросы

  • Нет связанных вопросов^_^