2016-08-03 1 views
0

야간 시계 Appium 테스트를 작성하는 방법을 모르겠습니다. nightwatch가 이미 브라우저 객체를 전달한 경우 어떻게 드라이버 객체를 얻습니까?Writing Appium Cordova React 하이브리드 응용 프로그램에 대한 Nightwatch 테스트

는 여기에 지금까지이 작업은 다음과 같습니다

export default module.exports = { 
    'Displays error page`': (browser) => 
    browser 
    // .url(`${browser.launchUrl}`) 
    .pause(10000) 
    .waitForElementVisible('.error-page .title') 
    .assert.containsText('.error-page .title', 'Oops! Wrong url.') 
    .end(), 
}; 

나는 SauceLabs에서이 작업을 실행하는거야 그것은 큰 감사 것 .waitForElementVisible('.error-page .title')

어떤 도움에 실패! XPath는와

답변

0

시도 :

export default module.exports = { 
    'Displays error page`': (browser) => 
    browser 
    // .url(`${browser.launchUrl}`) 
    .useXpath() 
    .pause(10000) 
    .waitForElementVisible('.error-page .title') // switch to xpath() 
    .assert.containsText('.error-page .title', 'Oops! Wrong url.') 
    .end(), 
}; 

Nightwatch 내가 nightwatch 및 appium 지난 이주를 사용하려고, 페이지 개체의 우물 구조를 가지고 있으며 모바일 앱 특히, 함께 잘 멀티 페이지를 작동 didnt한다. 나는 당신이 Appium과 함께 일할 다른 도서관을 찾아야한다고 생각한다. 나는 그것을 찾고있다.

+0

도움 주셔서 감사합니다. 제가 게시 한 답변을 확인하십시오, 내가 nightwatch + appium 테스트를 실행하는 데 사용했던 것입니다. –

0

나는 그것을 알아 냈다.

export default module.exports = { 
    'Get ABC Title': browser => 
     browser.contexts(function(context) { 
     browser.setContext(context['value'][1]) 
     }) 
     .waitForElementVisible('.event-cards') 
     .assert.containsText('.event-card h2.title', 'ABC') 
     .end(), 
}; 

코르도바는 DOM 요소를 래핑하기 때문에 테스트하기 위해 이러한 요소에 액세스하는 방법이 필요합니다. browser.contexts을 호출하면 사용할 수있는 컨텍스트 중 [NATIVE ','WEBVIEW ']와 같은 배열이 생성됩니다. 브라우저 개체 browser.setContext(context['value'][1])의 컨텍스트를 설정하기 만하면됩니다.

관련 문제