안녕하세요 냥장판 입니다
이번에는 웹페이지 특정 영역에서 텍스트를 추출해서 클릭하는 걸 해볼거에요.
순서는 아래와 같아요.
1. 특정 영역 Object 확인
2. Obejct의 Xpath 확인
3. Script 작성하기
다 귀찮고 모를 때는
📌 modifyObjectProperty 활용하기! (이게 훨씬 간단함)
다음(daum.net)으로 들어가보면 로그인 영역이 있어요.
거기서 카카오계정으로 로그인을 선택하려고 합니다.
1. Spy 기능 이용해서 Obejct xpath 확인하기
Spy 기능을 이용합니다.
브라우저 URL을 입력하고 Start 버튼을 클릭합니다.
이 부분의 Obejct 를 얻으려고 하면 영역 클릭하고 아래 단축키을 눌러주면 Obejct가 저장되요.
div_Daum 이라는 이름의 Object가 캡쳐된 걸 확인할 수 있어요.
아래 쪽에 보면 Selected Locator 라는 부분이 있는데,
이게 해당 영역의 xpath 입니다.
xpath에 대해 잘 정리된 글이 있어요. 아래 꼭 참고해보세요
https://testmanager.tistory.com/121
2. 여러개 xpath 연산하기
위에서 영역의 xpath를 구했으면, '카카오' 라는 이름이 포함된 텍스트 영역을 추출하려고 해요.
위와 똑같은 방법으로 xpath를 알아낼 수도 있고,
캡쳐된 Obejct의 Repository에 들어가면
여기서도 xpath를 확인할 수 있습니다.
여기서는 //a[contains(text(),\'카카오\')] 까지만 사용할 거에요.
xpath를 멀티로 사용할 때 | 연산자를 사용했어요.
xpath 연산하는 것은 아래 URL 참고하세요.
https://www.w3schools.com/xml/xpath_operators.asp
3. Script Mode로 Script 작성하기
Script 탭을 선택해서 Script Mode로 코드를 작성할 거에요.
이미 import 가 되어있는 Script가 작성이 되어있으면
아래 코드를 추가로 복붙해주세요
아래 첨부했음다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
import com.kms.katalon.core.testobject.ConditionType as ConditionType
WebUI.openBrowser('daum.net')
//Create Test Obejct
TestObject to = new TestObject()
//Save to String 'Xpath'
String xpath_text = '//div[@id=\'inner_login\'] | .//a[contains(text(),\'카카오\')]'
//Save property of xpath with conditiontype
to.addProperty('xpath', ConditionType.EQUALS, xpath_text)
//Get Text of Test Obejct
text = WebUI.getText(to)
//Print text
println(text)
//Click Test Obejct
WebUI.click(to)
WebUI.closeBrowser()
|
cs |
확인 영상이에요.
📌 modifyObjectProperty
이건 WebUI에서 추가할 수 있어요.
기존에 캡쳐해둔 test object로 새로운 객체를 만드는 겁니당!
위에 보다 간단하죠?
스크립트는 아래와 같이 작성하면 됩니당
1
2
3
4
5
6
|
'Modify xpath of \'Login\' button'
new_btn = WebUI.modifyObjectProperty(findTestObject('Object Repository/Page_Daum/Page_/button_'), 'xpath', 'equals', '//*[@type="button"]',
false)
'Click on new_btn'
WebUI.click(new_btn)
|
cs |
그럼 이만!
'🎪 놀고있네 > Katalon' 카테고리의 다른 글
[TestOps] 테스트 환경 구성하기 - Agent 설치 (MacOS) (0) | 2020.10.10 |
---|---|
[Katalon] Web Testing - 파일 업로드하기(Upload File With Drag And Drop) (0) | 2020.09.14 |
[Katalon] Record Web으로 Testcase 만들기 (0) | 2020.08.19 |
[Katalon] TestCase 만들기 (with macOS) (0) | 2020.08.19 |
[Katalon] TestOps, Project 만들기 (with macOS) (0) | 2020.08.18 |
댓글