testng test через селеновую сетку возвращает ошибку, т.е. путь к драйверу, но тест для firefox

1

Я пытаюсь запустить тест, используя testng через селеновую сетку.

эти тесты работали ранее, но сегодня я получаю эту ошибку:

The path to the driver executable must be set by the webdriver.ie.driver system property

Эта ошибка не имеет смысла, потому что мой тест должен работать на firefox.

Вот бит...

TestNG

 <test name="Run using Firefox 25 on Windows 7">
  <parameter name="GridBrowser"  value="firefox25win7"/>
    <classes>
      <class name="com.coursestrand_courseoverviewpanel.CourseOverviewPanelTest"/>
    </classes>
 </test> 

CODE SNIPPET ДЛЯ ВЫШЕ ЗНАЧЕНИЯ

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

import org.openqa.selenium.remote.DesiredCapabilities;

     public class Configuration {

        public static DesiredCapabilities setCap; 
        public static final String GRID_HUB_URL = "http://192.168.53.67:4444/wd/hub";

        public static String SeleniumGridSetup(String gridBrowser) {

        String newGridBrowser = gridBrowser;

        switch (newGridBrowser) {


        case "firefox25win7": 
            System.out.println("Firefox Version 25.0 on Windows 7");
            setCap= DesiredCapabilities.firefox();
            setCap.setBrowserName("firefox25win7"); 
            setCap.setPlatform(org.openqa.selenium.Platform.WINDOWS);
            break;
        }

    return newGridBrowser;
}

ЗДЕСЬ МОЙ ИСПЫТАНИЕ

import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.springframework.beans.factory.annotation.Autowired;
import org.testng.annotations.*;
import com.environments.Configuration;
import com.thoughtworks.twist.core.execution.TwistScenarioDataStore;
import org.openqa.selenium.firefox.*;

import org.testng.Assert;

   public class CourseOverviewPanelTest {

    public WebDriver browser;
    public static String url; 

    @Autowired
    private TwistScenarioDataStore scenarioStore;

    @Parameters({"GridBrowser"})
    public CourseOverviewPanelTest(String GridBrowser) throws Exception {           

    Configuration.SeleniumGridSetup(GridBrowser);
    browser = new RemoteWebDriver(new URL(Configuration.GRID_HUB_URL), Configuration.setCap);

    url = Configuration.getUrl();
    browser.manage().window().maximize();
    browser.navigate().to(url + "/course-list.html");
}

public CourseOverviewPanelTest() throws Exception {

    browser = new FirefoxDriver(); 
    browser.manage().window().maximize();

    url = Configuration.getUrl();
    browser.navigate().to(url + "/course-list.html");

}

// Test methods start from here for Landing page carousel

@Test
public void displayCourseTitleAndDescription() throws Exception {

    final String courseTitle = browser.findElement(By.xpath("/html/body/section/section/article/ul/li[1]/h4")).getText();
    Assert.assertEquals("Maths", courseTitle);
}

СЕЛЕНОВОЙ СЕТЕВОЙ УЗЕЛ

java -jar selenium-server-standalone-2.39.0.jar -role webdriver -hub  http://192.168.53.67:4444/grid/register -browser browserName="firefox25win7",platform=WINDOWS -port 5585

ЭТО КОНФИГУРАЦИЯ, СОЗДАВАЕМАЯ В СЕТЕВОЙ КОЛЛЕКЕ, КОГДА УГРОЖДАЕТСЯ FIREFOX NODE

role:webdriver

remoteHost:http://192.168.53.70:5585

hubHost:192.168.53.67

hubPort:4444

prioritizer:null

timeout:300000

throwOnCapabilityNotPresent:true

nodePolling:5000

url:http://192.168.53.70:5585

newSessionWaitTimeout:-1

proxy:org.openqa.grid.selenium.proxy.DefaultRemoteProxy

cleanUpCycle:5000

hub:http://192.168.53.67:4444/grid/register

port:5585

browser:browserName=firefox25win7,platform=WINDOWS

browserTimeout:0

host:192.168.53.70

servlets:[]

maxSession:5

registerCycle:5000

capabilityMatcher:org.openqa.grid.internal.utils.DefaultCapabilityMatcher

register:true

Когда я выполняю тест testng, ошибка возвращается в консоли.

Примечание. Если я устанавливаю путь к исполняемому драйверу (в узле), тогда тест запускается в IE!

ДАЛЬНЕЙШЕЕ ПРИМЕЧАНИЕ. Проблема также возникает, когда я запускаю свой хром-узел, который выглядит следующим образом:

java -Dwebdriver.chrome.driver=C:/selenium-server/chromedriver.exe -jar selenium-server-standalone-2.39.0.jar -role webdriver -hub http://192.168.53.67:4444/grid/register -port 5566 -browser browserName="chromeLatestWindows7",platform=WINDOWS

Сумасшедшая вещь, если я изменю -Dwebdriver. chrome.driver = C: /selenium-server/chromedriver.exe в указанном выше узле -Dwebdriver. т.е..driver = C: /selenium-server/chromedriver.exe, тогда мой тест работает отлично в хроме!

  • 0
    Можете ли вы добавить больше кода в свой фрагмент, каков остальной код и где он вызывается?
  • 0
    добавил большую часть моего кода выше.
Теги:
selenium
grid
testng
firefox

1 ответ

0
Лучший ответ

Проблема связана с именем браузера. Согласно документации допустимые значения: "Параметры, разрешенные для -browser: browserName = {android, chrome, firefox, htmlunit, Internet explorer, iphone, opera}". Измените имя firefox25win7 на firefox, и оно должно работать.

  • 0
    спасибо оооочень большое !! работал угощение !!!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню