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

Add minimal configuration for integration tests #5469

Merged
merged 8 commits into from
Sep 7, 2024

Conversation

BalusC
Copy link
Contributor

@BalusC BalusC commented Aug 3, 2024

Also added IT tests for #5460 and #5464 and spotted one more place where #5464 should be fixed.

NOTE: the technical reason for adding back the IT config to Mojarra project is because we CANNOT add new tests to the TCK of an already-released Faces version. We can only add them for the next Faces version. But this also means that these won't be executed when the current version is being patched/bugfixed. Hence we can only add them to the Mojarra project. Once a next TCK version is to be prepared we can simply move them from Mojarra into Faces project for TCK.

Copy link
Contributor

@mnriem mnriem left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would you consider using Playwright instead of Selenium?

@BalusC
Copy link
Contributor Author

BalusC commented Aug 26, 2024

Would you consider using Playwright instead of Selenium?

I wasn't aware of this possibility. I'm familiar with Playwright itself, but only in Node.js projects. I'll therefore need more time to figure out how to use it in Java projects.

@pizzi80
Copy link
Contributor

pizzi80 commented Sep 3, 2024

I tried Playwright with Java yesterday after reading this conversation... prepare 2 Gbyte of free space... it needs a whole Ubuntu 20.x + many other libraries 😲

@BalusC
Copy link
Contributor Author

BalusC commented Sep 3, 2024

Can we please move forward and decide whether to use Selenium or Playwright? I don't want being unable to add tests for Faces for a long time again. I've already been waiting almost one year for a working 5.0 TCK jakartaee/faces#1852 I simply picked Selenium because it's also being used in TCK so we can easily move integration tests from Mojarra to Faces project without changes when a next TCK version is to be released. If we decide to use Playwright then TCK must be adjusted to support it as well else we need to rewrite tests from Playwright to Selenium while moving them from Mojarra to Faces project. I was since the API/TCK split already forced to do Mojarra bugfixes without being able to verify them with new integration tests in CI and it's really putting me off now.

@mnriem
Copy link
Contributor

mnriem commented Sep 6, 2024

I mentioned Playwright merely because I like the Trace Viewer. If Selenium has something as capable then sure go with Selenium

@BalusC
Copy link
Contributor Author

BalusC commented Sep 7, 2024

Selenium uses OpenTelemetry.

I'll move forward and merge nonetheless. The long term goal is that any new tests added here should be able to run in TCK project as well without further modification. If we want to use PlayWright then TCK has to be migrated first.

@BalusC BalusC merged commit 8810b7f into 4.0 Sep 7, 2024
1 of 3 checks passed
@BalusC BalusC deleted the add_minimal_configuration_for_integration_tests branch September 7, 2024 11:59
@BalusC BalusC added this to the 4.0.9 milestone Sep 7, 2024
@mnriem
Copy link
Contributor

mnriem commented Sep 9, 2024

Does OpenTelemetry with Selenium have the ability to step through the request like Trace Viewer?

@BalusC
Copy link
Contributor Author

BalusC commented Sep 10, 2024

Unsure. I've never used it. I normally just use the IDE debugger.

@pizzi80
Copy link
Contributor

pizzi80 commented Sep 10, 2024

My 2 cents:
"Keep it simple" ... Selenium it's a simple Java dependency and it works out of the box ...
PlayWright seems like a Microsoft product... don't know what will be in the next 10 years

@mnriem
Copy link
Contributor

mnriem commented Sep 10, 2024

And so is Playwright:

         <dependency> 
            <groupId>com.microsoft.playwright</groupId>
            <artifactId>playwright</artifactId>
            <version>${playwright.version}</version>
            <scope>test</scope>
        </dependency>

It is open-source just like Selenium

@arjantijms
Copy link
Contributor

I personally don't care much about using either Selenium or Playwright. At the time someone just started using Selenium, and it does the job AFAIK.

We did had issues with Chrome/Chromium on the (Eclipse) CI, which were eventually resolved by using a custom pipeline based on the eclipsecbijenkins/basic-ubuntu-chrome:latest image. See https://ci.eclipse.org/jakartaee-tck/view/EFTL-Certification-Jobs-11/job/11/job/standalone-tck/job/jakarta-faces-tck-glassfish/configure

For Playwright to be used instead we have to see if it will run on that particular image and it doesn't use another image. We also have to rewrite the existing tests that use Selenium to use Playwright then.

I'm not deep enough in the actual frontend tests to be able to say how much work that will be, but obviously someone needs to do that. It's not a simple change of a dependency, is it?

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

Successfully merging this pull request may close these issues.

4 participants