2015-08-10 2 views
0

может предложить любой из меня о том, как запускать несколько сценариев селеном в одном браузере Firefox и WebDriver должны быть инициализированы только те, и, что тоже в родительском классе, язык, используемый хорошо быть JavaМожно ли запускать несколько сценариев селен WebDriver в одном браузере?

Спасибо ..

ответ

0

Переименовать @before аннотацию JUnit в @beforeClass

пример кода

@BeforeClass 
     public void intialization(String machine) throws Exception { 




      driver = new FirefoxDriver(); 
       baseUrl = "http://"+machine+":8080/"; 
       driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); 
       driver.get(baseUrl); 
       utilities.Login(driver,"test","1234"); 
      } 

Как запустить другой класс Junit внутри одного класса, пожалуйста, проверить пример ниже

@Test 
    public void callotherJunitClasses() 
    { 
    JUnitCore.runClasses(TypeNameofyourClass.class); 


    } 
+0

hi fahad спасибо за ур ответ, моя вещь в одном браузере я хочу запустить несколько классов, то есть селен сценариев. Мой запрос заключается в том, как импортировать объект webdriver из класса родительского класса в дочерний класс – premkumar

+0

позволяет сказать, что у нас есть 3 классы class AB и C теперь предполагают один класс, который является для вас вызовом родительского класса, следующим кодом для RUN класса B и C внутри A – fahad

+0

JUnitCore.runClasses (B.class); JUnitCore.runClasses (C.class); в A – fahad

0

Вот один из способов сделать это:

Вы можете создать структуру, которая использует WebDriver для запуска Selenium тест-случаев. Инициализируйте драйвер (ChromeDriver или FirefoxDriver) только во время выполнения и запускайте тесты последовательно.

Например, если вы использовали пакеты ресурсов, у вас были бы FooTest.java и BarTest.java (ваши скрипты), наряду с FooTest.properties и BarTest.properties, из которых вы бы прочитали значения свойств, например input-text значения.

Вы могли бы иметь Launchpage.properties, который имеет URL будет запущен, например: localhost:8080\mypage WebDriver будет инициализирован рамками при запуске, и Launchpage.properties могут иметь этапы быть запущен серийно.

Что неявное здесь является то, что браузер открыт только один раз, поэтому действия теста 2 зависят, и должны добиться успеха действия теста 1.

+0

fahad & threesidedcoin, можем ли мы определить переменную Webdriver в родительском классе как глобальную, поэтому что он может быть доступен (вызван) от любого из них в проекте, возможно ли это? – premkumar

+0

Вы можете делегировать работу классу framework. например, в FooTest.java, вызывая вызовы mybutton.click, щелкните в классе framework, который имеет ссылку на Selenium. mybutton - это просто элемент с некоторой отличительной особенностью, например идентификатор или XPATH. – ThreeSidedCoin

+0

Если у вас есть ссылка на WebDriver в родительском, то да, он будет унаследован дочерним. – ThreeSidedCoin

0

Вы можете сделать это с многопоточной концепцию

  1. Initialize WebDriver
  2. Создание нескольких потоков и выполнять его

Это запустит выполнение кода паралельно на одном браузере

0

Спасибо всем за ваш запрос поддержки.

пакетОтель -> ClassA:

Intialized объект WebDriver в общественных местах, как ..

"публичный статический драйвер WebDriver = новый FirefoxDriver();"

Пакет B -> ClassB:

вызова переменной WebDriver в классе B по assiging в needsx

импорта PackageA.ClassA;

public static WebDriver нуждаетсяX = ClassA.Водитель;

так что теперь я могу получить доступ к переменной webdriver глобально и выполнить несколько сценариев в одном браузере последовательно.

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