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

Status: code export #592

Closed
5 tasks done
corevo opened this issue Feb 28, 2019 · 81 comments
Closed
5 tasks done

Status: code export #592

corevo opened this issue Feb 28, 2019 · 81 comments

Comments

@corevo
Copy link
Member

corevo commented Feb 28, 2019

We've just started working on exporting to languages, we will continually update this thread with new information as it becomes available.

Languages:

  • Java (JUnit)
  • Python
  • C#
  • Ruby
  • Javascript

We are aware that this feature is very important to the community, but we'd kindly ask to keep all conversation here, until a language is released and then any bug found should raise a ticket.

We would like to avoid splitting the same conversation into multiple threads.

@rihp
Copy link

rihp commented Mar 2, 2019

Looking forward to the python version. Thanks for developing this tool

@DrorCohenCC
Copy link

Looking forward to the python version. Thanks for developing this tool

likewise! Python or Javascript would be greatly appreciated.

@kevincvlam
Copy link

+1, can't wait for python. Thanks for all the hard work!

@jonesp100
Copy link

I'm just about to embark on a large suite of tests - how long do you think the export is going to be? As I dont want to commit to all these and have to move off to Katalon or some such? great work as always!!

@tourdedave
Copy link

@jonesp100 It depends on the language (since we're going in the order listed above, unless others are able to contribute as well), and even then it's hard to know since we're an open source project and timetables & competing priorities can be unpredictable for both contributors and maintainers -- so we can't publicly commit to a timeline.

If your objective is to run your tests cross-browser, in parallel, and/or on CI, then do be sure to check out the Selenium IDE command-line runner while you wait. Details available here.

@jonesp100
Copy link

@tourdedave thanks for the response - appreciate you cant commit but do you have a rough timeline - first language - 1 month, 2 months....? Thanks!

@zewa666
Copy link
Contributor

zewa666 commented Mar 8, 2019

Hey @corevo, just out of curiosity is it also planned to have a code import sort of thing along the export available. What I mean with that is once you export a code, and do minor modifications according to the style its exported, are you able to re-import it as a side project in Selenium IDE?

Moreover, with regards to the export behavior, do you plan to have a customizable export template per language or is it going to be a fixed set of definitions?

@BaluErtl
Copy link

BaluErtl commented Mar 9, 2019

What do you recommend, how would be the best to move forward the issue of exporting into PHP, please?

@tourdedave
Copy link

@jonesp100 ¯_(ツ)_/¯

@zewa666 No plans for code import at the moment. The initial MVP for code export will just be as-is -- not customizable.

@BaluErtl We're building code export so others can easily contribute other languages. PHP is a tricky one, though, since it's not an officially support language binding. Because of that it's unlikely we'd incorporate it into the mix. But we've discussed the option of making code export for additional languages available through plugins, which could be a nice option to make PHP available if someone wanted to contribute it.

@zewa666
Copy link
Contributor

zewa666 commented Mar 15, 2019

@tourdedave having the code-export configurable via plugins would on the other hand also allow to customize the style of how things get exported. So besides Java then there could be an additional plugin to export to Java using 8 spaces, don't crucify me for that heretical example ;).

@AdelSassi
Copy link

AdelSassi commented Mar 18, 2019

Thanx a lot @corevo ! Looking forward for good news about junit export!

@elinguiuriel
Copy link

Looking forward to the python version. Thanks for developing this tool

Me to!

@dstarke1245
Copy link

@tourdedave the .side files aren't affected by this, are they?
So we can still edit our tests there.

and i am also really looking forward to this! :)

@corevo
Copy link
Member Author

corevo commented Mar 21, 2019

Yes, if you keep the .side files you can load them in to the IDE change them and re-export them.

@hectormoreno87
Copy link

Great , waiting for C# exporting.

Thank you all.

@NinaAnon
Copy link

waiting for java exporting , thank you !

@steffenkj
Copy link

waiting for python export :)

@sah-anshu
Copy link

waiting for python export :) too.

@vvccool
Copy link

vvccool commented Apr 10, 2019

等待python导出

@Sartek158
Copy link

Export to Java is great!

@lyyyd lyyyd mentioned this issue Apr 18, 2019
@corevo corevo mentioned this issue Apr 28, 2019
@stebli
Copy link

stebli commented Apr 29, 2019

Why not allow users to specify their own export actions? Instead of hardcoding this in js files rather allow a config which can be modified to cater for different permutations of various frameworks.

so for a click i can opt to use a specific bit of code, specified in a text file for the click, instead of all these repetitive lines being exported. Just an idea... would then solve all "languages" issues as this would be abstracted and we can key/value pair the stuff.

@sah-anshu
Copy link

fyi- Just for confirmation, is export to Java Working?

@tourdedave
Copy link

@sah-anshu Yes, export is available for Java JUnit.

@stebli Code export is doing a lot more than just exporting individual commands. Allowing user customizations through a separate file isn't enough to solve for all languages -- especially if it puts the burden onto the user. But it's an interesting idea - thanks!

@MisinformedDNA
Copy link

@tourdedave @stebli I think this would be best solved by good guidance on how to create plugins to export code in different languages/test frameworks.

@bcmoney
Copy link

bcmoney commented Apr 29, 2019

@tourdedave Is this being added to the Browser plugin/extension in the next release as well, or only via passing those parameters to the CLI tool?

Also, in case you didn't see my post on ide-77, since I saw how close you were getting with this, I've finally gotten around to writing a blog post about the "Durable Selector" approach our team has been using for several months now:
http://bcmoney-mobiletv.com/blog/2019/04/27/selenium-ide-side-parser-for-durable-selectors/

Simply record ".side" format and import into our Java Test Suite, I think its a nice setup. Included a simple Maven project with the essentials, feel free to use it however you see fit!

@stebli
Copy link

stebli commented Apr 30, 2019

@tourdedave @stebli I think this would be best solved by good guidance on how to create plugins to export code in different languages/test frameworks.

is this an option right now? Will it be limited to JS?

@tourdedave
Copy link

tourdedave commented Jul 10, 2019

@catalin-florescu What do you mean? If you're referring to #730, it's resolved. If you are experiencing an issue with code export, please open a new issue and fill out the issue template (link).

@catalin-florescu
Copy link

@tourdedave i filled here the issue. Thanks.

@hectormoreno87
Copy link

Great , waiting for C# exporting.

Thank you all.

Still waiting ;(

@fooschamp
Copy link

Looking forward to C# export. Thanks for all your hard work!

@tourdedave
Copy link

Some related work as part of code export that's language agnostic: #767 and #742.

@tourdedave
Copy link

Fixes for #767 and #742 have been released in v3.12.2 of the IDE.

@seanpoulter
Copy link

Have you considered support for the Robot Framework Selenium library @corevo and @tourdedave (or would you consider it)? Would you welcome a PR that adds support? It seems like you've laid a solid foundation with @tourdedave's junit, mocha, and pytest PRs so we (the community) could build out a language port in the same beautiful TDD style. What do you think?

For context, I'm at my second workplace where folks without a lot of programming experience are being eased into test automation using Robot Framework's keyword-driven approach. They're using the Selenium IDE to get familiar with Selenium and selectors. It's working well so far 👏 .

@u1266221
Copy link

u1266221 commented Oct 7, 2019

When are you planning to deploy C# code exporting? looking forward to this :)

@georgemjohnson11
Copy link

georgemjohnson11 commented Oct 8, 2019

I'm not sure for an ETA. I went with an xUnit approach that I'm still resolving some small kinks I'd like to set before merging this in since xUnit doesn't have methods called for startup and completion. This is currently building and testing fine locally, but the build server is acting up a bit.
Edit: Build is working. Last thing is a missing trailing end bracket and some other minor SOPs to prep up for a release. I'll aim to get this wrapped up this weekend

@tourdedave
Copy link

I've just merged code export for C# with NUnit. It will go out in the next release later this week. There's still some work to land @georgemjohnson11's PR for C# with XUnit, which will end up sharing some code between both packages. It will be nice to see since it will set a good precedent for how we will handle multiple frameworks per programming language going forward.

@georgemjohnson11
Copy link

@tourdedave What work is there? It's been sitting there for 3 days without a comment on the most recent commits

@tourdedave
Copy link

tourdedave commented Oct 21, 2019 via email

@georgemjohnson11
Copy link

It would be nice to have a commons package, but I'm not going to do it. I'll let the community pick it up if they want but that's not the issue I'm solving for.

This is not what the instructions (that are 4 months old and you wrote) detail: https://www.seleniumhq.org/selenium-ide/docs/en/introduction/code-export/ https://github.com/SeleniumHQ/selenium-ide/commits/v3/docs/introduction/code-export.md) Please update these so other potential contributors don't waste their time trying to implement a testing framework.

I'll find another open source project where people don't ignore pull requests so they can rush to contribute bugs like this: 1bfcd25 Thanks @tourdedave

@tourdedave
Copy link

tourdedave commented Oct 21, 2019 via email

@tourdedave
Copy link

I was mistaken about the upcoming release. @corevo reminded me that we're waiting until November 7th to do the next release. I'll start working on the refactoring to support both C# framework in the meantime.

@tourdedave
Copy link

C# NUnit & C# xUnit are done and merged. They'll go out in the next release.

Screen Shot 2019-10-24 at 9 17 29

@tourdedave
Copy link

I'm also working on export for Ruby RSpec, which should go out in the release too.

@tourdedave
Copy link

Screen Shot 2019-11-10 at 11 58 12

The remaining languages have just been released in v3.15.0 (available now from both the Chrome and Firefox web stores).

Each of the officially supported languages for Selenium are now supported (for at least one test framework) in code export. If you have a problem with code export or have an idea for how to improve it -- please open an issue and follow the provided template (link).

@tourdedave tourdedave unpinned this issue Nov 10, 2019
@tourdedave tourdedave pinned this issue Nov 10, 2019
@darkartswizard
Copy link

darkartswizard commented Nov 10, 2019 via email

@DGrantham0283
Copy link

This is really great - Im very happy about the C# export

@Nabeelhassan
Copy link

Please look into this #880. Thank you.

@defro
Copy link

defro commented Dec 9, 2019

Hello @tourdedave

You wrote

@BaluErtl We're building code export so others can easily contribute other languages. PHP is a tricky one, though, since it's not an officially support language binding. Because of that it's unlikely we'd incorporate it into the mix. But we've discussed the option of making code export for additional languages available through plugins, which could be a nice option to make PHP available if someone wanted to contribute it.

I'm very insterested to contribute to this project and create a export for PHP Codeception for Selenium IDE.
So what did you decide : a plugin or incorporation ?

@lock lock bot locked and limited conversation to collaborators Jan 8, 2020
@diemol diemol unpinned this issue Mar 15, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests