EarlGrey-install and run的翻译

617 阅读3分钟

安装和运行

本文档向你介绍如何安装配置EarlGrey并完成你的第一次测试。

安装EarlGrey

你可以通过三种方式将EarlGrey添加到Xcode项目中:使用CocoaPods,Carthage或通过XCode Pjoject手动集成。

对于EarlGrey,我们强烈推荐CocoaPods作为安装的最佳方式,以保持EarlGrey版本是最新的。

CocoaPods安装

第1步:设置单元测试目标

  1. 要创建一个新的单元测试(XCTest)目标,请在Xcode Project Navigator中选择你的项目,然后从菜单中单击Editor → Add Target…
  2. 在添加目标窗口中,选择 iOS → Test → iOS Unit Testing Bundle:点击Next →Add a Test Target Name→Finish.
  3. Test Target必须有与之相关的Scheme。要添加一个Scheme,请转到Product → Scheme → Manage Schemes,按(+)号,然后从下拉菜单中选择目标。确保Container已设置为需要测试的应用。然后点击Close。

第2步:添加EarlGrey作为依赖框架

  1. 通过gem install earlgrey命令安装Earl gem。如果你还没有Ruby或者不是最新版本,请参阅Ruby 安装部分

  2. 在Podfile的test target部分里,添加EarlGrey作为依赖项。

    target TEST_TARGET do
      project PROJECT_NAME
    
      use_frameworks! # Required for Swift Test Targets only
      inherit! :search_paths # Required for not double-linking libraries in the app and test targets.
      pod 'EarlGrey'
    end
    

    完成后,请执行pod install。 有关不同版本之间的兼容性,请参阅此文档。 要下载特定版本的gem,请使用gem install earlgrey -v x.y.z.

第3步:打开workspace并验证你是否看到EarlGrey。

成功运行pod install命令后,打开生成的workspace并在Pods /目录中找到安装的EarlGrey。 生成的Pods /project应该类似于:

配置并运行你的第一次测试

因为EarlGrey基于XCTest,所以在Xcode中创建你的第一个测试用例就像创建一个新的Unit Test类一样简单。 小心不要将Unit Test类与UI Test类混为一谈。 UI Test类使用添加到XCTest中的新UI Testing特性,但尚未与EarlGrey兼容。

  1. Ctrl +单击你的应用程序源文件的文件夹,然后选择New file....将出现以下对话框:

  2. 选择Unit Test类,然后单击Next。 在以下屏幕上,输入测试用例的名称。 对于这个例子,让我们把它称作MyFirstEarlGreyTest:

  3. 在下一个屏幕上,确保测试用例与Unit Test target相关联。 在这种情况下,我们的target是SimpleAppTests:

  4. Xcode将为我们创建一个新的测试用例,但我们不需要其中的大部分代码。 让我们更改代码,只留下一个测试方法,并包含EarlGrey框架,如下所示:

    对于Swift测试:

    import EarlGrey
    
    class MyFirstEarlGreyTest: XCTestCase {
    
      func testExample() {
        // Your test actions and assertions will go here.
      }
    }
    

    对于Objective-C测试:

    @import EarlGrey;
    
    @interface MyFirstEarlGreyTest : XCTestCase
    @end
    
    @implementation MyFirstEarlGreyTest
    
    - (void)testExample {
      // Your test actions and assertions will go here.
    }
    
    @end
    
  5. 现在让我们添加一个简单的EarlGrey断言,检查是否存在window并证明它是显示的。 以下是最终的测试结果:

    对于Swift测试:

    func testExample() {
      EarlGrey.selectElement(with: grey_keyWindow())
        .assert(grey_sufficientlyVisible())
    }
    

    对于Objective-C测试:

    - (void)testPresenceOfKeyWindow {
      [[EarlGrey selectElementWithMatcher:grey_keyWindow()]
          assertWithMatcher:grey_sufficientlyVisible()];
    }
    
  6. 就是这样! 与其他任何单元测试一样,此测试将显示在测试导航器中,因此你只需单击运行图标或按Ctrl +单击测试名称,然后选择测试“testPresenceOfKeyWindow”即可运行该测试。 由于这是一个常规的单元测试,因此你可以在测试和应用程序代码中放置断点,也可以照常使用内置工具。