사진 제공: Mateus Campos Felipe
붉은 따오기라고도 알려진 활기 넘치는 주홍색따오기( Eudocimus ruber )는 Threskiornithidae 새과에 속하는 눈에 띄는 동물입니다. 이 열대 조류 종은 남아메리카와 카리브해 일부 지역의 풍경을 우아하게 만듭니다. 그 형태는 다른 따오기 종의 형태와 유사하지만, 화려한 진홍색 깃털이 이 따오기를 돋보이게 합니다. 국가적 자부심의 상징인 이 새는 트리니다드 토바고의 두 국조 중 하나이며 투피과라니어 이름인 "guará"는 브라질의 여러 해안 자치단체 이름에도 포함되어 있습니다.
Python 라이브러리인 Guará는 페이지 트랜잭션 디자인 패턴을 구현합니다. 이는 도구라기보다는 Selenium을 넘어 Linux, Windows 및 모바일 자동화를 포괄하는 다양한 자동화 드라이버에 적용할 수 있는 유연한 프로그래밍 패러다임입니다.
이 패턴의 핵심 목표는 테스트 자동화를 간소화하는 것입니다. 페이지 개체, 앱 작업 및 시나리오에서 영감을 얻은 Guará는 로그인, 로그아웃 또는 양식 제출과 같은 애플리케이션 내의 사용자 작업(트랜잭션)에 중점을 둡니다.
이 접근 방식은 새로운 도구나 복잡한 추상화 없이도 자동화 테스트 코드의 가독성, 유지 관리성 및 적응성을 향상시킵니다. 주요 장점은 운전자에 구애받지 않는 특성입니다. 테스터는 Selenium 사용에만 국한되지 않습니다. Guará는 Helium, Dogtail, PRA Python, Playwright 또는 선호하는 드라이버와 원활하게 통합됩니다. 추가 플러그인이나 전문 지식이 필요하지 않습니다.
반복하자면: Guará는 페이지 트랜잭션 디자인 패턴을 Python으로 구현한 것으로, 독립 실행형 도구보다 패턴을 우선시합니다.
Guará는 명령 패턴(GoF)을 활용하여 사용자 상호 작용(버튼 누름, 텍스트 입력)을 트랜잭션으로 묶습니다. 프레임워크라고 불리기는 하지만 새로운 도구는 아닙니다.
Guará는 개별 UI 요소에 초점을 맞추는 대신 사용자의 여정을 강조합니다. 복잡성은 트랜잭션 내에 캡슐화되어 자연어처럼 읽는 테스트 문이 생성됩니다. 테스터는 사용자 정의 어설션을 생성하고 통합할 수도 있습니다.
이 예는 웹페이지에서 사용자가 언어를 전환하는 모습을 보여줍니다.
<code class="language-python">from selenium import webdriver from guara.transaction import Application from guara import it, setup import home def test_language_switch(): app = Application(webdriver.Chrome()) # Open the application app.at(setup.OpenApp, url="https://example.com/") # Change language and assert app.at(home.ChangeToPortuguese).asserts(it.IsEqualTo, "Conteúdo em Português") app.at(home.ChangeToEnglish).asserts(it.IsEqualTo, "Content in English") # Close the application app.at(setup.CloseApp)</code>
각 트랜잭션은 ChangeToPortuguese
을 확장하는 자체 클래스(예: AbstractTransaction
)에 상주합니다. 테스터는 단순히 do
메서드를 재정의합니다. 나머지는 Guará가 처리합니다.
<code class="language-python">from guara.transaction import AbstractTransaction class ChangeToPortuguese(AbstractTransaction): def do(self, **kwargs): self._driver.find_element(By.CSS_SELECTOR, ".btn-pt").click() return self._driver.find_element(By.CSS_SELECTOR, ".content").text</code>
테스트 후 로그에는 트랜잭션과 주장이 표시됩니다.
<code>test_demo.py::test_language_switch 2025-01-24 21:07:10 INFO Transaction: setup.OpenApp 2025-01-24 21:07:10 INFO url: https://example.com/ 2025-01-24 21:07:14 INFO Transaction: home.ChangeToPortuguese 2025-01-24 21:07:14 INFO Assertion: IsEqualTo 2025-01-24 21:07:14 INFO Actual Data: Conteúdo em Português 2025-01-24 21:07:14 INFO Expected: Conteúdo em Português 2025-01-24 21:07:14 INFO Transaction: home.ChangeToEnglish 2025-01-24 21:07:14 INFO Assertion: IsEqualTo 2025-01-24 21:07:14 INFO Actual Data: Content in English 2025-01-24 21:07:14 INFO Expected: Content in English 2025-01-24 21:07:14 INFO Transaction: setup.CloseApp</code>
픽스처(설정/해체)는 테스트 초기화 및 완료를 관리합니다. pytest 또는 단위 테스트와 같은 표준 테스트 도구는 완벽하게 호환됩니다.
위 내용은 테스트 자동화를 구성하는 새로운 방법으로 페이지 거래의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!