Shirates에서 화면 닉네임을 사용하는 방법
23305 단어 appiumiostestautomationandroid
화면 닉네임
Shirates에서는 Screen Nickname을 JSON 파일로 정의할 수 있습니다. Screen Nickname은 테스트 코드를 읽기 쉽고 생산적으로 만듭니다.
화면 닉네임 기능
재료
[ https://github.com/wave1008/shirates-samples-nicknames ]에서 완전한 샘플 프로젝트를 얻을 수 있습니다.
예제 1: 계산기
[Calculator Main Screen].json
디렉토리 아래에 testConfig/screens/calculator
를 만듭니다. [계산기 메인화면].json
{
"key": "[Calculator Main Screen]",
"identity": "[AC][()]",
"selectors": {
"[formula]": "#formula",
"[result final]": "#result_final",
"[result preview]": "#result_preview",
"[√]": "#op_sqrt",
"[π]": "#const_pi",
"[^]": "#op_pow",
"[!]": "#op_fact",
"[AC]": "#clr",
"[()]": "#parens",
"[%]": "#op_pct",
"[÷]": "#op_div",
"[×]": "#op_mul",
"[-]": "#op_sub",
"[+]": "#op_add",
"[=]": "#eq",
"[⌫]": "#del",
"[0]": "#digit_0",
"[1]": "#digit_1",
"[2]": "#digit_2",
"[3]": "#digit_3",
"[4]": "#digit_4",
"[5]": "#digit_5",
"[6]": "#digit_6",
"[7]": "#digit_7",
"[8]": "#digit_8",
"[9]": "#digit_9",
"[.]": "#dec_point"
}
}
테스트 실행 시 ID가
"[AC][()]"
인 화면을 [Calculator Main Screen]
로 식별할 수 있습니다.예를 들어 현재 화면이
[Calculator Main Screen]
임을 확인할 수 있습니다.it.screenIs("[Calculator Main Screen]")
계산기테스트
다음은 Screen Nickname 파일이 있거나 없는 계산기 테스트 코드입니다. Screen Nickname 파일이 없는 경우에는 resource-id와 같은 하위 식별자를 사용해야 합니다. 반면 Screen Nickname 파일이 있는 경우에는 추상적인 Screen Nickname/Selector Nickname을 사용할 수 있습니다.
package calculator
import org.junit.jupiter.api.Test
import shirates.core.driver.commandextension.*
import shirates.core.testcode.UITest
class CalculatorTest : UITest() {
@Test
@Order(10)
fun withoutNickname() {
scenario {
case(1) {
condition {
it.tapAppIcon("Calculator")
}.expectation {
it.exist("#clr")
it.exist("#parens")
}
}
case(2) {
action {
it.tap("#clr")
}.expectation {
it.select("#formula")
.textIsEmpty()
it.select("#result_preview")
.textIsEmpty()
}
}
case(3) {
action {
it.tap("#digit_1")
}.expectation {
it.select("#formula")
.textIs("1")
it.select("#result_preview")
.textIsEmpty()
}
}
case(4) {
action {
it.tap("#op_add")
}.expectation {
it.select("#formula")
.textIs("1+")
it.select("#result_preview")
.textIsEmpty()
}
}
case(5) {
action {
it.tap("#digit_2")
}.expectation {
it.select("#formula")
.textIs("1+2")
it.select("#result_preview")
.textIs("3")
}
}
case(6) {
action {
it.tap("#eq")
}.expectation {
it.select("#result_final")
.textIs("3")
}
}
}
}
@Test
@Order(20)
fun withNickname() {
scenario {
case(1) {
condition {
it.tapAppIcon("Calculator")
}.expectation {
it.screenIs("[Calculator Main Screen]")
}
}
case(2) {
action {
it.tap("[AC]")
}.expectation {
it.select("[formula]")
.textIsEmpty()
it.select("[result preview]")
.textIsEmpty()
}
}
case(3) {
action {
it.tap("[1]")
}.expectation {
it.select("[formula]")
.textIs("1")
it.select("[result preview]")
.textIsEmpty()
}
}
case(4) {
action {
it.tap("[+]")
}.expectation {
it.select("[formula]")
.textIs("1+")
it.select("[result preview]")
.textIsEmpty()
}
}
case(5) {
action {
it.tap("[2]")
}.expectation {
it.select("[formula]")
.textIs("1+2")
it.select("[result preview]")
.textIs("3")
}
}
case(6) {
action {
it.tap("[=]")
}.expectation {
it.select("[result final]")
.textIs("3")
}
}
}
}
}
검사 결과
스크린 닉네임 없이 스크린 닉네임으로 보고 비교해 보세요. 화면 닉네임이 이해하기 더 쉽다는 것을 알 수 있습니다.
_리포트(단순).html
계산기[email protected]
결론
Shirates에서는 Screen Nickname을 JSON 파일로 정의할 수 있습니다. Screen Nickname은 테스트 코드를 읽기 쉽고 생산적으로 만듭니다.
Reference
이 문제에 관하여(Shirates에서 화면 닉네임을 사용하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/wave1008/how-to-use-screen-nickname-in-shirates-2phj텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)