Appium 1.9.0


#1

Hi,

I updated Appium 1.8.1 to 1.9.0 (released on August 27) through the command: npm install -g appium

Unfortunately, my android projects no longer work on Katalon 5.6.3 (including Spy and mobile recorder)

So, i rollback to version 1.8.1 through: npm install -g appium@1.8.1

Did you suceed or did you face the same issue?

Should we expect a new version of Katalon?

Thanks


Appium 1.9.0+ support
#2

@Vinh Nguyen
Hi, Any news about this?
Is a new Katalon version planned soon? Supporting Appium 1.9?


Thanks


#3

As far as I can see:
iOS Apps built with Xcode10 are not supported by Appium lower than 1.9.1,
Katalon does not support Appium higher than 1.8.x
In Addition to that I cannot see/use my iOS Simulator devices through Katalon since I upgraded to XC10.
Any news?


#4

I also faced with the same issue, all i can do is rollback to use version 1.8.1. and even Katalon Studio new version (5.8.6) still doesn’t help.


#5

Has there been a solution to this?
I’m using xcode 10.1, appium 1.9.1, and Katalon Studio 5.9.1.
I can’t Capture Object on Android 8.0.0 (Samsung s8) device: I get: “java.lang.NullPointerException”


#6

Hi ejadayel,

Katalon Studio 5.9.1 only supports up to Appium 1.8.1, so can you try downgrading Appium with:

npm install -g appium@1.8.1

Hope this helps,

Chris


#7

Thanks Chris, I won’t be able to use appium 1.8.1 as it doesn’t support xcode 10.
It would be nice to have a compatibility chart in the release notes.
When will there be a release to support appium 1.9.1 or higher?
Thanks again for your response!


#8

Hi ejadayel,

Unfortunately, I don’t have any visibility into the release roadmap for Katalon Studio.

I can tell you that I have Appium 1.8.1 on my machine with both Xcode 9.4.1 and 10.1 running side-by-side and I’m able to run Katalon tests. Here’s how it works for me:

  • Install Appium 1.8.1 via npm install -g appium@1.8.1
  • Install Katalon Studio 5.10.0 (latest)
  • Install Xcode10.1 from the App Store as your default version
  • Download Xcode9.4.1 from the Apple Developer Center: https://download.developer.apple.com/Developer_Tools/Xcode_9.4.1/Xcode_9.4.1.xip
  • Extract and install Xcode9.4.1 into your /Applications folder, choosing “Keep Both” when prompted to overwrite.
  • Name the Xcode9.4.1 application to Xcode9.4.1
  • Set the default version of Xcode to 10.1 via sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
  • In Xcode 10.1, build the Appium WebDriverAgent project (located in /Users/<yourhome>/.nvm/versions/node/<nodeversion>/lib/node_modules/appium/node_modules/appium-xcuitest-driver)
    NOTE: You will need to do the following to get it to compile in Xcode10:
    • In Xcode, go to File->Project Settings and change the Build System to “Legacy Build System”
    • In the WebDriverAgentLib target, go to the Build Settings tab
    • Find “Other Linker Flags” and add -Wl,-U,"_OBJC_CLASS_$_XCElementSnapshot"
  • Do any development of your app in Xcode10.1
  • When ready to test, switch the default version of Xcode to 9.4.1 via sudo xcode-select -s /Applications/Xcode9.4.1.app/Contents/Developer (this is because Katalon Studio doesn’t support Xcode10 yet)
  • Open Katalon Studio
  • Run your tests

Hope this helps,

Chris


#9

Thank you Chris for all your help!
I’m assuming that the recent release of Katalon 5.10.0 doesn’t work with Appium greater than 1.8.1?


#10

I haven’t seen anything in the release notes for 5.10.0 or 5.10.1 that indicate any support higher than Appium 1.8.1 yet.

EDIT: Appium 1.8.2-beta is supported in Katalon Studio 5.10.1 and will work for testing with Xcode 10 and iOS 12.


#11

What about Android 8 ? Seems that we can only test using Android 7 but must of smartphones today use 8. an y schedule date for Android updates?


#12

Support for newer Appium versions (e.g. 1.9, 1.10) would be very useful


#13

Hi @alxborbon,

I’m able to run tests using Katalon Studio 5.10.1 on an Android 8.1 (API 27) emulator. Are you having problems with this?

– Chris


#14

Thank you.

But it is not working. Exception unsupport ios 12. Then I try copy add sdk ios 12 from xcode10 to xcode9 but does not work. Please help me.


#15

Hi @duyphan.uet,

In your Xcode project, what is the “Deployment Target” set to? It will need to be iOS 11.4 or earlier if you want to be able to test in Katalon Studio.

– Chris


#16

HI Chris,

I have downgraded the Appium version to 1.8.1 and now I am getting “Unable to capture object because of Webdriver exception” error.

An unknown server-side error occurred while processing the command. Original error: io.appium.uiautomator2.common.exceptions.TakeScreenshotException: Failed to capture a screenshot. Does the current view have ‘secure’ flag set?

at io.appium.uiautomator2.utils.ScreenshotHelper.takeDeviceScreenshot(ScreenshotHelper.java:70)

at io.appium.uiautomator2.utils.ScreenshotHelper.takeScreenshot(ScreenshotHelper.java:48)

at io.appium.uiautomator2.utils.ScreenshotHelper.takeScreenshot(ScreenshotHelper.java:63)

at io.appium.uiautomator2.handler.CaptureScreenshot.safeHandle(CaptureScreenshot.java:19)

at io.appium.uiautomator2.handler.request.SafeRequestHandler.handle(SafeRequestHandler.java:65)

at io.appium.uiautomator2.server.AppiumServlet.handleRequest(AppiumServlet.java:247)

at io.appium.uiautomator2.server.AppiumServlet.handleHttpRequest(AppiumServlet.java:238)

at io.appium.uiautomator2.http.ServerHandler.channelRead(ServerHandler.java:44)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352)

at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345)

at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352)

at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345)

at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:435)

at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)

at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267)

at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:250)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352)

at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345)

at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1294)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352)

at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:911)

at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)

at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:611)

at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:552)

at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:466)

at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:438)

at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:140)

at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)

at java.lang.Thread.run(Thread.java:764)

(WARNING: The server did not provide any stacktrace information)

Command duration or timeout: 0 milliseconds

Build info: version: ‘unknown’, revision: ‘unknown’, time: ‘unknown’

System info: host: ‘HYRDMACPRO143’, ip: ‘fe80:0:0:0:1c64:1463:fa2c:9ba6%en0’, os.name: ‘Mac OS X’, os.arch: ‘x86_64’, os.version: ‘10.12.6’, java.version: ‘1.8.0_181’

Driver info: com.kms.katalon.core.appium.driver.SwipeableAndroidDriver

Capabilities {TAKES_SCREENSHOT: false, app: /Users/nagisetr/Desktop/WFN…, appPackage: com.adp.wfnotg.iat, autoGrantPermissions: true, automationName: uiautomator2, databaseEnabled: false, desired: {TAKES_SCREENSHOT: false, app: /Users/nagisetr/Desktop/WFN…, autoGrantPermissions: true, automationName: uiautomator2, deviceId: ce0117110c25701a02, deviceName: samsung SM-G935F (Android 8…, fullReset: false, newCommandTimeout: 1800, noReset: true, platform: ANDROID, platformName: Android, udid: ce0117110c25701a02, uiautomator2ServerLaunchTimeout: 60000}, deviceApiLevel: 26, deviceId: ce0117110c25701a02, deviceManufacturer: samsung, deviceModel: SM-G935F, deviceName: ce0117110c25701a02, deviceScreenDensity: 640, deviceScreenSize: 1440x2560, deviceUDID: ce0117110c25701a02, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, newCommandTimeout: 1800, noReset: true, pixelRatio: 3, platform: ANDROID, platformName: ANDROID, platformVersion: 8.0.0, statBarHeight: 72, takesScreenshot: true, udid: ce0117110c25701a02, uiautomator2ServerLaunchTimeout: 60000, viewportRect: {height: 1848, left: 0, top: 72, width: 1080}, warnings: {}, webStorageEnabled: false}

Session ID: 9168e3fe-7146-41f1-92ea-7275ba0373ac

Can you please help me resolving this issue?

Thank you.
Regards,
Chandan


#17

Hi @chandan.dungarwal2,

The message that is important is:

io.appium.uiautomator2.common.exceptions.TakeScreenshotException: Failed to capture a screenshot. Does the current view have ‘secure’ flag set?

Some Android screens can be set to “secure” so that they can’t have screenshots taken. This is usually done for login screens, credit card screens, or other screens where sensitive information will be entered.

If you’re using Katalon Studio’s Spy Mobile feature and you encounter this error, you can still inspect and capture test objects, you just can’t get a preview of the screen.

Hope this helps,

Chris


#18

Thanks Chris!


#19

Hi @duyphan.uet,

Following up, and it turns out that Xcode 10 and iOS 12 are indeed supported by Katalon Studio 5.10.1 if you use Appium 1.8.2-beta.

– Chris


#20

Any news on official support? Newer versions seem to run fine if you upgrade the “java-client”-library to version 7.0.0
Official support would obviously be better