Selenium + groovy의 운영 환경을 만들고 싶었습니다 (재활)
9561 단어 SeleniumGrid셀레늄Groovy
소개
Selenium이 작동하는 환경을 쉽게 만들고 싶었습니다.
결국 Eclipse를 설치했기 때문에 리벤지
마지막 기사
ぃ tp // 이 m / g ぅ 2013 / ms / fbd4 b5409 f5b23f15
고찰
마지막 로그에서 FireFox가 시작되지 않았습니다. 이것은 화면을 보더라도 알 수 있습니다.
그래서 FireFox의 기동을 따로 가고 테스트 스크립트를 실행해 본다
브라우저의 실행은 SeleniumGrid에게 담당한다.
설정
SeleniumGrid의 실행은 허브와 노드로 나뉩니다.
이번에는 hub node 테스트 스크립트 실행기 모두 같은 머신에서 실시
현재 디렉토리에 selenum-server-standalone.jar 및 iedriver chromedriver를 저장하십시오.
허브
명령 프롬프트에서 hub 시작
c:>java -jar selenium-server-standalone-2.45.0.jar -role hub
잠시 후 노드 확인을 위한 폴링이 시작됩니다.
브라우저에서 액세스하여 시작을 확인합니다.
node
node측의 설정은 커멘드 라인으로부터도 행할 수 있지만 json 파일에 정의할 수도 있으므로 이것으로 설정한다
{
"capabilities" : [
{
"browserName": "firefox",
"maxInstances": 2,
"seleniumProtocol": "WebDriver"
},
{
"browserName": "chrome",
"maxInstances": 2,
"seleniumProtocol": "WebDriver"
},
{
"browserName": "internet explorer",
"maxInstances": 2,
"seleniumProtocol": "WebDriver"
}
]
,
"configuration":
{
"hub": "http://localhost:4444/grid/register"
}
}
다른 명령 프롬프트에서이 설정을 인수에 전달하여 노드를 시작합니다.
C:>java -jar selenium-server-standalone-2.45.0.jar -role node -nodeConfig node.json -Dwebdriver.ie.driver=./IEDriverServer.exe -Dwebdriver.chrome.driver=./chromedriver.exe
브라우저에서 "default monitoring page : console"의 텍스트 링크에서 콘솔로 전환 등록 된 노드를 확인
테스트 스크립트
테스트 스크립트 측은 firefox를 기동하고 있던 곳을 remorteDriver로 전환해, capability 설정으로 노드를 지정하도록 변경합니다
import java.util.concurrent.TimeUnit
// import java.util.Date;
// import java.io.File;
// import org.openqa.selenium.support.ui.Select;
// import org.openqa.selenium.interactions.Actions;
// import org.openqa.selenium.firefox.FirefoxDriver;
// import org.openqa.selenium.*;
// import static org.openqa.selenium.OutputType.*;
import org.openqa.selenium.By
import org.openqa.selenium.Platform
import org.openqa.selenium.WebDriver
import org.openqa.selenium.remote.DesiredCapabilities
import org.openqa.selenium.remote.RemoteWebDriver
public class SeleniumBuilder {
public static void main(String[] args) throws Exception {
// FirefoxDriver wd;
// wd = new FirefoxDriver();
DesiredCapabilities capability = new DesiredCapabilities();
capability.setBrowserName("firefox");
capability.setPlatform(Platform.VISTA);
WebDriver wd = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability);
wd.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
wd.get("http://www.yahoo.co.jp/");
wd.findElement(By.id("srchtxt")).click();
wd.findElement(By.id("srchtxt")).clear();
wd.findElement(By.id("srchtxt")).sendKeys("selenium");
wd.findElement(By.id("srchbtn")).click();
wd.findElement(By.linkText("Selenium - Web Browser Automation")).click();
wd.quit();
}
/*
public static boolean isAlertPresent(FirefoxDriver wd) {
try {
wd.switchTo().alert();
return true;
} catch (NoAlertPresentException e) {
return false;
}
}
*/
}
테스트 스크립트 실행
다른 명령 프롬프트에서 테스트 스크립트 실행
c:>groovy gridselenium.groovy
노드 실행 중인 명령 프롬프트에 실행 로그가 표시됨
11:03:29.614 INFO - Executing: [new session: Capabilities [{browserName=firefox}]])
11:03:29.637 INFO - Creating a new session for Capabilities [{browserName=firefox}]
11:03:41.471 INFO - Done: [new session: Capabilities [{browserName=firefox}]]
11:03:41.625 INFO - Executing: [implicitly wait: 60000])
11:03:41.704 INFO - Done: [implicitly wait: 60000]
11:03:41.715 INFO - Executing: [get: http://www.yahoo.co.jp/])
11:03:46.580 INFO - Done: [get: http://www.yahoo.co.jp/]
11:03:46.636 INFO - Executing: [find element: By.id: srchtxt])
11:03:47.291 INFO - Done: [find element: By.id: srchtxt]
11:03:47.369 INFO - Executing: [click: 0 [[FirefoxDriver: firefox on WINDOWS (9a2b5cae-a329-4b09-bcff-e1868c2c560e)] -> id: srchtx
t]])
11:03:48.089 INFO - Done: [click: 0 [[FirefoxDriver: firefox on WINDOWS (9a2b5cae-a329-4b09-bcff-e1868c2c560e)] -> id: srchtxt]]
11:03:48.104 INFO - Executing: [find element: By.id: srchtxt])
11:03:48.259 INFO - Done: [find element: By.id: srchtxt]
11:03:48.282 INFO - Executing: [clear: 0 [[FirefoxDriver: firefox on WINDOWS (9a2b5cae-a329-4b09-bcff-e1868c2c560e)] -> id: srchtx
t]])
11:03:48.415 INFO - Done: [clear: 0 [[FirefoxDriver: firefox on WINDOWS (9a2b5cae-a329-4b09-bcff-e1868c2c560e)] -> id: srchtxt]]
11:03:48.433 INFO - Executing: [find element: By.id: srchtxt])
11:03:48.496 INFO - Done: [find element: By.id: srchtxt]
11:03:48.512 INFO - Executing: [send keys: 0 [[FirefoxDriver: firefox on WINDOWS (9a2b5cae-a329-4b09-bcff-e1868c2c560e)] -> id: sr
chtxt], [selenium]])
11:03:48.692 INFO - Done: [send keys: 0 [[FirefoxDriver: firefox on WINDOWS (9a2b5cae-a329-4b09-bcff-e1868c2c560e)] -> id: srchtxt
], [selenium]]
11:03:48.708 INFO - Executing: [find element: By.id: srchbtn])
11:03:48.858 INFO - Done: [find element: By.id: srchbtn]
11:03:48.880 INFO - Executing: [click: 1 [[FirefoxDriver: firefox on WINDOWS (9a2b5cae-a329-4b09-bcff-e1868c2c560e)] -> id: srchbt
n]])
11:03:50.447 INFO - Done: [click: 1 [[FirefoxDriver: firefox on WINDOWS (9a2b5cae-a329-4b09-bcff-e1868c2c560e)] -> id: srchbtn]]
11:03:50.465 INFO - Executing: [find element: By.linkText: Selenium - Web Browser Automation])
11:03:50.810 INFO - Done: [find element: By.linkText: Selenium - Web Browser Automation]
11:03:50.819 INFO - Executing: [click: 2 [[FirefoxDriver: firefox on WINDOWS (9a2b5cae-a329-4b09-bcff-e1868c2c560e)] -> link text:
Selenium - Web Browser Automation]])
11:03:51.976 INFO - Done: [click: 2 [[FirefoxDriver: firefox on WINDOWS (9a2b5cae-a329-4b09-bcff-e1868c2c560e)] -> link text: Sele
nium - Web Browser Automation]]
11:03:51.996 INFO - Executing: [delete session: be68ba47-ab0c-4f34-b2b9-22a6181cbe6f])
11:03:54.061 INFO - Command failed to close cleanly. Destroying forcefully (v2). org.openqa.selenium.os.UnixProcess$SeleniumWatchD
og@a3712f
11:04:23.609 INFO - Done: [delete session: be68ba47-ab0c-4f34-b2b9-22a6181cbe6f]
무사히 실행 확인
고찰
테스트 스크립트에서 firefox 기동을 분리하면 기동할 수 있었다.
그렇다면 원래 firefox는 왜 시작되지 않을까요?
그렇다면 이런 경우 어떻게 해결하면 좋을까? ? ?
검색했을 때 같은 문제가있는 것이있었습니다.
h tps : // 흐림 b ぃ ft. 아 t ぁしあん. 네 t/b로 w세/긴 T-86
끝?
이 환경이 간단하게 구축할 수 있는 것인가라고 하면···음.
크로스 브라우저도 시야에 들어가 있다면 한 손인 것 같지만...
리벤지 할 수있는 느낌이 없다 (토혈
Selenium 서버도 Docker에서. Docker Selenium 리뷰
htp://k의 w㎇d게. 사쿠라. 아 d. jp/t ch/2631/
Docker로 Selenium Grid의 환경 구축을 더욱 편하게!
ぇぇぺぺr. cy 흐림. 이. jp/는 ch/? p=8113
Docker로 Selenium Grid로 병렬 실행 환경 구축
h tp : 작은 m/아카사카 s/있어 MS/233f04아 5C47d2075c262
Docker on CoreOS on Virtualbox(Vagrant)에서 Selenium Grid Node를 대량으로 만들고 병렬로 둘러싸고 싶다
htp // // 똥. 하테나 bぉg. 코m/엔트리/2013/12/23/220537
그건 그렇고
SeleniumGrid 환경에서 실행하면 마지막에 다음이 표시됩니다.
이것도 오래 전부터 나오지만 원인 불명이구나~
참고
Selenium 2 소개
h tp // w w. 이 bm. 이 m /에서 ゔ ぉぺr rks / jp / ぇ b / ぃ b 등 ry / 와세 ㅇ m2 /
Reference
이 문제에 관하여(Selenium + groovy의 운영 환경을 만들고 싶었습니다 (재활)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/gluelan2013/items/056d717073e0a6251996
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
c:>java -jar selenium-server-standalone-2.45.0.jar -role hub
{
"capabilities" : [
{
"browserName": "firefox",
"maxInstances": 2,
"seleniumProtocol": "WebDriver"
},
{
"browserName": "chrome",
"maxInstances": 2,
"seleniumProtocol": "WebDriver"
},
{
"browserName": "internet explorer",
"maxInstances": 2,
"seleniumProtocol": "WebDriver"
}
]
,
"configuration":
{
"hub": "http://localhost:4444/grid/register"
}
}
C:>java -jar selenium-server-standalone-2.45.0.jar -role node -nodeConfig node.json -Dwebdriver.ie.driver=./IEDriverServer.exe -Dwebdriver.chrome.driver=./chromedriver.exe
import java.util.concurrent.TimeUnit
// import java.util.Date;
// import java.io.File;
// import org.openqa.selenium.support.ui.Select;
// import org.openqa.selenium.interactions.Actions;
// import org.openqa.selenium.firefox.FirefoxDriver;
// import org.openqa.selenium.*;
// import static org.openqa.selenium.OutputType.*;
import org.openqa.selenium.By
import org.openqa.selenium.Platform
import org.openqa.selenium.WebDriver
import org.openqa.selenium.remote.DesiredCapabilities
import org.openqa.selenium.remote.RemoteWebDriver
public class SeleniumBuilder {
public static void main(String[] args) throws Exception {
// FirefoxDriver wd;
// wd = new FirefoxDriver();
DesiredCapabilities capability = new DesiredCapabilities();
capability.setBrowserName("firefox");
capability.setPlatform(Platform.VISTA);
WebDriver wd = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability);
wd.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
wd.get("http://www.yahoo.co.jp/");
wd.findElement(By.id("srchtxt")).click();
wd.findElement(By.id("srchtxt")).clear();
wd.findElement(By.id("srchtxt")).sendKeys("selenium");
wd.findElement(By.id("srchbtn")).click();
wd.findElement(By.linkText("Selenium - Web Browser Automation")).click();
wd.quit();
}
/*
public static boolean isAlertPresent(FirefoxDriver wd) {
try {
wd.switchTo().alert();
return true;
} catch (NoAlertPresentException e) {
return false;
}
}
*/
}
c:>groovy gridselenium.groovy
11:03:29.614 INFO - Executing: [new session: Capabilities [{browserName=firefox}]])
11:03:29.637 INFO - Creating a new session for Capabilities [{browserName=firefox}]
11:03:41.471 INFO - Done: [new session: Capabilities [{browserName=firefox}]]
11:03:41.625 INFO - Executing: [implicitly wait: 60000])
11:03:41.704 INFO - Done: [implicitly wait: 60000]
11:03:41.715 INFO - Executing: [get: http://www.yahoo.co.jp/])
11:03:46.580 INFO - Done: [get: http://www.yahoo.co.jp/]
11:03:46.636 INFO - Executing: [find element: By.id: srchtxt])
11:03:47.291 INFO - Done: [find element: By.id: srchtxt]
11:03:47.369 INFO - Executing: [click: 0 [[FirefoxDriver: firefox on WINDOWS (9a2b5cae-a329-4b09-bcff-e1868c2c560e)] -> id: srchtx
t]])
11:03:48.089 INFO - Done: [click: 0 [[FirefoxDriver: firefox on WINDOWS (9a2b5cae-a329-4b09-bcff-e1868c2c560e)] -> id: srchtxt]]
11:03:48.104 INFO - Executing: [find element: By.id: srchtxt])
11:03:48.259 INFO - Done: [find element: By.id: srchtxt]
11:03:48.282 INFO - Executing: [clear: 0 [[FirefoxDriver: firefox on WINDOWS (9a2b5cae-a329-4b09-bcff-e1868c2c560e)] -> id: srchtx
t]])
11:03:48.415 INFO - Done: [clear: 0 [[FirefoxDriver: firefox on WINDOWS (9a2b5cae-a329-4b09-bcff-e1868c2c560e)] -> id: srchtxt]]
11:03:48.433 INFO - Executing: [find element: By.id: srchtxt])
11:03:48.496 INFO - Done: [find element: By.id: srchtxt]
11:03:48.512 INFO - Executing: [send keys: 0 [[FirefoxDriver: firefox on WINDOWS (9a2b5cae-a329-4b09-bcff-e1868c2c560e)] -> id: sr
chtxt], [selenium]])
11:03:48.692 INFO - Done: [send keys: 0 [[FirefoxDriver: firefox on WINDOWS (9a2b5cae-a329-4b09-bcff-e1868c2c560e)] -> id: srchtxt
], [selenium]]
11:03:48.708 INFO - Executing: [find element: By.id: srchbtn])
11:03:48.858 INFO - Done: [find element: By.id: srchbtn]
11:03:48.880 INFO - Executing: [click: 1 [[FirefoxDriver: firefox on WINDOWS (9a2b5cae-a329-4b09-bcff-e1868c2c560e)] -> id: srchbt
n]])
11:03:50.447 INFO - Done: [click: 1 [[FirefoxDriver: firefox on WINDOWS (9a2b5cae-a329-4b09-bcff-e1868c2c560e)] -> id: srchbtn]]
11:03:50.465 INFO - Executing: [find element: By.linkText: Selenium - Web Browser Automation])
11:03:50.810 INFO - Done: [find element: By.linkText: Selenium - Web Browser Automation]
11:03:50.819 INFO - Executing: [click: 2 [[FirefoxDriver: firefox on WINDOWS (9a2b5cae-a329-4b09-bcff-e1868c2c560e)] -> link text:
Selenium - Web Browser Automation]])
11:03:51.976 INFO - Done: [click: 2 [[FirefoxDriver: firefox on WINDOWS (9a2b5cae-a329-4b09-bcff-e1868c2c560e)] -> link text: Sele
nium - Web Browser Automation]]
11:03:51.996 INFO - Executing: [delete session: be68ba47-ab0c-4f34-b2b9-22a6181cbe6f])
11:03:54.061 INFO - Command failed to close cleanly. Destroying forcefully (v2). org.openqa.selenium.os.UnixProcess$SeleniumWatchD
og@a3712f
11:04:23.609 INFO - Done: [delete session: be68ba47-ab0c-4f34-b2b9-22a6181cbe6f]
이 환경이 간단하게 구축할 수 있는 것인가라고 하면···음.
크로스 브라우저도 시야에 들어가 있다면 한 손인 것 같지만...
리벤지 할 수있는 느낌이 없다 (토혈
Selenium 서버도 Docker에서. Docker Selenium 리뷰
htp://k의 w㎇d게. 사쿠라. 아 d. jp/t ch/2631/
Docker로 Selenium Grid의 환경 구축을 더욱 편하게!
ぇぇぺぺr. cy 흐림. 이. jp/는 ch/? p=8113
Docker로 Selenium Grid로 병렬 실행 환경 구축
h tp : 작은 m/아카사카 s/있어 MS/233f04아 5C47d2075c262
Docker on CoreOS on Virtualbox(Vagrant)에서 Selenium Grid Node를 대량으로 만들고 병렬로 둘러싸고 싶다
htp // // 똥. 하테나 bぉg. 코m/엔트리/2013/12/23/220537
그건 그렇고
SeleniumGrid 환경에서 실행하면 마지막에 다음이 표시됩니다.
이것도 오래 전부터 나오지만 원인 불명이구나~
참고
Selenium 2 소개
h tp // w w. 이 bm. 이 m /에서 ゔ ぉぺr rks / jp / ぇ b / ぃ b 등 ry / 와세 ㅇ m2 /
Reference
이 문제에 관하여(Selenium + groovy의 운영 환경을 만들고 싶었습니다 (재활)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/gluelan2013/items/056d717073e0a6251996
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Selenium 2 소개
h tp // w w. 이 bm. 이 m /에서 ゔ ぉぺr rks / jp / ぇ b / ぃ b 등 ry / 와세 ㅇ m2 /
Reference
이 문제에 관하여(Selenium + groovy의 운영 환경을 만들고 싶었습니다 (재활)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/gluelan2013/items/056d717073e0a6251996텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)