본문 바로가기

테스트툴/Selenium

(12)
Selenium Webdriver 모든 링크와 연결할 수 없는 링크 찾기 일부 서버 오류로 인해 다운되었거나 작동하지 않을 수 있는 링크가 있을 수도 있습니다 URL은 항상 유효한 2xx 상태를 갖습니다 그 외에도 HTTP 상태 코드로, 잘못된 요청의 경우 4xx 및 5xx 상태를 갖습니다 이러한 상태일 때 링크를 직접 클릭하여 확인할 때까지 링크가 작동하는지 여부를 확인할 수 없습니다 사용자가 오류 페이지로 이동하면 안되기 때문에 끊어진 링크가 없는지 항상 확인하도록 해야 합니다. 규칙이 올바르게 업데이트되지 않았거나 요청된 리소스가 서버에 없는 경우 오류가 발생합니다 각 웹 페이지에는 많은 수의 링크가 있을 수 있으며 모든 페이지에 대해 수동 프로세스를 반복해야 하기 때문에 직접 수동으로 확인하기는 다소 어려움이 있습니다 그러므로 프로세스를 자동화하는 Selenium을 사..
Selenium Webdriver 툴 팁 Selenium의 도구 설명은 웹 페이지의 개체 위에 마우스를 놓을 때 나타나는 텍스트입니다 개체는 링크, 이미지, 단추, 텍스트 영역이 될 수 있습니다 도구 설명 텍스트는 마우스 커서 위에 놓인 개체에 대한 자세한 정보를 제공합니다 툴 팁은 전통적으로 'title' 속성으로 구현되었습니다 'title' 속성을 사용한 툴 팁 실습은 YouTube www.youtube.com 위 페이지를 활용하였습니다 YouTube 홈에서 홈 버튼의 툴팁을 확인할 것입니다 먼저 요소를 찾고 'title' 속성을 가져와서 예상되는 도구 설명 텍스트로 확인합니다 툴 팁이 'title' 속성에 있다고 가정하기 때문에 마우스 오버 효과를 자동화하지 않고 단순히 getAttribute() 메소드를 사용하여 속성 값을 검색합니다 p..
Selenium 웹 테이블 웹 테이블 내의 특정 셀에 id나 name 속성을 대체로 지정하지 않을 것입니다 하지만 이럴 때 특정 셀에 접근하기 위해서는 XPath를 사용합니다 우선 first cell second cell third cell fourth cell 위의 newhtml.html 파일을 생성하여 실습하겠습니다 Selenium을 이용하여 셀의 두번째의 second cell이라는 텍스트를 콘솔에 print하도록 하겠습니다 WebDriver의 XPath 로케이터는 항상 "//"로 시작한 다음 부모 요소가 옵니다 driver.findElement(By.xpath("//table")).getText(); table의 바로 아래 요소는 tbody이므로 table의 자식이라고 말할 수 있습니다 XPath의 모든 자식 요소는 부모 요..
Selenium 경고, 팝업 창 처리하기 경고 처리하기 void dismiss() - 경고의 취소 버튼 클릭 driver.switchTo(). alert(). dismiss(); void accept() - 경고의 확인 버튼 클릭 driver.switchTo(). alert(). accept(); String getText() - 경고 메세지 캡처 driver. switchTo(). alert(). getText(); void sendKeys(String stringToSend) - 경고 상자에 데이터 보내기 driver.switchTo().alert().sendKeys("Text"); 실습은 Delete Customer demo.guru99.com 위 페이지를 활용했습니다 고객 ID를 입력한 뒤 제출 버튼을 눌립니다 alrert 창이 뜨면 창..
Selenium 파일 업로드 실습은 File Upload Demo demo.guru99.com 위 페이지를 활용하였다 파일 선택 버튼을 찾아 sendKeys() 메서드로 내가 원하는 경로의 파일을 업로드한다 package newpackage; import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.WebElement;//webElement 사용 import org.openqa.selenium.support.ui.Select;//Select 사용 import org.openqa..
Selenium 마우스 이벤트와 키보드 이벤트 키보드 이벤트와 마우스 이벤트 처리를 위해서는 Action Class를 이용해야 한다 import org.openqa.selenium.interactions.Action; import org.openqa.selenium.interactions.Actions; clickAndHold() - 현재 마우스 위치에서 손을 떼지 않고 클릭 contextClick() - 현재 마우스 위치에서 컨텍스트 오른쪽 클릭 doubleClick() - 현재 마우스 위치를 두 번 클릭 dragAndDrop(source, target) - 소스 요소의 위치에서 클릭 및 홀드를 수행하고 대상 요소의 위치로 이동 한 다음 마우스를 놓는다 dragAndDropBy(source, x-offset, y-offset) - 소스 요소의 위치..
Selenium Webdriver 링크 텍스트 요소 찾기 selenium의 링크 텍스트는 a태그를 활용하여 웹페이지의 하이퍼 링크를 식별한다 By.linkText() 메소드는 텍스트가 정확하게 일치하는지 판별하여 링크에 액세스한다 실습은 Partial Match demo.guru99.com 위 페이지를 활용한다 페이지에는 click here 이라는 링크가 존재한다 package newpackage; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.WebElement;//webElement 사용 import org.openqa.selenium.support..
Selenium Webdriver 드롭다운에서 값 선택 실습은 Register: Mercury Tours demo.guru99.com 위 페이지를 활용했다 페이지 소스에서 드롭다운 박스의 name을 확인 Selenium의 Select 패키지를 활용하여 Country의 옵션 중 CANADA를 선택하도록 한다 package newpackage; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.WebElement;//webElement 사용 import org.openqa.selenium.support.ui.Select;//Select public class..