-
-
Notifications
You must be signed in to change notification settings - Fork 161
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
Feedback needed for future development #122
Comments
cc to some users already, thanks! @sicko7947 @rusq @rustycl0ck @aleksandrov @yujiri8 @lkraider @applecat @abay2204 @Chimerax2 @AngangGuo @jinmao88 |
Automated tests for a web application.
Company
Aside from writing more tests, no.
Nothing comes to mind. I think the APIs are really good. One thing that bugs me though is that the docstrings seem to be automatically generated from some markdown/HTML source, as they are littered with markdown and HTML syntax. They also seem to be broken in some cases. For example, the docstring for each property in
Selenium, Agouti, Chromedp (we are currently using Chromedp for another purpose in the same project). All dismissed because they do not work with shadow DOM, which our app uses. Chromedp's API is also too low-level for testing to be convenient.
Currently, local Linux dev machine. We would like to run it on FreeBSD since the production setup for our app uses FreeBSD, but playwright does not support FreeBSD :( |
Great to hear @mxschmitt !
Scraping websites
Work
Yes. Greatly in fact
Many times it's unclear from reading the comments if something will return an error or just a nil as the result. ( The comment reads null; I think it is generated from playwright js ?)
Rod
Kubernetes |
Great news. Congratulations.
Automate web applications(fill in data into forms, get data from web pages, etc.).
For company
Absolutely.
Rod, Playwright for JS and TS.
As a command line script or part of a web app. |
Good to hear that!
Automate test and web scraping.
Personal
Yes,indeed
Current API design looks great. But perhaps make the go version of playwright keep up to date with nodejs version, I noticed few concepts in the latest nodejs version were not found in go version, such as CDPsession, Android, Electron etc. More customisable options that mocks automate browser behaviour more like an actual browser. Such as ability to configure options in window.navigators when context is initialised.
ChromeDP, lorca, webview, webview2, selenium.
Kubernetes, docker swarm and as a script. Overall, I liked the API design and I can see the big potential under this project, playwright is the best and efficient browser automate testing library I ever used compare to other libraries I've used in the past. |
Congratulations on joining Microsoft!
Overall, I feel like this is a great library and was also very useful to me to get my basic stuff done quickly. |
@mxschmitt first off, congrats on the Microsoft gig! Super nice. Second, thank you very much for actually creating this module.
Driving webpages & getting to learn Go. Especially the latter function is important (to me at least). My first steps in getting to learn Java and C# years ago were by using Selenium and later WebDriver (when the projects merged). It provides a way for non-programmers to make the normally abstract stuff, less abstract, more tangible. This is a great way/opening into a new language. The results are real and immediate. A real fast payoff. Next to that it can be of great value in the market of automation frameworks. Right now I'm moving more towards using Playwright, in order to automate browsers and inspect web applications. It can be of added value in the adoption of Playwright platform (as in an extra client library). This would give Playwright a more defining USP as opposed to for instance a Cypress framework. And maybe even the WebDriver framework, which doesn't have an official Go client library. Of all the languages I've come across, to me Go is incredibly appealing! The whole history of the language (the heritage of the people behind it), the different direction it's heading as opposed to the constant adding of new features by the other languages (yes C# you too). The dev happiness it brings by the awesome tooling it has.
Personal now and probably also in a company in the future where possible (I'm also a test automation engineer (Quality Shepherd)).
Yes for sure.
At the moment no concrete specific API suggestion. For a version 1.0 it would be nice to match the other client libraries an a functional level. I haven't looked at the source code that much yet (only consuming), but stuff that I would appreciate to see would be:
Also of course quality documentation.
None.
For now just locally as standalone (CLI) applications. But the moment it's going to get deployed in a company, probably somewhere in the k8s world. @mxschmitt I'm not a programmer by profession, but if you need help in some way. Just let me know. I'll see what I can do. |
For what are you using Playwright for Go?
Are you using it for personal use or in a company?
Do you have any future plans to extend the usage in the future?
Do you have any suggestions in terms of API design and if something should be changed for version 1.0?
What other libraries did you consider instead of Playwright for Go?
Where do you run it? e.g. Docker, Kubernetes, as a script etc.
|
Q: For what are you using Playwright for Go? Q: Are you using it for personal use or in a company? Q: Do you have any future plans to extend the usage in the future? Q: Do you have any suggestions in terms of API design and if something should be changed for version 1.0? Updated Another suggestion would be the ability to load cookie data from a Netscape formatted cookie file easily. Since most tools export cookies in Netscape format, this would add compatibility with a wide variety of off-the-shelf cookie tools. Q: What other libraries did you consider instead of Playwright for Go? Q: Where do you run it? e.g. Docker, Kubernetes, as a script etc. |
For what are you using Playwright for Go? Right now testing an http proxy server in written in go Are you using it for personal use or in a company? company Do you have any future plans to extend the usage in the future? Having found it, I'd like to use it in more go based projects for e2e testing Do you have any suggestions in terms of API design and if something should be changed for version 1.0? Havent done enough to say, but so far because of familiarity with playwright nodejs its been very easy to get started What other libraries did you consider instead of Playwright for Go? playwright for nodejs, and then I thought, I'd google and see if there is something similar for go, and found something very very similar :) Where do you run it? e.g. Docker, Kubernetes, as a script etc. right now as a script, but will likely build it and run on GitLab CI, so containerised |
@mxschmitt |
I want to evaluate whether to use this for OSS, right now the OSS team is using Selenium and I wanted to recommend Playwright, prysmaticlabs/prysm#8981 |
We wrote a simple program that exercises several use-cases continuously against production. We extract some metrics during those tests.
Both.
Yes. We are already relying on this, and we will likely build more tests with the same framework.
PhantomJS, Selenium, and pure Playwright in JS.
Kubernetes. |
I just heard of Playwright today and i find it more exciting than i originally thought. So i/we are not a user yet. In case this the Go bindings become officially supported, i think our company will migrate to it. Only our web frontend and IDE extensions are written in other languages. Everything else is done in Go (and Bash). So it makes a lot of sense to also move our web frontend system tests to Go. We are currently running into lot of edge cases of TypeScript packages and Cypress. Which lead to a lot of workarounds that we want to get rid of. Also the testing tooling is nice, but a lot of nice things of the Go tooling is missing for us.
We would use it then in our company if all features are equally supported with Go. Go has a good package and tooling ecosystem. So this makes IMHO a lot of sense.
See above.
I looked through the examples of the repository and will test a little next week at work. But i am wondering how the best "go test" integration could look like. How do you have a login context over multiple test cases? how can you depend on other test cases to work first for fixtures? would it be possible to have some form of model-based testing using playwright-go?
Currently we are using Cypress with lots of workarounds. Before that we experienced Selenium with lots of more workarounds. Both work, but working around problems that could be solved by the tool or the tooling itself is always good.
Locally on the host under Linux, VM under Linux, Kubernetes with Docker (in VMs) that are in a CI. |
currently using js/ts playwright for web scraping and SPA testing; use Go for most backend, the scrapers feed go programs html for parsing so a good go-playwright lib (combined with go's httptest) would be a big boost to productivity and simplicity of the codebase/stack
company
yes, once we can connect to existing browsers (see next comment)
supporting the same connectivity as the js/ts lib to existing browsers: const browser = await chromium.connectOverCDP({
endpointURL: "http://localhost:9222"
});
chromedp, rod and our own wrapper around mafredri/cdp; we've written ~500 of ~3000 scrapers of govt data and hit hurdles with each of the libs, as well as puppeteer, only the js/playwright has been smooth sailing.
docker |
Very happy to find out this package and congrats for joining Microsoft.
Automate E2E tests and web scraping.
Both
Because Go eases the parallel execution, we will use to collect content of our client websites for data and ML.
N/A
Playwright in JS/TS
CI, Docker and Kubernetes. Hope that you continue to work and maintain this great package. Thanks for your works. |
Full-stack testing for a system that uses WebSockets
Personal
Yes
For testing, if I get an error I just want the test to fail so I write wrappers like
So something to help with this would be nice, but it's not a big deal.
https://github.com/chromedp/chromedp
|
For what are you using Playwright for Go? Are you using it for personal use or in a company? Do you have any future plans to extend the usage in the future? Do you have any suggestions in terms of API design and if something should be changed for version 1.0? What other libraries did you consider instead of Playwright for Go? Where do you run it? e.g. Docker, Kubernetes, as a script etc. |
For what are you using Playwright for Go? |
@mxschmitt Are u still considering maintaining this project? I moved into a new company and my team is mostly Go based, I would love to have pw integrated in one of our repos but that would be possible only if it is on GO, since the team won't appreciate having mixed stacks. |
This is a great project - hopefully it becomes an official repo!
Web automation
personal
yes, I plan to start using for automated testing. Also plan on introducing to my company
No, API is already very nice.
chromedp Didn't use because it was not stable
Docker |
|
hey, any updates? |
Closing since the upstream issue was unfortunately closed and there is as of today no interested in maintaining this project by the Playwright team. |
Late to the party, but we are considering picking up development of the Go branch of Playwright. We have the resources to commit staff to its maintenance and development. I'll update this post once we've made a decision. |
@mclarkex great news! Happy to answer questions / help with onboarding. |
Any update on this? @mclarkex |
Hi @mxschmitt , please take a look at #352 if you have time, thanks. |
Hi @mxschmitt, could you please assign me the "Triage" permission so I can help manage issues? |
@canstand done! |
@canstand @mxschmitt Assuming a competent and versatile skill set, how long do you expect it to:
I am interested and have reviewed some commits for updates but I want a better understanding of the workload. I'd be doing it on my own, this would not be org backed. |
Are you still looking for maintainers? or does the README need to be updated? |
Now there is not much workload to follow the upstream core function upgrade. But I don't have complex end-to-end testing scenarios, so anyone with similar experience and needs is welcome to come along. |
Hello,
(upvote this microsoft/playwright#6856 instead)
since I've joined @microsoft we are considering moving this package over to the organisation. By that we would ensure that all features form the original Playwright project are integrate and bugs are fixed. Currently since it was a private project it got unfortunately not that much attention since my time was limited. For that we are currently evaluating what the use-cases are and how many people in which scenarios are using it.
Would be awesome if you could give us some feedback so you could help us with the decision. In more detail, answer the following questions:
Thank you!
(Thumbs up if you are interested in it)
The text was updated successfully, but these errors were encountered: