2016-01-18 2 views
1

В настоящее время я запускаю свои тесты с моей локальной машины, теперь я хочу выполнить свои тесты с помощью Jenkins, используя селенную сетку.Интеграция сетки в объектную модель страницы

В настоящее время мой набор на проект создан следующим образом:

public BasePage(WebDriver driver){ 

    this.driver = driver; 
    jsExecutor = ((JavascriptExecutor) driver); 
    wait = new WebDriverWait(driver, 200); 
} 

public void loadPage(){ 

    driver.get(getPageUrl()); 
    driver.manage().window().maximize(); 
} 

Эти методы наследуются

CretePage.java 

public CreateClass(WebDriver driver) { 
     super(driver); 
     this.PAGE_URL = "http://xxxxxx.12121/home"; 
    } 


public void createClass(String name){ 
    openPage(); 
    findDynamicElement(By.id("id"), 12); 
    clickElement(button_Save); 
} 

Тогда мой тест выполняется для класса RunTest.java

public WebDriver driver; 
    public WebDriverWait wait; 
    CreateLocation CreateLocation; 


    @BeforeClass(alwaysRun = true) 
    public void setup(){ 
     this.driver = new FirefoxDriver(); 
     wait = new WebDriverWait(driver, 10); 

     CreatePage = PageFactory.initElements(driver, CreatePage.class); 

@Test(priority=1) 
public void createClass(){ 
    CreateClass.createClass("Selenium Webdriver Class"); 

} 

Любой изменения кода, которые я сделал до сих пор, привели к сбоям сборки или пустым браузерам пчел n запущен. Может ли кто-нибудь объяснить, что я должен попробовать, или статью, чтобы прочитать, чтобы помочь мне в этом вопросе.

ответ

0

Предполагая, что у вас есть концентратор и один или несколько узлов, настроенных и запущенных, вам необходимо использовать класс RemoteWebDriver и DesiredCapabilities. Все это должно быть сделано в setUp(). Что-то вроде этого:

@BeforeClass 
public void setUp() { 
    String baseUrl = "http://www.google.com"; // Wherever you start your test 
    String nodeUrl = "http://localhost:4444/wd/hub"; // Whatever the URL is to your hub 
    DesiredCapabilities capabilities = DesiredCapabilities.firefox(); 
    capabilities.setBrowserName("firefox"); 
    driver = new RemoteWebDriver(new URL(nodeUrl), capabilities); 
    driver.get(baseUrl); 
} 

Я нашел большую часть этой информации на Selenium's GitHub page.

+0

Я пробовал это, он не работает с моим текущим кодом, показанным выше. Он открывает только второй пустой браузер. Где именно я должен помещать это в код, который я предоставил? – trevdro

+0

Узел и хабы работают нормально, когда я использую основной скрипт селена. Он пытается создать фреймворк, который использует модель объекта проекта и селеновую сетку. Я получаю проблемы во время выполнения. – trevdro

+0

Какова ошибка выполнения, которую вы получаете? Пожалуйста, добавьте его в свое исходное сообщение. – justsomeguy

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