반응형 전체 글57 Selenium_Assert&Verify 자동화를 통해서 검증하는 방법에는 두 가지를 사용하는데요. Assert문이나 Verify문입니다. 둘의 차이는 중간에 실패시 다음 테스트 명령에 영향을 주느냐로 나뉘는 걸로 알고 있었습니다. Assert를 사용하고 실패하면 그 테스트의 아래 코드는 실행되지 않고 바로 fail처리되고, Verify는 그 문구가 실패하더라고 그 테스트의 아래 코드의 다른 코드는 실행됩니다. 그렇다면 언제 어떻게 사용되는게 좋을지 Asserts와 Verify를 비교해보도록 하겠습니다. Asserts selenium에서 asserts는 애플리케이션에 대한 유효성 검사 또는 체크포인트로 사용합니다. 동작이 예상대로 작동하고 있는지 확실하게 검사할 수 있습니다. assert문 조건을 충족하지 않을 경우 테스트 실행이 중단됩니다. .. 2022. 8. 20. API/GraphQL 개념 설명 API 개념 API란 정의나 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘입니다. API(Application Programming Interface)에서 애플리케이션은 고유한 기능 모든 소프트웨어를 나타냅니다. 인터페이스는 두 애플리케이션 간의 서비스 계약이라고 할 수 있습니다. 요청과 응답을 사용하여 서로 통신하는 방법을 정의합니다. API 아키텍처는 일반적으로 클라이언트와 서버 측면에서 볼 수 있습니다. 요청을 보내는 애플리케이션을 클라이언트라고 하고, 응답을 보내는 애플리케이션을 서버라고 합니다. 1. SOAP API : 단순 객체 접근 프로토콜을 사용합니다. 클라이언트와 서버는 XML을 사용하여 메시지를 교환합니다. 과거에 많이 사용되었던 API입니다. .. 2022. 8. 15. JavaScript_반복문 배열(Array) 배열은 여러 개의 변수를 한 번에 선언해 다룰 수 있는 자료형이다. 배열은 대괄호[ ]를 사용해 생성하고 내부의 값을 ,를 사용해 구분할 수 있다. 내부에 들어 있는 값을 요소라고 하고 어떠한 종류의 자료형도 요소가 될 수 있다. (배열 요소에 접근하기) 배열의 기본적인 조작은 문자열과 비슷하다. 각각의 요소에 접근하려면 배열 바로 뒤에 [n](n=index)을 입력해서 접근한다. 가장 앞에 있는 요소는 0부터 시작된다. 배열의 마지막 요소를 선택할 때는 length-1을 사용하면 마지막 요소를 불러올 수 있다. (배열 요소 추가하기) 기존 상수로 배열을 만들어두고 배열을 수정할 필요가 있을 때에는 push() 메소드를 사용한다. 이건 배열 뒷부분에 요소를 추가할 때 사용된다. 혹은 인.. 2022. 8. 14. Selenium_WebDriverManager 웹 자동화를 하면서 웹 드라이버를 사용했습니다. 그동안 드라이버들이 브라우저 버전이나 경로를 따로 지정해줘서 사용했는데 드라이버 버전이 올라가면서 새로 받아줘야 하는 불편함이 있다는 걸 깨닫게 되었습니다. 편하고자 자동화를 하는건데, 이러면 편하지 않아서 방법을 찾아보니 웹 드라이버 관련 설정을 쉽게 하는 게 있어서 공유해보고자 합니다! 그러려면 maven 프로젝트로 생성해주고 관리해야 하는데요. 새롭게 Maven Project로 만들어주고, Workspace 위치를 지정해준 다음, 아카이브 타입을 선택해줍니다. 아카이브 타입은 일종의 템플릿이라고 보면 되는데, 본인이 사용하고 싶은 특수한 아카이브가 있는게 아니었기 때문에 maven-archetype-quickstart를 사용했습니다. 해당 메이븐에서 .. 2022. 8. 10. JavaScript_기본 자료형 & 조건문 기본 자료형 프로그래밍에서 프로그램이 처리할 수 있는 모든 것을 자료(data)라고 부르며, 자료 형태에 따라 나눠 좋은 것을 자료형(data type)이라고 한다. (1) String 자바스크립트에서는 문자가 하나든 여러 개든 모두 문자열 자료형이라고 한다. 자바스크립트에서는 큰따옴표나 작은 따옴표를 사용해서 문자열을 만들 수 있다. [이스케이프 문자] \"string\" : 따옴표를 문자 그대로 사용할 때 사용 \n : 줄바꿈할때 사용 \t : 탭 기능 \\ : \를 의미 문자열도 +(연결연산자)를 이용해서 문자열을 길게 만들 수 있다. 문자열 내부의 문자 하나를 선택할 때는 문자 선택 연산자를 사용하면 된다. 이때 위치를 나타내는 숫자를 인덱스(index)라고 한다. 문자열 내부의 문자 개수를 문자.. 2022. 8. 7. Selenium_Wait 웹은 비동기적 특성을 가지고 있기 때문에, 웹 드라이버는 DOM의 real-time 상태를 추적하지 않습니다. 자동화를 실행하다보면, 웹 페이지를 이동한 후 지시한 element를 찾으려고 할때 해당 element를 찾을 수 없는 오류가 발생하는 경우가 종종 발생합니다. 이런 경우를 해결하기 위해서 wait를 사용하게 되는데요. 이번 포스팅에서는 wait를 정리해서 올려보고자 합니다. (1) 명시적 대기(Explicit wait) 명시적 대기는 설정한 조건이 통과될때까지 작성한 코드가 프로그램을 실행중지하거나 thread를 고정할 수 있게 해줍니다. 즉, 조건이 잘못된 값을 반환하는 동안에는 계속 시도하고 대기합니다. 명시적 대기 시간은 조건이 발생할때까지 대기할 수 있으므로 브라우저와 해당 DOM 및 .. 2022. 8. 5. Selenium_Scroll in Java 안녕하세요. 오랜만의 포스팅으로 돌아왔습니다. 이전에 마지막으로 작성했던 포스팅에서 모바일 화면으로 자동화처리를 하는 옵션에 대해 설명했었습니다. 그동안 모바일 에뮬레이션을 사용하다 보니, 스크롤 기능을 종종 사용할 필요성이 생겼었습니다. 종종 사용하게 되는 기능이라, 한번에 정리해서 기억해두고자 포스팅을 올려 정리해보겠습니다! 스크롤바는 화면의 가로 또는 세로로 이동할 수 있습니다. selenium에서는 웹드라이버에서 javascript method를 이용해 스크롤을 사용합니다. JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript(Script,Arguments); (1) 픽셀 단위 스크롤 executeScript("window.s.. 2022. 8. 1. Selenium_Mobile Emulation 모바일웹 페이지 자동화를 하기 위해, 모바일 에뮬레이션을 이용해서 모바일 화면으로 띄워주는 방법에 대해 포스팅을 하려고 합니다. 이전에 웹 자동화 Setting 포스팅 단계대로 셋팅을 한 뒤, 실행시키면 아래와 같은 웹 화면으로 자동화가 진행됩니다. 이때, 전체 화면이 아닌 모바일 에뮬레이션을 이용한 화면으로 보여주기 위해서는 setup단계에서 //mobile emulation 주석을 단 아래와 같은 코드를 추가시켜 주면 됩니다. package example; import java.util.HashMap; import java.util.Map; import java.util.concurrent.TimeUnit; import org.openqa.selenium.WebDriver; import org.ope.. 2022. 2. 2. 이전 1 2 3 4 5 6 7 8 다음 반응형