Skip to content

Commit 9f5dba2

Browse files
author
Pavel Anihimovsky
committed
Update README.md
1 parent bc40b1e commit 9f5dba2

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

README.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,29 +22,29 @@ We use interfaces where is possible, so you can implement your own version of ta
2222
<dependency>
2323
<groupId>com.github.aquality-automation</groupId>
2424
<artifactId>aquality-appium-mobile</artifactId>
25-
<version>LATEST</version>
25+
<version>${LATEST_VERSION}</version>
2626
</dependency>
2727
```
2828

29-
2. Configure path to your application at settings.json:
29+
2. Configure the path to your application at settings.json:
3030
- Copy [settings.json](./src/main/resources/settings.json) into the resources directory of your project.
3131
- Open settings.json and find `applicationPath` option under the `driverSettings` section of desired platform. Replace the value with full or relative path to your app, e.g. `./src/test/resources/apps/ApiDemos-debug.apk`.
3232

3333
3. Ensure that [Appium server](https://appium.io) is set up at your machine where the code would be executed, and the address/port match to set in your `settings.json` in `remoteConnectionUrl` parameter.
3434
If the parameter `isRemote` in your settings.json is set to `false`, this means that AppiumDriverLocalService would be used to setup Appium server using Node.js. This option requires specific version of node.js to be preinstalled on your machine (Please read more [here](http://appium.io/docs/en/contributing-to-appium/appium-from-source/#nodejs) )
3535

3636
4. (optional) Launch an application directly by calling `AqualityServices.getApplication();`.
37+
3738
> Note:
3839
If you don't start an Application directly, it would be started with the first call of any Aquality service or class requiring interacting with the Application.
3940

4041
5. That's it! Now you are able work with Application via AqualityServices or via element services.
4142
Please take a look at our example tests [here](./src/test/java/samples/)
4243

4344
6. To interact with Application's forms and elements, we recommend following the Page/Screen Objects pattern. This approach is fully integrated into our package.
44-
To start with that, you will need to create a separate class for each window/form of your application, and inherit this class from the [AndroidScreen](./src/main/java/aquality/appium/mobile/screens/AndroidScreen.java) or [IOSScreen](./src/main/java/aquality/appium/mobile/screens/IOSScreen.java) respectively.
45-
46-
> We recommend to use separate Screen class for each form of your application. You can take advantage of inheritance and composition pattern. We also suggest not to mix app different platforms in single class: take advantage of interfaces instead, adding the default implementation to them if is needed.
45+
To start with that, you will need to create a separate class for each window/form of your application, and inherit this class from the [Screen](./src/main/java/aquality/appium/mobile/screens/Screen.java).
4746

47+
> We recommend to use separate Screen class for each form of your application. You can take advantage of inheritance and composition pattern. We also suggest not to mix app different platforms in single class: take advantage of interfaces instead, adding the default implementation to them if it is needed.
4848
4949
7. From the Screen Object perspective, each Screen consists of elements on it (e.g. Buttons, TextBox, Labels and so on).
5050
To interact with elements, on your form class create fields of type IButton, ITextBox, ILabel, and initialize them using the `getElementFactory()`. Created elements have a various methods to interact with them. We recommend combining actions into a business-level methods:
@@ -77,7 +77,6 @@ public class InvokeSearchScreen extends AndroidScreen {
7777
return lblSearchResult.getText();
7878
}
7979
}
80-
8180
```
8281

8382
8. We use DI Guice to inject dependencies, so you can simply implement your MobileModule extended from [MobileModule](./src/main/java/aquality/appium/mobile/application/MobileModule.java) and inject it to `AqualityServices.initInjector(yourModule)`.

0 commit comments

Comments
 (0)