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

What if capabilities of dotnet client would be synchronized with java client? #64

Closed
TikhomirovSergey opened this issue Nov 7, 2014 · 18 comments

Comments

@TikhomirovSergey
Copy link
Contributor

Java client contains interesting things like:

  • Page factory annotations and tools.
  • actual method set and two AppiumDriver's (one for Android, another for iOS, I think that FirefoxOSDriver and WinPhoneDriver will be there in the future).

What if dotnet client would be the same?

@Jonahss
Copy link
Member

Jonahss commented Nov 10, 2014

If the dotnet community would like it, I say go for it :)

@Astro03
Copy link
Contributor

Astro03 commented Nov 10, 2014

Yes I'm okay with it. I just don't have the time to work on this right now.
Cheers.
Astro

Sent from my iPhone

On Nov 10, 2014, at 11:12 AM, Jonah [email protected] wrote:

If the dotnet community would like it, I say go for it :)


Reply to this email directly or view it on GitHub.

@TikhomirovSergey
Copy link
Contributor Author

Ok guys! I want to take part if it is useful.
I think I will be free in December. Now I'm busy. It is everyday work and I'm preparing some publications :)

@littlemju
Copy link

I just can't wait when it happens. (Sorry for intruding, but I just started using Appium after using Selenium for almost a year, and there's a lot of stuff I already miss. PageObject concepts are the greatest loss so far.)
Anyway, thanks for the great work, it's nice to see that this project is alive and keeps growing.

@christoskourouniades
Copy link

It would be really good if you could get page factory working with the .net driver it makes things much easier to read

@Astro03
Copy link
Contributor

Astro03 commented Dec 2, 2014

@TikhomirovSergey - what's page factory supposed to do? I have a day or two i can work on it this week. or were you planning on doing this?

@TikhomirovSergey
Copy link
Contributor Author

Oh my god! Excuse me for the tardy response.

Actually I am working on enhancement of dot-net-driver. :) On this week / the beginning of the next week (from 14.12.2014) the pull-request is expected. :) Let me take a part in the project!

@TikhomirovSergey
Copy link
Contributor Author

what's page factory supposed to do?

It should instanstiate WebElement-fields of page object without explicit

driver.findBy

invocation. I want to make it the similar way as it is designed for java-client. Details. One more detail.

@TikhomirovSergey
Copy link
Contributor Author

But I think AppiumDriver and AppiumWebElement should be divided like it has been done for java-client firstly. What are you think about this change?

@TikhomirovSergey
Copy link
Contributor Author

HI guys! I have not good news. There is some missed functionality at Selenium for .Net. The present functionality is not much flexible than it needs. So I have to take a break here.

I will propose a pull request to Selenium. When it will be published the work will go on again.
For now you can check out drafts at my own fork.

The use case that I suppose to provide:

[FindsBy(How = How.CssSelector, Using = "relevant css")] //if there the similar browser UI as UI of a //native app
[AndroidFindBy(UIAutomator = "ui Automator locator for Android")] //if page object is going to be used against Android
[iOSFindBy(Xpath = "xpath for iOS")] //if page object is going to be used against 
//iOS
IWebElement targetElement;  //element is used for the mobile and browser testing

java-client tools work the same way.

@Jonahss
Copy link
Member

Jonahss commented Dec 23, 2014

Ah okay. I suppose it's inevitable that we would hit a point like that
eventually :)

The Selenium folks are very friendly about pull requests, should be good :)

On Tue, Dec 23, 2014 at 9:09 AM, Sergey Tikhomirov <[email protected]

wrote:

HI guys! I have not good news. There is some missed functionality at
Selenium for .Net. The present functionality is not much flexible than it
needs. So I have to take a break here.

I will propose a pull request to Selenium. When it will be published the
work will go on again.
For now you can check out drafts at my own fork
https://github.com/TikhomirovSergey/appium-dotnet-driver/tree/master/appium-dotnet-driver/Appium/PageObjects.

The use case that I suppose to provide:

[FindsBy(How = How.CssSelector, Using = "relevant css")] //if there the similar browser UI as UI of a native app
[AndroidFindBy(UIAutomator = "ui Automator locator for Android")] //if page object is going to be used against
//Android
[iOSFindBy(Xpath = "xpath for iOS")] //if page object is going to be used against
//iOS
IWebElement targetElement; //element is used for the mobile and browser testing


Reply to this email directly or view it on GitHub
#64 (comment)
.

@TikhomirovSergey
Copy link
Contributor Author

Ok! Anyway I have started the refactor of Selenium content. If anybody is interested then their can watch it here: https://github.com/TikhomirovSergey/selenium/tree/dot-net-page-factory-enhancement/dotnet/src/support

@TikhomirovSergey
Copy link
Contributor Author

Hi all! Lets start the new year of contributions!
The pull request is proposed to Selenium: SeleniumHQ/selenium#304

@TikhomirovSergey
Copy link
Contributor Author

Me and Jim Evans have reach an agreement. Now the requred change of PageFactory is on Selemium side: SeleniumHQ/selenium@689276b

@Jonahss
Copy link
Member

Jonahss commented Apr 14, 2015

Ooh! Does that affect the java-client PR you submitted?
(I haven't had a chance to play with it yet, super busy)

On Sun, Apr 12, 2015 at 12:27 PM, Sergey Tikhomirov <
[email protected]> wrote:

Me and Jim Evans have reach an agreement. Now the requred change of
PageFactory is on Selemium side: SeleniumHQ/selenium@689276b
SeleniumHQ/selenium@689276b


Reply to this email directly or view it on GitHub
#64 (comment)
.

@TikhomirovSergey
Copy link
Contributor Author

Ooh! Does that affect the java-client PR you submitted?

@Jonahss
It was about PageFactory on Selenium .Net side. Now we are able to implement the same for Appium .Net as it was done for Appium Java: appium/java-client#68. Actually I have built updated Selenium locally and I'm working on it when I have free time. PR will be proposed when Selenium 2.46 will be released.

One more reference: #84

@Jonahss
Copy link
Member

Jonahss commented Apr 15, 2015

Oh I see. Good work!

On Wed, Apr 15, 2015 at 1:41 AM, Sergey Tikhomirov <[email protected]

wrote:

Ooh! Does that affect the java-client PR you submitted?

@Jonahss https://github.com/Jonahss
It was about PageFactory on Selenium .Net side. Now we are able to
implement the same for Appium .Net as it was done for Appium Java:
appium/java-client#68 appium/java-client#68.
Actually I have built updated Selenium locally and I'm working on it when I
have free time. PR will be proposed when Selenium 2.46 will be released.

One more reference: #84
#84


Reply to this email directly or view it on GitHub
#64 (comment)
.

@TikhomirovSergey
Copy link
Contributor Author

Yeah! Required changes are on Selenium side now. (on behalf of Sergey Tikhomirov) Refactored PageFactory implementation, including a number of changes to make it more extensible and more robust.... I am going to propose a PR on this week or the beginning of the next!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants