How should I avoid resetting the IOS device at each execution?

Hello everyone,

I encounter a problem.
I deployed automated tests on IOS, when I configure my ipad with a specific language (French) the simulator via Xcode saves the modification.

When I run an automated test via KAtalon, the emulator is automatically in English.

Here is my work environment:
Katalon version = 6.1.0
Appium version = v1.8.2-beta (REV 345f276860c3591daef74fb27927a31ea65f138e)
Xcode = 10.1
IOS version simulator = 12.1
Ipad Pro

I first added some desired capabilities, but I have a return to the Katalon console that tells me that it can not use my desired abilities.

here is the return of the console:


SLF4J: The requested version 1.7.16 by your slf4j binding is not compatible with [1.6]
SLF4J: See SLF4J Error Codes for further details.
2019-08-09 10:50:49.939 INFO c.k.katalon.core.main.TestSuiteExecutor - START Test Suites/DEV/Mobile/AppPro/Caisse/CreerTicketSimple
2019-08-09 10:50:49.990 INFO c.k.katalon.core.main.TestSuiteExecutor - hostName = tassi - macbook-pro031-2.home
2019-08-09 10:50:49.991 INFO c.k.katalon.core.main.TestSuiteExecutor - os = Mac OS X 64bit
2019-08-09 10:50:49.991 INFO c.k.katalon.core.main.TestSuiteExecutor - hostAddress = 192.168.1.37
2019-08-09 10:50:49.992 INFO c.k.katalon.core.main.TestSuiteExecutor - katalonVersion = 6.1.0.1
2019-08-09 10:50:50.231 INFO c.k.katalon.core.main.TestCaseExecutor - --------------------
2019-08-09 10:50:50.232 INFO c.k.katalon.core.main.TestCaseExecutor - START Test Cases/Mobile/IOS/App Pro/StartApplicationPro
2019-08-09 10:50:50.737 DEBUG testcase.StartApplicationPro - 1: startApplication(PathAPP, true)
2019-08-09 10:50:51.184 INFO c.k.k.c.m.k.i.MobileDriverFactory - User set preference: [‘noReset’, ‘true’]
2019-08-09 10:50:51.185 INFO c.k.k.c.m.k.i.MobileDriverFactory - User set preference: [‘app’, ‘/Users/tassi/Desktop/Flexy Pro.app’]
2019-08-09 10:50:51.188 INFO c.k.k.c.m.k.i.MobileDriverFactory - User set preference: [‘automationName’, ‘XCUITest’]
2019-08-09 10:50:51.189 INFO c.k.k.c.m.k.i.MobileDriverFactory - User set preference: [‘deviceName’, ‘iPad Pro - Katalon’]
2019-08-09 10:50:51.189 INFO c.k.k.c.m.k.i.MobileDriverFactory - User set preference: [‘fullReset’, ‘false’]
2019-08-09 10:50:51.189 INFO c.k.k.c.m.k.i.MobileDriverFactory - User set preference: [‘newCommandTimeout’, ‘1000’]
2019-08-09 10:50:51.190 INFO c.k.k.c.m.k.i.MobileDriverFactory - User set preference: [‘platform’, ‘IOS’]
2019-08-09 10:50:51.194 INFO c.k.k.c.m.k.i.MobileDriverFactory - User set preference: [‘platformName’, ‘iOS’]
2019-08-09 10:50:51.195 INFO c.k.k.c.m.k.i.MobileDriverFactory - User set preference: [‘platformVersion’, ‘12.1’]
2019-08-09 10:50:51.196 INFO c.k.k.c.m.k.i.MobileDriverFactory - User set preference: [‘deviceId’, ‘C0563D8F-4F64-4613-8D76-C136C9F80B91’]
2019-08-09 10:50:51.380 INFO c.k.k.c.a.driver.AppiumDriverManager - ios_webkit_debug_proxy server started on port 51054
2019-08-09 10:50:56.150 INFO c.k.k.c.a.driver.AppiumDriverManager - Appium server started on port 51 056
[Appium] Welcome to Appium v1.8.2-beta (REV 345f276860c3591daef74fb27927a31ea65f138e)
[Appium] Non-default server args:
[Appium] port: 51056
[Appium] loglevel: info
[Appium] chromeDriverPort: 51057
[Appium] tmpDir: /var/folders/4j/w1f7dmx11_sfx9nfwydvtzk00000gp/T//Katalon/Appium/Temp1565340651381
[Appium] webkitDebugProxyPort: 51054
[Appium] Appium REST http interface listener started on 0.0.0.0:51056
[HTTP] → GET /wd/hub/status
[HTTP] {}
[HTTP] ← GET /wd/hub/status 200 16 ms - 126
[HTTP]
[HTTP] → POST /wd/hub/session
[HTTP] {“desiredCapabilities”:{“app”:"/Users/tassi/Desktop/Flexy Pro.app",“automationName”:“XCUITest”,“deviceId”:“C0563D8F-4F64-4613-8D76-C136C9F80B91”,“deviceName”:“iPad Pro - Katalon”,“fullReset”:true,“newCommandTimeout”:1800,“noReset”:false,“platform”:“IOS”,“platformName”:“iOS”,“platformVersion”:“12.1”,“realDeviceLogger”:"/Applications/Katalon Studio.app/Contents/Eclipse/configuration/resources/tools/deviceconsole/deviceconsole",“waitForAppScript”:“true;”,“wdaLocalPort”:51053},“capabilities”:{“desiredCapabilities”:{“app”:"/Users/tassi/Desktop/Flexy Pro.app",“automationName”:“XCUITest”,“deviceId”:“C0563D8F-4F64-4613-8D76-C136C9F80B91”,“deviceName”:“iPad Pro - Katalon”,“fullReset”:true,“newCommandTimeout”:1800,“noReset”:false,“platform”:“IOS”,“platformName”:“iOS”,“platformVersion”:“12.1”,“realDeviceLogger”:"/Applications/Katalon Studio.app/Contents/Eclipse/configuration/resources/tools/deviceconsole/deviceconsole",“waitForAppScript”:“true;”,“wdaLocalPort”:51053},“firstMatch”:[{“platformName”
[Appium] Could not parse W3C capabilities: ‘deviceName’ can’t be blank. Falling back to JSONWP protocol.
[Appium] The following capabilities were provided in the JSONWP desired capabilities that are missing in W3C capabilities: [“app”,“automationName”,“deviceId”,“deviceName”,“fullReset”,“newCommandTimeout”,“noReset”,“platform”,“platformName”,“platformVersion”,“realDeviceLogger”,“waitForAppScript”,“wdaLocalPort”]. Falling back to JSONWP protocol.
[Appium] Creating new XCUITestDriver (v2.111.0) session
[Appium] Capabilities:
[Appium] app: /Users/tassi/Desktop/Flexy Pro.app
[Appium] automationName: XCUITest
[Appium] deviceId: C0563D8F-4F64-4613-8D76-C136C9F80B91
[Appium] deviceName: iPad Pro - Katalon
[Appium] fullReset: true
[Appium] newCommandTimeout: 1800
[Appium] noReset: false
[Appium] platform: IOS
[Appium] platformName: iOS
[Appium] platformVersion: 12.1
[Appium] realDeviceLogger: /Applications/Katalon Studio.app/Contents/Eclipse/configuration/resources/tools/deviceconsole/deviceconsole
[Appium] waitForAppScript: true;
[Appium] wdaLocalPort: 51053
[BaseDriver] The following capabilities were provided, but are not recognized by appium: deviceId, platform.
[BaseDriver] Session created with session id: 580dbfd3-7ee5-4e5b-8b33-db349df62144
[iOSSim] Constructing iOS simulator for Xcode version 10.1 with udid ‘C0563D8F-4F64-4613-8D76-C136C9F80B91’
[XCUITest] Determining device to run tests on: udid: ‘C0563D8F-4F64-4613-8D76-C136C9F80B91’, real device: false
[XCUITest] Xcode version set to ‘10.1’ (tools v9.4.1.0.1.1528165917)
[XCUITest] iOS SDK Version set to ‘12.1’
[BaseDriver] Using local app ‘/XXX/XXXX/XXX/XXXX.app’
[iOSSim] Cleaning simulator C0563D8F-4F64-4613-8D76-C136C9F80B91
[XCUITest] Continuing without capturing device logs: iOS Simulator with udid C0563D8F-4F64-4613-8D76-C136C9F80B91 is not running
[XCUITest] Setting up simulator
[iOSSim] Booting Simulator with UDID C0563D8F-4F64-4613-8D76-C136C9F80B91…
[iOSSim] Starting Simulator UI with command: open -Fn /Users/tassi/Desktop/Xcode.app/Contents/Developer/Applications/Simulator.app --args -CurrentDeviceUDID C0563D8F-4F64-4613-8D76-C136C9F80B91 -ConnectHardwareKeyboard 0
[iOSSim] Simulator with UDID C0563D8F-4F64-4613-8D76-C136C9F80B91 booted in 23 seconds
[XCUITest] Using WDA path: ‘/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent’
[XCUITest] Using WDA agent: ‘/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgent.xcodeproj’
[WD Proxy] Got an unexpected response: {“errno”:“ECONNREFUSED”,“code”:“ECONNREFUSED”,“syscall”:“connect”,“address”:“127.0.0.1”,“port”:51053}
[XCUITest] Launching WebDriverAgent on the device
[WD Proxy] Got an unexpected response: {“errno”:“ECONNREFUSED”,“code”:“ECONNREFUSED”,“syscall”:“connect”,“address”:“127.0.0.1”,“port”:51053}
[WD Proxy] Got an unexpected response: {“errno”:“ECONNREFUSED”,“code”:“ECONNREFUSED”,“syscall”:“connect”,“address”:“127.0.0.1”,“port”:51053}
[WD Proxy] Got an unexpected response: {“errno”:“ECONNREFUSED”,“code”:“ECONNREFUSED”,“syscall”:“connect”,“address”:“127.0.0.1”,“port”:51053}
[WD Proxy] Got an unexpected response: {“errno”:“ECONNREFUSED”,“code”:“ECONNREFUSED”,“syscall”:“connect”,“address”:“127.0.0.1”,“port”:51053}
[WD Proxy] Got an unexpected response: {“errno”:“ECONNREFUSED”,“code”:“ECONNREFUSED”,“syscall”:“connect”,“address”:“127.0.0.1”,“port”:51053}
[WD Proxy] Got an unexpected response: {“errno”:“ECONNREFUSED”,“code”:“ECONNREFUSED”,“syscall”:“connect”,“address”:“127.0.0.1”,“port”:51053}
[WD Proxy] Got an unexpected response: {“errno”:“ECONNREFUSED”,“code”:“ECONNREFUSED”,“syscall”:“connect”,“address”:“127.0.0.1”,“port”:51053}
[WD Proxy] Got an unexpected response: {“errno”:“ECONNREFUSED”,“code”:“ECONNREFUSED”,“syscall”:“connect”,“address”:“127.0.0.1”,“port”:51053}
[WD Proxy] Got an unexpected response: {“errno”:“ECONNREFUSED”,“code”:“ECONNREFUSED”,“syscall”:“connect”,“address”:“127.0.0.1”,“port”:51053}
[WD Proxy] Got an unexpected response: {“errno”:“ECONNREFUSED”,“code”:“ECONNREFUSED”,“syscall”:“connect”,“address”:“127.0.0.1”,“port”:51053}
[WD Proxy] Got an unexpected response: {“errno”:“ECONNREFUSED”,“code”:“ECONNREFUSED”,“syscall”:“connect”,“address”:“127.0.0.1”,“port”:51053}
août 09, 2019 10:51:54 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFOS: Detected dialect: OSS
2019-08-09 10:51:54.522 INFO c.k.k.c.a.driver.AppiumRequestService - appiumVersion = 1.8.2-beta
2019-08-09 10:51:54.603 INFO c.k.k.c.a.driver.AppiumDriverManager - deviceId = null
2019-08-09 10:51:54.603 INFO c.k.k.c.a.driver.AppiumDriverManager - deviceName = iPad Pro - Katalon
2019-08-09 10:51:54.606 INFO c.k.k.c.a.driver.AppiumDriverManager - deviceModel = Not available for Simulator
2019-08-09 10:51:54.611 INFO c.k.k.c.a.driver.AppiumDriverManager - deviceManufacturer = Apple
2019-08-09 10:51:54.612 INFO c.k.k.c.a.driver.AppiumDriverManager - deviceOS = iOS
2019-08-09 10:51:54.613 INFO c.k.k.c.a.driver.AppiumDriverManager - deviceOSVersion = 12.1
2019-08-09 10:51:54.632 INFO c.k.katalon.core.main.TestCaseExecutor - END Test Cases/Mobile/IOS/XXX XXX/StartApplicationPro
2019-08-09 10:51:54.641 INFO c.k.katalon.core.main.TestCaseExecutor - --------------------
2019-08-09 10:51:54.641 INFO c.k.katalon.core.main.TestCaseExecutor - START Test Cases/Mobile/IOS/App Pro/ConnexionApp/ConnexionBO


I realized that he does not accept the abilities that I configured.
here they are :

I suspect the full reset that is automatically performed at each execution. That appeals to me after this part of the console:


[HTTP] {“desiredCapabilities”:{“app”:"/Users/tassi/Desktop/Flexy Pro.app",“automationName”:“XCUITest”,“deviceId”:“C0563D8F-4F64-4613-8D76-C136C9F80B91”,“deviceName”:“iPad Pro - Katalon”,“fullReset”:true,“newCommandTimeout”:1800,“noReset”:false,“platform”:“IOS”,“platformName”:“iOS”,“platformVersion”:“12.1”,“realDeviceLogger”:"/Applications/Katalon Studio.app/Contents/Eclipse/configuration/resources/tools/deviceconsole/deviceconsole",“waitForAppScript”:“true;”,“wdaLocalPort”:50865},“capabilities”:{“desiredCapabilities”:{“app”:"/Users/tassi/Desktop/Flexy Pro.app",“automationName”:“XCUITest”,“deviceId”:“C0563D8F-4F64-4613-8D76-C136C9F80B91”,“deviceName”:“iPad Pro - Katalon”,“fullReset”:true,“newCommandTimeout”:1800,“noReset”:false,“platform”:“IOS”,“platformName”:“iOS”,“platformVersion”:“12.1”,“realDeviceLogger”:"/Applications/Katalon Studio.app/Contents/Eclipse/configuration/resources/tools/deviceconsole/deviceconsole",“waitForAppScript”:“true;”,“wdaLocalPort”:50865},“firstMatch”:[{“platformName”

[Appium] Could not parse W3C capabilities: ‘deviceName’ can’t be blank. Falling back to JSONWP protocol.

[Appium] The following capabilities were provided in the JSONWP desired capabilities that are missing in W3C capabilities: [“app”,“automationName”,“deviceId”,“deviceName”,“fullReset”,“newCommandTimeout”,“noReset”,“platform”,“platformName”,“platformVersion”,“realDeviceLogger”,“waitForAppScript”,“wdaLocalPort”]. Falling back to JSONWP protocol.

[Appium] Creating new XCUITestDriver (v2.111.0) session

[Appium] Capabilities:

[Appium] app: /XXXX/XXXX/Desktop/XXXXXX.app

[Appium] automationName: XCUITest

[Appium] deviceId: C0563D8F-4F64-4613-8D76-C136C9F80B91

[Appium] deviceName: iPad Pro - Katalon

[Appium] fullReset: true

[Appium] newCommandTimeout: 1800

[Appium] noReset: false

[Appium] platform: IOS

[Appium] platformName: iOS

[Appium] platformVersion: 12.1

[Appium] realDeviceLogger: /Applications/Katalon Studio.app/Contents/Eclipse/configuration/resources/tools/deviceconsole/deviceconsole

[Appium] waitForAppScript: true;

[Appium] wdaLocalPort: 50865

[BaseDriver] The following capabilities were provided, but are not recognized by appium: deviceId, platform.


Here are my questions:

  1. How can I accept reading and taking into account my desired skills?
  2. In the case where the Ios simulator is functional with the French language without Katalon, is it possible to keep the configuration in French?
  3. I have the impression that via katalon it is complicated hoirs is there a more direct way (for example via the appium “appium-xcuitest-driver” or other?
  4. In which file does it recover by default the desired capabilities? Is it possible to modify them?
    5.Is it possible to use Appium desktop under katalon in order to parameterize via the interface the desired capacities

I thank you in advance for your help

Best regards,

Mehdi QA

Hi here,
for my problem I have updated appium and katalon and it works.
Device does not crash when adding desired capabilities languages.

here is my environment configuration:

KATALON = Before = Katalon 6.1.1 --> Now = Katalon 6.3.2
APPIUM = Before = 1.8.2@beta --> Now = v1.12.1