[아ppium] 핸드폰 사파리에서 테스트를 해봤어요.

4972 단어 appiumiOS
며칠 전에 아이폰으로 앱피움을 해봤는데 이번에는 아이폰으로 해봤어요.
사과를 향해 손을 뻗어봐~ 안드로이드~

제목.


실제 컴퓨터/시뮬레이터에서 모바일 Safari를 시작하여 테스트를 진행합니다.

사과가 뭐예요?


Appium iOS 및 안드로이드 플랫폼에서 실행
- 로컬 애플리케이션
- 모바일 네트워크 서비스
- 혼합 애플리케이션
자동 개원 도구를 기다리다.
잘 정리된 것을 참조하십시오여기 기사..

Design(공식)


Concepts(공식)


왜 필요합니까?


현재 광고 게시 라벨(모바일 인터넷 서비스용)의 E2E 테스트 사용Nightmare.
그러나 모바일 사파리에서만 발생하는 이벤트(Mac 사파리에도 재현되지 않음)에서는 E2E 테스트를 위해 실기(시뮬레이터)를 사용해야 한다.
또 간신히 SDK(원주민 애플리케이션용) 광고를 내는 테스트도 한번 해보고 싶다.
그래서 셀레니움 포인트로 웹드라이브 트렌드를 이룬 녀석을 팀원들에게 소개해 봤는데, 한번 해봤어요.

Appium 환경 구축 시 iOS 주의

  • Mac환경이 있는 서버를 구축하지 않으면 실기/시뮬레이션 레이더에서 테스트할 수 없음
  • Xcode8은 지원되지 않습니다(시간 문제일 수 있음)
  • 필요조건


    애플 서버 준비


    CUI에서 하면...


    github에서cloneappium을 시작합니다.
    이를 바탕으로 다음부터 각 OS의 설정에 들어갑니다.
    http://appium.io/slate/en/master/?javascript#appium-platform-support
    저는 항상 잘 못해요.

    GUI로 해볼게요.


    github로 만드는 것보다 GUI 버전에 대해 거짓말을 하면 버전이 조금 낡아요.
    Appium 실행에서 소개한 버전과 비슷한 것은 이쪽입니다.

    거짓말.


    다운로드latest version

    Appium GUI 시작


    v1.5.3의 애플 GUI를 시작해 보았습니다.

    Appium GUI 설정


  • Basic

  • Device Settings에서 iOS용 무음기의 이름과 OS 버전을 입력합니다(Xcode에서 확인 가능).


  • Adbanced

  • XcodePath Xcode가 여러 개 있으면 사용할

  • 애플 GUI를 통한 애플 서버 시작

    Launch 버튼을 누릅니다.한꺼번에 나왔어, 기다리고 있어.

    테스트 실행


    적당한 노드는 다음과 같다.js 환경을 정비한 후 mocha로 시험적으로 가동해 보세요.
    원자재 함수가 분할되었지만 더 좋은 예측을 위해 제 시험판은 다음과 같이 모두 함수에 불러왔습니다.
    "use strict";
    
    var wd = require("wd");
    
    require('colors');
    var chai = require("chai");
    var chaiAsPromised = require("chai-as-promised");
    chai.use(chaiAsPromised);
    var should = chai.should();
    chaiAsPromised.transferPromiseness = wd.transferPromiseness;
    
    describe("ios safari", function () {
      this.timeout(300000);
      var driver;
    
      before(function () {
        var serverConfig = {
          host: 'localhost',
          port: 4723
        };
    
        driver = wd.promiseChainRemote(serverConfig);
    
        var desired = {
          browserName: 'safari',
          'appium-version': '1.6',
          platformName: 'iOS',
          platformVersion: '9.3',
          deviceName: 'iPhone 6s',
          app: undefined
        };
        return driver.init(desired);
      });
    
      after(function () {
        return driver
          .quit();
      });
    
      it("should get the url", function () {
        return driver
          .get('https://www.google.com')
          .sleep(1000)
          .waitForElementById('lst-ib')
          //.waitForElementByName('q', 5000)
            .type('cyberagent')
          .waitForElementByClassName('kpgrb')
          //.waitForElementByName('btnGNS')
            .click()
          .waitForElementByLinkText('サイバーエージェント')
            .click()
          .sleep(5000)
          .saveScreenshot('test.png');
      });
    
    });
    

    기타

  • Mobile JSON Wire Protocolo Specification

  • wd A node.js client for webdriver/selenium 2.
  • 끝맺다


    테스트 코드는 아직 다 쓰지 않았지만 테스트를 실행하면 시뮬레이터가 시작되어 테스트 코드에 적힌 내용에 따라 마음대로 이동한다.

    좋은 웹페이지 즐겨찾기