2015-07-19 2 views
0

Я столкнулся с действительно красивым и простым API-интерфейсом xls и xlsx под названием Fillo. Я сделал электронную таблицу со следующими значениями, как большинство людей знают все заглавные буквы разделов для названия категорий в SeacРеализация Fillo

USERID PASS 
joe  bigjoe 
jim  bigjim 
john  bigjohn 

Теперь вот код:

import Exception.FilloException; 
    import Fillo.*; 


    public class CallBack { 
    public static void main(String args[]) throws FilloException { 
     testFillo(); 
    } 

    private static void testFillo() throws FilloException { 
     Fillo fillo=new Fillo(); 
     Connection connection=fillo.getConnection("logindatabase.xls"); 
     String strQuery="Select * from Sheet1 where USERID='*' and PASS='*'"; 
     Recordset recordset=connection.executeQuery(strQuery); 

     /* 
     * I'm wanting the login check to be right here 
     */ 

     recordset.close(); 
     connection.close(); 

    } 
} 

Функция Логин должен пройти сначала столбец USERID, и как только он обнаружит, что он проверит соответствующее значение PASS. Поэтому, если он нашел «jim» в качестве пользователя, он затем проверяет «bigjim» как пароль.

Таким образом, большой вопрос: как бы я установил что-то подобное?

Вот Fillo Documentation.

Все самое лучшее,

Groax

+0

У вас есть вопросы? –

ответ

0

вы можете попробовать это ... Это не полностью настроена, но это поможет ...

государственной статической силы selectData (String TCID, String ИмяПоля) throws FilloException {

Fillo fillo=new Fillo(); 
    Connection connection=fillo.getConnection("testdata//testcasedata.xlsx"); 
    String strQuery="Select * from data where TCID='"+tcid+"'"; 
    Recordset recordset=connection.executeQuery(strQuery); 
    while(recordset.next()){ 
     ArrayList<String> dataColl=recordset.getFieldNames(); 
     //System.out.println(dataColl); 
     Iterator<String> dataIterator=dataColl.iterator(); 
     //System.out.println(dataColl.size()); 

     while(dataIterator.hasNext()){ 
      for (int i=0;i<=dataColl.size()-1;i++){ 
       //System.out.println(i); 
       String data=dataIterator.next(); 
       String dataVal=recordset.getField(data); 

       if (dataVal.equalsIgnoreCase(fieldName)){ 
        //System.out.println("passed"); 
        i=i+1; 
        //System.out.println(i); 
        String testData=dataColl.get(i); 
        System.out.println(recordset.getField(testData)); 

       } 

      } 

      break; 
     } 
    } 

    recordset.close(); 
    connection.close(); 

} 
0

Вам нужно будет расположить таблицу как базу данных, так как fillo работает как база данных. Поместите все, что связано с тестовым примером подряд. как прикреплено.

ниже - код для чтения и вызов класса входа в систему.

 package com.evs.vtiger.framework.util; 

     import java.util.ArrayList; 
import java.util.Iterator; 

import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.openqa.selenium.support.PageFactory; 

import com.evs.vtiger.framework.pages.home.myhomepage.HomePage; 

import Exception.FilloException; 
import Fillo.Connection; 
import Fillo.Fillo; 
import Fillo.Recordset; 
import com.evs.vtiger.framework.pages.login.login.LoginPage; 

public class TestingFillo { 

    public static void main(String[] args) throws FilloException { 

     WebDriver driver=new FirefoxDriver(); 
     driver.manage().window().maximize(); 
     driver.get("http://localhost:8080/NBOWeb"); 
     LoginPage lpObj=PageFactory.initElements(driver, LoginPage.class); 
     lpObj.pg_ValidLogin("TC001"); 

    } 

    public static String getTestValue(String TCID, String fieldName) throws FilloException{ 

     String testString=xlTesting(TCID, fieldName); 
     return testString; 

    } 

    public static String xlTesting(String tcid,String fieldName) throws FilloException{ 
     String testval=null; 
     Fillo fillo=new Fillo(); 
     Connection connection=fillo.getConnection("TestData//TestData.xlsx"); 
     String strQuery="Select * from data where TCID='"+tcid+"'"; 
     Recordset recordset=connection.executeQuery(strQuery); 
     while(recordset.next()){ 
      ArrayList<String> dataColl=recordset.getFieldNames(); 
      //System.out.println(dataColl); 
      Iterator<String> dataIterator=dataColl.iterator(); 
      //System.out.println(dataColl.size()); 

      while(dataIterator.hasNext()){ 
       for (int i=0;i<=dataColl.size()-1;i++){ 
        //System.out.println(i); 
        String data=dataIterator.next(); 
        String dataVal=recordset.getField(data); 

        if (dataVal.equalsIgnoreCase(fieldName)){ 
         //System.out.println("passed"); 
         i=i+1; 
         //System.out.println(i); 
         String testData=dataColl.get(i); 
         //System.out.println(recordset.getField(testData)); 
         String testValue= recordset.getField(testData); 
         testval=testValue; 
        } 

       } 

       break; 
      } 
     } 

     recordset.close(); 
     connection.close(); 
     return testval; 
    } 


    public static void inputText(WebElement we, String fieldName, String TCID) throws FilloException{ 
     String fval=getTestValue(TCID, fieldName); 
     we.sendKeys(fval); 

    } 


} 

Теперь вот код авторизации

package com.evs.vtiger.framework.pages.login.login; 
    import org.openqa.selenium.WebElement; 

import org.openqa.selenium.support.CacheLookup; 
import org.openqa.selenium.support.FindBy; 
import org.openqa.selenium.support.PageFactory; 

import Exception.FilloException; 

import com.evs.vtiger.framework.pages.home.myhomepage.HomePage; 
import com.evs.vtiger.framework.util.TestingFillo; 
import com.evs.vtiger.framework.util.UI; 
import com.evs.vtiger.framework.util.XLReader; 

public class LoginPage { 

    @FindBy(name="username") 
    public WebElement UserName_ED; 

    @FindBy(xpath="//input[@type='password']") 
    public WebElement Password_ED; 

    @FindBy(xpath="//input[@value='login']") 
    public WebElement Login_BT; 



    public void pg_ValidLogin(String TCID) throws FilloException { 
     /*UI.fn_Input(UserName_ED, "UserName_ED"); 
     UI.fn_Input(Password_ED, "Password_ED"); 
     UI.fn_Click(Login_BT);*/ 

     //UserName_ED.sendKeys("abc"); 


     TestingFillo.inputText(UserName_ED, "UserName_ED", TCID); 
     TestingFillo.inputText(Password_ED, "Password_ED", TCID); 
     Login_BT.click(); 

     // HomePage hpObj=PageFactory.initElements(UI.driver, HomePage.class); 
     // return hpObj; 
    } 

    public void pg_InValidLogin() { 
     UserName_ED.sendKeys("rahul"); 
     Password_ED.sendKeys("admin"); 
     Login_BT.click(); 
    } 

} 

Я надеюсь, что это имеет смысл. Пожалуйста, проигнорируйте прокомментированный код. простите за это.

Thanks Nitin