서론
앞서 원하는 버튼을 찾고 클릭이 가능할때까지 기다리고 클릭하는 과정을 진행해 보았는데요.
이번엔 특정 오브젝트의 텍스트를 얻어오거나, 텍스트를 설정하는 방법을 설명하겠습니다.
InputField 만들기
- 먼저 이전에 만들었던 Button, Scroll View를 삭제해줍니다.
- Hierarchy창에서 Canvas를 우클릭 후 InputField를 만들어주세요.
- Hierarchy창에서 Canvas를 우클릭 후 Button을 만들어주세요.
- Hierarchy창에서 Canvas를 우클릭 후 Text를 만들어주세요.
- Scene창에서 InputField, Button, Text의 위치를 아래와 같이 조정해줍니다.
누르면 Text가 변경하는 Button 만들기
- Project창에서 Scripts폴더를 선택하고, 우클릭 > Create > C#Script를 클릭하여 스크립트를 생성하고 ButtonScript로 이름을 짓습니다.
- 이후 파일에 아래 내용을 넣어줍니다.
using UnityEngine;
using UnityEngine.UI;
public class ButtonScript : MonoBehaviour
{
public InputField inputField;
public Text text;
public void OnClick()
{
text.text = inputField.text;
}
}
- Hierarchy창에서 Button을 선택합니다.
- Inspector창에서 Add Component를 누른 후 Button Script를 추가합니다.
- Hierarhcy창에 있는 Input Field, Text를 Inspector창 Button Script아래 비어있는 Input Field, Text 칸에 드래그하여 넣어줍니다.
- Inspector창에서 On Click에 + 아이콘을 누릅니다.
- Hierarhcy창에 있는 Button를 Inspector창 On Click아래 비어있는 칸에 드래그하여 넣어줍니다.
- No Function을 클릭 후 ButtonScript > OnClick() 으로 설정합니다.
텍스트를 변경해보기
gamium-testing
하위에test.py
파일을 아래와 같이 수정해줍니다.
from gamium import *
# 드라이버 세션을 시작합니다.
service = TcpGamiumService("127.0.0.1", 50061)
gamium = GamiumClient(service)
# 연결을 시작합니다.
gamium.connect()
# ui를 조작할 수 있는 객체를 가져옵니다.
ui = gamium.ui()
# text을 설정합니다.
ui.set_text(By.path("/Canvas[1]/InputField[1]"), "gamium")
# 버튼을 클릭합니다.
ui.click(By.path("/Canvas[1]/Button[1]"))
# 변경된 text를 가져옵니다.
text = ui.get_text(By.path("/Canvas[1]/Text[1]"))
print(text)
- Unity Editor창에서 Play버튼을 누릅니다.
- VSCode 터미널에서 아래 명령어를 통해 실행해봅니다.
python3 test.py
이제 Text가 설정되고 버튼이 눌려서 아래와 같이 New Text 메시지가 변경하는 것을 확인할 수 있습니다. 👏
📖
게임 테스트를 왜 자동화 해야하는가
게임 테스트를 자동화 할 수 있을까?
게임 테스트 자동화 라이브러리 비교
Gamium으로 Unity 테스트 자동화 시작하기 - 1: 프로젝트 설정
Gamium으로 Unity 테스트 자동화 시작하기 - 2: 스크립트 실행하기
Gamium으로 Unity 테스트 자동화 시작하기 - 3: Wait, Drag
Gamium으로 Unity 테스트 자동화 시작하기 - 4: Text
Gamium으로 Unity 테스트 자동화 시작하기 - 5: 키보드 입력
Gamium으로 Unity 테스트 자동화 시작하기 - 6: 원하는 GameObject 찾기
게임 테스트를 자동화 할 수 있을까?
게임 테스트 자동화 라이브러리 비교
Gamium으로 Unity 테스트 자동화 시작하기 - 1: 프로젝트 설정
Gamium으로 Unity 테스트 자동화 시작하기 - 2: 스크립트 실행하기
Gamium으로 Unity 테스트 자동화 시작하기 - 3: Wait, Drag
Gamium으로 Unity 테스트 자동화 시작하기 - 4: Text
Gamium으로 Unity 테스트 자동화 시작하기 - 5: 키보드 입력
Gamium으로 Unity 테스트 자동화 시작하기 - 6: 원하는 GameObject 찾기