2017-11-16 1 views
0

셀레늄에서는 요소를 확장 할 수 있습니다. 따라서 테스트를 위해 재사용 가능한 사용자 정의 요소 세트를 가질 수 있습니다.Cypress.io에서 Selenium extend elements와 유사한 재사용 가능한 요소를 만드는 방법은 무엇입니까?

예를 들어 getText 메서드를 추가 할 수 있습니다.

myElement.getText();

이 예제는 여기에 자세히 설명되어 있습니다 : http://www.vcskicks.com/selenium-extensions.php

Cypress.io에서이 동작을 복제 할 수있는 방법이 있나요 다음과 같이

public static string GetText(this IWebDriver driver) 
{ 
    return driver.FindElement(By.TagName("body")).Text; 
} 

하고 다시 사용할 수 있습니까? 또는 데이터를 가져 오기 위해 동일한 메서드를 쿼리하고 호출해야합니까?

답변

2

간단한 기능을 사용하여이를 수행 할 수 있습니다. 예를 들어 몇 가지 기능을 utils.js으로 옮길 수 있습니다.

export const getByText = (text) => cy.contains(text) 

그런 다음 해당 메소드를 사양 파일로 가져옵니다.

import { getByText } from './utils' 

it('finds the element',() => { 
    getByText('Jane Lane') 
}) 

당신은 대안 custom command을 만들 수 있지만 best practices에서 언급 한 바와 같이 그 때때로 필요는 없습니다.

1

나는 Custom Commands이 당신이 찾고 있다고 생각합니다. 그러나 Cypress Best Practices을 참고하십시오. 기본 명령은 매우 강력하며 명령을 많이 수행 할 수 있습니다.

관련 문제