기본적으로 firefox와 chrome에서 모두 테스트 케이스를 실행하는 우분투 서버에서 셀레늄 테스트 케이스를 실행합니다. 파이어 폭스 출시 및 테스트 케이스를 성공적으로 실행되지만 크롬 예외가 발생합니다 : 포트 21549Webdriver 예외 : "chrome not reachable"
에 ChromeDriver (v2.8.240825)를 시작 *****:
***** 아래는 스택 트레이스의 조각입니다
org.openqa.selenium.WebDriverException : 0123에 도달 할 수없는 크롬
테스트 IntegrationTest.AdminUserelementscheck 실패에는 시스템 구현이 없기 때문에
PAC 지원이 비활성화 (경고 : 서버가 스택 추적 정보를 제공하지 않았습니다.) [오류] 명령 기간 또는 시간 초과 : 20.83 초
[오류 : chromedriver = 2.8.240825, 플랫폼 = Linux 2.6.32-431.el6.x86_64 x86_64안녕 다음은 내 코드의 작은 조각이다 :
public class IntegrationTest {
private static final String configFile="test.properties";
private final String FIREFOX="firefox";
private final String CHROME="chrome";
private final String PHANTOMJS="phantomjs";
private final String BROWSERNAME="browser";
private static Properties props = new Properties();
public WebDriver webDriver;
private static Configuration additionalConfigurations;
@BeforeClass
public static void setUp() throws IOException, SQLException{
props.load(IntegrationTest.class.getResourceAsStream("/" + configFile));
}
@test
public void AdminUserelementscheck() throws SQLException, IOException {
String[] browsers = props.getProperty(BROWSERNAME).split(",");
System.out.println("Number of browsers specified in conf:"+props.getProperty(BROWSERNAME));
for(String browser:browsers){
System.out.println("Browser currently processing:"+browser);
if(browser.equalsIgnoreCase(FIREFOX))
webDriver = new FirefoxDriver();
else if(browser.equalsIgnoreCase(CHROME))
webDriver = new ChromeDriver();
else
webDriver = new PhantomJSDriver();
running(testServer(3333,fakeApplication()),webDriver, new Callback<TestBrowser>() {
********* LOGIN AND ASSERTION STATMENTS*******************
browser.quit()
}
});
}
도커 컨테이너와 원격 장치/호스트 사이의 포트 전달 문제 일 수도 있습니다. –