2016-03-11 3 views
0

Мне нужно знать способ доступа к переменным метода из класса другими методами или другим классом.Доступ к переменным Selenium Java

пример ниже: я поместил все локаторы страницы регистрации в один элемент метода(), а затем я пытаюсь использовать идентификаторы e1 в основном методе того же класса A и в другом классе B, я создал ссылку на объект класса A, а затем попробовать то же самое. его не работает, и мне нужно знать правильный путь здесь.

public class test3 { 

    public void elements(){ 

    By e1=By.id("at-i"); 
    By e2=By.xpath("//td/td[2]"); 

    } 

    public static void main (String args[]) 
    { 

    WebDriver driver=new FirefoxDriver(); 
    driver.get("http://testwebsite.com"); 
    WebElement a1=driver.findelement(e1); 

    } 
    } 

    class b{ 

    public static void main (String args[]) { 

     test3 x=new test3(); 

     Webelement a2=x.driver.findelement(e2); 

    } 
} 

ответ

0

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

Если вы хотите обмениваться переменными между методами, вам нужно указать их как переменные-члены класса (также мы не используем метод main с селеном).

В вашем случае я предлагаю вам ознакомиться с каркасом TestNG.

0

Переменные E1 и E2 имеют локальную область применения только elements().

Вы должны объявить переменные глобально для доступа к ним в любом месте с классом.

Подсказка: Объявить переменные за пределами elements() метод, но внутри test3 Класс.

0

Проверьте это. Надежда ниже кода поможет вам.

пример упаковки;

import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.firefox.FirefoxDriver; 

public class A { 
    public static WebDriver driver = new FirefoxDriver(); 

    public By elements() { 
     By e2 = By.xpath("//td/td[2]"); 
     return e2; 
    } 

    public static void main(String args[]) { 
     A conA = new A(); 
     driver.get("http://testwebsite.com"); 
     WebElement a1 = driver.findElement(conA.elements()); 
     a1.sendKeys("hello"); 
    } 
} 

class B1 { 
    public static void main(String args[]) { 

     A x = new A(); 

     WebElement b1 = x.driver.findElement(x.elements()); 
    } 
} 
Смежные вопросы