Safari에 selenium-webdriver를 통해 selenide에서 실행
소개
MacOS를 다시 설치했기 때문에 webdriver도 다시 넣습니다.
그런 다음 자바 테스트 프레임 워크 selenide에서 작동하도록 설정할 수 있습니다.
운영 환경
2017/01/17 시점에서 다음 환경에서 실행했습니다.
· MacOs Sierra
· safari 10.0
· Gradle 3.3
· IntelliJ IDEA
참고 사이트
Safari 10의 WebDriver 네이티브 지원
Safari 10, WebDriver 탑재
소개
2017/01/17 시점에서 다음 환경에서 실행했습니다.
· MacOs Sierra
· safari 10.0
· Gradle 3.3
· IntelliJ IDEA
참고 사이트
Safari 10의 WebDriver 네이티브 지원
Safari 10, WebDriver 탑재
소개
webdriver 설치
safari10보다 표준으로 들어있는 모양
하지만 아래 단계를 밟아 간다.
우선 safari의 "원격 자동화를 허용한다"를 on으로 한다.
터미널에서 첫 번째 부팅을 수행합니다.
touchbar 탑재기의 경우는 touchID로 패스를 입력하지 않아도 된다.
명령
/usr/bin/safaridriver --port 0
build.gradle
build.gradle
buildscript {
ext {
// SpringBoot framework
springBootVersion = "1.4.3.RELEASE"// 2016,1223
// Others
// Selenide
selenideVersion = "4.2"// 2016,1226
// Selenium
seleniumVersion = "3.0.1"// 2017,0117
}
repositories {
jcenter()
}
}
ext['selenium.version'] = '3.0.1'// 2017,0117
dependencies {
// SpringBoot projects
testCompile("org.springframework.boot:spring-boot-starter-test:$springBootVersion")
compile("org.springframework.boot:spring-boot-starter-thymeleaf:$springBootVersion")
compile("org.springframework.boot:spring-boot-starter-web:$springBootVersion")
// Others
// Selenide
testCompile("com.codeborne:selenide:$selenideVersion")
testCompile("org.seleniumhq.selenium:selenium-server:$seleniumVersion")
// SafariDriver
testCompile("org.seleniumhq.selenium:selenium-safari-driver:$seleniumVersion")
}
Springboot에 내장되어 테스트 실행
PageControllerSelenideTest.java
public class PageControllerSelenideTest {
@BeforeClass
public static void setUpClass() {
// テスト対象アプリの起動
WebApp.main(new String[]{""});
Configuration.browser = WebDriverRunner.SAFARI;
}
@After
public void tearDown() {
}
@AfterClass
public static void tearDownClass() {
WebDriverRunner.closeWebDriver();
}
@Test
public void test() throws Exception {
// Test対象画面をページオブジェクトパターンで実装
ChoiceQuestionPage page = ChoiceQuestionPage.open();
Selenide.screenshot("init");
}
}
IntelliJ에서 실행하면 이런 식으로 스쿠쇼 찍어주고있다
힘든 일
IntelliJ 종속성 중에서 selenium이 오랫동안 이전 버전을 참조하고 오류가 자주 발생했습니다.
spring-boot-starter-web을 기본적으로 사용하면 이전 버전을 끌어 버리는 것 같습니다.
원인은 아래 페이지를 들여다 보면 어쩐지 전해질 것이라고 생각합니다.
spring-boot-dependencies
또, Safari의 라이브러리가 selenide로부터 제외되고 있거나, 참고로 하는 페이지가 없거나라고 오로지 try&error를 밟고 있었습니다.
소스는 이쪽
MultiModule-Sudoku
Reference
이 문제에 관하여(Safari에 selenium-webdriver를 통해 selenide에서 실행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mabubu0203/items/b97bc0dc9b4162250837
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
MultiModule-Sudoku
Reference
이 문제에 관하여(Safari에 selenium-webdriver를 통해 selenide에서 실행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mabubu0203/items/b97bc0dc9b4162250837텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)