Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: add intro and setup #100

Merged
merged 2 commits into from
Sep 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 15 additions & 9 deletions .github/workflows/pull-request-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,13 @@ jobs:
with:
distribution: "zulu"
java-version: 17
cache: gradle
- name: Assemble Debug APK
run: bash ./gradlew sample:assembleDebug
- name: Upload app APK
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: apk
name: debug-apk
path: sample/build/outputs/apk/debug/sample-debug.apk

assemble-debug-android-test-apk:
Expand All @@ -32,12 +33,13 @@ jobs:
with:
distribution: "zulu"
java-version: 17
cache: gradle
- name: Assemble Instrumental APK
run: bash ./gradlew sample:assembleDebugAndroidTest
- name: Upload app APK
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: apk
name: test-apk
path: sample/build/outputs/apk/androidTest/debug/sample-debug-androidTest.apk

firebase-lab-test:
Expand All @@ -50,16 +52,20 @@ jobs:
api: [ 26, 27, 28, 29, 30, 31, 32, 33 ]
steps:
- uses: actions/checkout@v3
- name: Download APKs
uses: actions/download-artifact@v1
- name: Download Debug APK
uses: actions/download-artifact@v4
with:
name: apk
name: debug-apk
- name: Download Test APK
uses: actions/download-artifact@v4
with:
name: test-apk
- name: Run tests on Firebase Test Lab for API ${{ matrix.api }}
uses: vacxe/[email protected]
with:
service-account: ${{ secrets.FIREBASE_TESTLAB_JSON }}
app: apk/sample-debug.apk
test: apk/sample-debug-androidTest.apk
app: sample-debug.apk
test: sample-debug-androidTest.apk
device-id: MediumPhone.arm
os-version-id: ${{ matrix.api }}
num-flaky-test-attempts: 4
Expand Down
63 changes: 23 additions & 40 deletions documentation/docs/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,49 +2,32 @@
sidebar_position: 1
---

# Setup
Welcome to **Kakao Compose** tutorial. Let's make UI testing easies and simple. In this documentation we will try to explain functionality of Kakao Compose and
fundamental concepts of implementation, modules and responsibility of each, how to add this library to your project and
how to start works on UI test step by step.

Welcome to **Kakao Compose** tutorial. Let's make UI testing easies and simple.


## Project structure and libraries
But before we started, don't forget that `KakaoCup` is fully Open Source and supported by community.
Please don't hesitate to contribute to this documentation or fix any bugs.
We always welcome to new contributors with any level of codding skills.

### Overview

### Compose

### Compose Semantics

### Compose UI

### Compose Test

## Getting Started

### Setup project dependencies
Add those dependencies into your `build.gradle` or `build.gradle.kts` file

:::tip Version

`<latest version>` can be found on project [GitHub](https://github.com/KakaoCup/compose)

:::

```groovy
dependencies {
androidTestImplementation 'io.github.kakaocup:compose:<latest version>'
}
```

```kotlin
dependencies {
androidTestImplementation("io.github.kakaocup:compose:<latest version>")
}
From version `1.0.0` Kakao Compose contains four main modules, with following dependencies

```mermaid
flowchart TD
Test(compose-test)
Compose(compose)
UI(compose-ui)
Semantics(compose-semantics)
Test --> Compose
UI --> Semantics
Test --> Semantics
```


:::danger Take care

This action is dangerous

:::
* `compose` - Core module, which providing DSL wrapping for Espresso methods,
Screens page objects and `LazyList` support
* `compose-semantics` - Set of default semantics keys, what can be used by `compose-ui` and `compose-test` modules
* `compose-ui` - Wrapped over Compose base components, with the same constructors signatures.
Those wrappers will set all possible semantics from `compose-semantics` module, which can be used by `compose-test` module
* `compose-test` - Providing nodes for typed component validation
24 changes: 24 additions & 0 deletions documentation/docs/setup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
sidebar_position: 2
---

### Setup project dependencies
Add those dependencies into your `build.gradle` or `build.gradle.kts` file

:::tip Version

`<latest version>` can be found on project [GitHub](https://github.com/KakaoCup/compose)

:::

```groovy
dependencies {
androidTestImplementation 'io.github.kakaocup:compose:<latest version>'
}
```

```kotlin
dependencies {
androidTestImplementation("io.github.kakaocup:compose:<latest version>")
}
```
Loading