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

support for iOS and Android using appium #743

Closed
babusekaran opened this issue Apr 21, 2019 · 6 comments
Closed

support for iOS and Android using appium #743

babusekaran opened this issue Apr 21, 2019 · 6 comments
Assignees
Milestone

Comments

@babusekaran
Copy link
Contributor

babusekaran commented Apr 21, 2019

⚠️ (As on Apr 2023) Please consider Mobile support as experimental. But we are very close and there are some teams that use Karate for simple use-cases. Please contribute code if you can.

Description:
iOS and Android UI automation capability in karate using appium server.

basic driver support for iOS and android automation extending karate's web driver implementation to interact with appium server.

proposing driver types:

      for Android: { type: 'android' }
      for iOS: { type: 'iOS' }

locator support: XPath, name, accessibility id and id by the prefix.
adding platform-specific locator strategies like class chain, predicate string for iOS and uiautomator for android can be added shortly once we come up with a prefix, and also if there are any others supported by appium.

dependencies needed for this integration to work:

  • appium (install using npm)
    npm install -g appium
  • xcode >7 for iOS automation
  • android studio (android SDK with an AVD is also sufficient)

sample work on Android:
KarateAppiumv4

@ptrthomas
Copy link
Member

great ! for now I'd like to keep type lowercase, so ios - can re-visit if needed

@babusekaran
Copy link
Contributor Author

Need suggestion on prefix for platform-specific locator strategies,

platform prefix
(proposed)
means example
ios : -ios predicate string :name == 'OK' type == XCUIElementTypeButton
ios ^ -ios class chain ^**/XCUIElementTypeTable[`name == 'dataTable'`]
android - -android uiautomator -input[name=someName]

@ptrthomas does this looks fine?

@ptrthomas
Copy link
Member

@babusekaran yes we can start with this and revisit later

@ptrthomas
Copy link
Member

released 0.9.3

@Rajeshwarb
Copy link

Rajeshwarb commented Apr 18, 2023

Hi @ptrthomas do we have any method in Karate framework to handle mobile screen swipe (vertical/horizontal) to verify push notifications. Where can i find it, please details if have any.

@ptrthomas
Copy link
Member

@Rajeshwarb mobile support is currently experimental until we get contributions to close some of the gaps. you can read + add your needs to this ticket: #2300

@karatelabs karatelabs locked as resolved and limited conversation to collaborators Apr 19, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants