본문 바로가기

전체 글

(35)
JMeter Regular Expression 설정 레퍼런스 Apply to Main sample은 HTTP Request 자체를 의미하며 Sub-sample은 HTTP Request에서 'Embedded Resources from HTML Files' 옵션을 설정했을 때 추가로 받아오는 자료를 의미합니다 어디에서 검색할지 라디오 버튼을 선택합니다 Field to check Body header를 제외한 웹 페이지 내용 Body (unescaped) header를 제외한 웹 페이지 내용의 HTML escape 코드를 모두 변환한 것 (테스트 성능에 영향을 줄 수 있으므로 사용에 주의) Body as a Doument Apache Tika를 이용해서 파싱 된 내용 (테스트 성능에 영향을 줄 수 있으므로 사용에 주의) Headers HTTP Header의 내용 URL..
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) - 소스 요소의 위치..
조합적 상호작용 테스팅과 제약조건 Airline jeju air air France City osaka paris Out 20 May Return 27 May 항공사에 두 가지 옵션이 있다 갈 수 있는 도시는 오사카, 파리 비행기를 타는 날짜는 5/20, 비행기에서 돌아오는 날짜는 5/27 페어와이즈 CIT기법을 적용하면 Airline City Out Return jeju air paris 20 May 27 May air France paris 20 May 27 May jeju air paris 20 May 27 May air France osaka 20 May 27 May 위와 같은 커버링 어레이가 도출된다 하지만 위 어레이의 경우, 제주항공을 이용하여 파리로 가는 일정이 없으므로 잘못된 테스트 입력이다 마찬가지로 에어프랑스를 이용하여..