C sharp/ .Net Client for Appium


#1

I can’t find any post here related to c sharp client. Is the c-sharp client supported and maintained? And is up to date? I am facing lot of issues with it and I am thinking of trying the Java-client instead because of all the issues. But I am facing issues in Java client also, and being new to Java only increases the problem.

Also, can some one please point me to a working demo of using C-sharp client for Android testing. Or point me to any resource which can be of help.

Thanks!

Background: I am using Xamarin for cross-platform development and would like to do all my dev/testing in C#.
My setup: Windows8.1, Appium Client(exe). Using Genymotion Emulator for testing (Android x86 image run in Oracle Virtual Box.)


#2

Hi! C# client for Appium exists. Please go here: https://github.com/appium/appium-dotnet-driver
Actually it have to be enhanced and be powerful like java-client. I am working on it when I have free time.


#3

Can you share some details about the features missing in the C# client as compared to Java client?

Thanks a lot!


#4

The main target is to implement tools applicable to Page Object design pattern. Details:

java-client supports “cross-platform” page/screen objects. Its tools are compatible with browsers also.

Also AppiumDriver (dot-net) contains methods which are specific for each supported mobile OS. I think it have to be split up (abstract AppiumDriver, AndroidDriver, IOSDriver - both should extend AppiumDriver).

What are you think about this ideas?


#5

Some preparation is finished:

On this week I am going to commit some more features.


#6

Agreed. Java client is also implemented in this way.


#7

I wrote a library that implements a page object type pattern in C# if anybody’s interested in trying it. It’s on GitHub and can be installed via NuGet. I’d love some feedback, and I’d really love some contributors :heart_eyes:


#8

If somebody is interested please look at

It is supposed to be published soon.


#9

Further I am going to implement tools for mobile/cross-platform mobile and browser page objects the similar was as it has been designed for Appium java-client.


#10

Hi C# developers/community. I am waiting for the accepting/merging of the pull-request proposed to … Selenium. This is the blocker because there are a lot of missed features on the Selenium .Net side.


#11

Hi Sergey,

Thanks for all your hard work! Can you please share some details about the current status of the C# client, and its comparison with the Java client in terms of the missing functionalities.


#12

Hi @HelloAppium
I’m sorry for my late reply. I have change my job and I have not much time to answer.
Actually the work is almost done. There is a problem:

  • I don’t know what to do because I am waiting for my pull request is merged or discarded:

Jim Evans is busy :flushed:

If it will be merged then I will finish my work. Appium for .Net will use Selenium features. If it will be discarded I pull these features to Appium. So they should become Appium features.

Actually the only one class is not finished yet: AppiumElementLocator.cs
All work you can review here: My branch for page object development.