Then Steps
Autokin Mobile Steps

Make the test wait for desired seconds enough for hte mobile to be displayed or anything that is needed for wait.
Scenario: Autokin Mobile
Given that I set "iOS" as platform with version of "13.0"
Given that I set "iPhone 11 Pro" as device
Given that app is located at "http://www.autokinjs.com/myapps/myios_sample_app.zip"
When I create new session on "https://appium.autokinjs.com:4723/wd/hub"
Then I wait 3 seconds

Captures the current screen image of the mobile app. No need to include file extension as this will be appended with .png, and since images will be in PNG format.
Scenario: Autokin Mobile
Given that I set "iOS" as platform with version of "13.0"
Given that I set "iPhone 11 Pro" as device
Given that app is located at "http://www.autokinjs.com/myapps/myios_sample_app.zip"
When I create new session on "https://appium.autokinjs.com:4723/wd/hub"
Then I wait 3 seconds
Then I capture mobile screen as "mobile_home"

Scenario: Autokin Mobile
Given that I set "iOS" as platform with version of "13.0"
Given that I set "iPhone 11 Pro" as device
Given that app is located at "http://www.autokinjs.com/myapps/myios_sample_app.zip"
When I create new session on "https://appium.autokinjs.com:4723/wd/hub"
Then I wait 3 seconds
Then I swipe to the left
Then I swipe to the right
Then I swipe to the up
Then I swipe to the down

Scenario: Autokin Mobile
Given that I set "iOS" as platform with version of "13.0"
Given that I set "iPhone 11 Pro" as device
Given that app is located at "http://www.autokinjs.com/myapps/myios_sample_app.zip"
When I create new session on "https://appium.autokinjs.com:4723/wd/hub"
Then I wait 3 seconds
Then I tap on element with accessibility id of "Sign In"

Scenario: Autokin Mobile
Given that I set "iOS" as platform with version of "13.0"
Given that I set "iPhone 11 Pro" as device
Given that app is located at "http://www.autokinjs.com/myapps/myios_sample_app.zip"
When I create new session on "https://appium.autokinjs.com:4723/wd/hub"
Then I wait 3 seconds
Then I tap on element with xpath of "//XCUIElementTypeButton[@name="Hello"]"

Scenario: Autokin Mobile
Given that I set "iOS" as platform with version of "13.0"
Given that I set "iPhone 11 Pro" as device
Given that app is located at "http://www.autokinjs.com/myapps/myios_sample_app.zip"
When I create new session on "https://appium.autokinjs.com:4723/wd/hub"
Then I wait 3 seconds
Then I tap on 300, 300

Scenario: Autokin Mobile
Given that I set "iOS" as platform with version of "13.0"
Given that I set "iPhone 11 Pro" as device
Given that app is located at "http://www.autokinjs.com/myapps/myios_sample_app.zip"
When I create new session on "https://appium.autokinjs.com:4723/wd/hub"
Then I wait 3 seconds
Then I set "Hello World" value to element with accessibility id of "MyField"

Scenario: Autokin Mobile
Given that I set "iOS" as platform with version of "13.0"
Given that I set "iPhone 11 Pro" as device
Given that app is located at "http://www.autokinjs.com/myapps/myios_sample_app.zip"
When I create new session on "https://appium.autokinjs.com:4723/wd/hub"
Then I wait 3 seconds
Then I set "Hello World" value to element with xpath of "//XCUIElement"

Scenario: Autokin Mobile
Given that I set "iOS" as platform with version of "13.0"
Given that I set "iPhone 11 Pro" as device
Given that app is located at "http://www.autokinjs.com/myapps/myios_sample_app.zip"
When I create new session on "https://appium.autokinjs.com:4723/wd/hub"
Then I wait 3 seconds
Then I expect element with accessibility id of "FieldName" has value "Hello"

Check if mobile keyboard is visible
Scenario: Autokin Mobile
Given that I set "iOS" as platform with version of "13.0"
Given that I set "iPhone 11 Pro" as device
Given that app is located at "http://www.autokinjs.com/myapps/myios_sample_app.zip"
When I create new session on "https://appium.autokinjs.com:4723/wd/hub"
Then I wait 3 seconds
Then I expect device keyboard is visibile

Trigger to hide on screen keyboard
Scenario: Autokin Mobile
Given that I set "iOS" as platform with version of "13.0"
Given that I set "iPhone 11 Pro" as device
Given that app is located at "http://www.autokinjs.com/myapps/myios_sample_app.zip"
When I create new session on "https://appium.autokinjs.com:4723/wd/hub"
Then I wait 3 seconds
Then I hide device keyboard

Perform shake gesture on the device
Scenario: Autokin Mobile
Given that I set "iOS" as platform with version of "13.0"
Given that I set "iPhone 11 Pro" as device
Given that app is located at "http://www.autokinjs.com/myapps/myios_sample_app.zip"
When I create new session on "https://appium.autokinjs.com:4723/wd/hub"
Then I wait 3 seconds
Then I shake the device

Make the application runs in the background and make it active when time in seconds elapsed.
Scenario: Autokin Mobile
Given that I set "iOS" as platform with version of "13.0"
Given that I set "iPhone 11 Pro" as device
Given that app is located at "http://www.autokinjs.com/myapps/myios_sample_app.zip"
When I create new session on "https://appium.autokinjs.com:4723/wd/hub"
Then I wait 3 seconds
Then I make the app run in the background and make active after 3 seconds

Close the appium server session of the mobile app and close it as well.
Scenario: Autokin Mobile
Given that I set "iOS" as platform with version of "13.0"
Given that I set "iPhone 11 Pro" as device
Given that app is located at "http://www.autokinjs.com/myapps/myios_sample_app.zip"
When I create new session on "https://appium.autokinjs.com:4723/wd/hub"
Then I wait 3 seconds
Then I make the app run in the background and make active after 3 seconds
Then I close the session
Copy link
On this page
Then I wait {time in seconds} seconds
Then I capture mobile screen as {path to image}
Then I swipe to the {direction}
Then I tap on element with accessibility id of {accessibility id}
Then I tap on element with xpath of {XPath}
Then I tap on {X Coordinate}, {Y Coordinate}
Then I set {value} value to element with accessibility id of {accessibility id}
Then I set {value} value to element with xpath of {XPath}
Then I expect element with accessibility id of {accessibility id} has value {value}
Then I expect device keyboard is visibile
Then I hide device keyboard
Then I shake the device
Then I make the app run in the background and make active after {time in seconds} seconds
Then I close the session