geckodriver icon indicating copy to clipboard operation
geckodriver copied to clipboard

Internationalization Failure in Firefox 119

Open titusfortner opened this issue 1 year ago • 16 comments

System

  • Version: latest
  • Platform: n/a
  • Firefox: 119
  • Selenium: trunk

This was working in 118 and broke when we updated to 119

Testcase

https://github.com/SeleniumHQ/selenium/blob/selenium-4.13.0/java/test/org/openqa/selenium/I18nTest.java#L78

Stacktrace

https://gypsum.cluster.engflow.com/invocation/e988f896-09b9-43ba-9bf5-112418633bb0

expected: "𠀀𠜎𠀋𪆐𪚲"
 but was: ""

titusfortner avatar Oct 09 '23 19:10 titusfortner

@titusfortner just to be sure is it Firefox or Chrome? While the summary says Chrome it's Firefox 119 mentioned in the first comment.

whimboo avatar Oct 11 '23 19:10 whimboo

No, I'm just bad at attention to detail, the test was running firefox-beta

titusfortner avatar Oct 11 '23 20:10 titusfortner

I'm not at all familiar with the atom tests, but it looks like they are all failing for character related things in Firefox Beta & Dev as well: https://github.com/SeleniumHQ/selenium/actions/runs/6533321213/job/17738888379

titusfortner avatar Oct 16 '23 14:10 titusfortner

Is that reproducible when running locally? Maybe you could tell me which command I have to run to get this affected test executed? I always have problems with Java tests, especially when it comes to using a custom browser binary.

whimboo avatar Oct 16 '23 17:10 whimboo

This is a tough one. I can 100% reproduce it in Java in nightly Nightly does not enter the text, and v117 does, but there's no difference in the logs: https://gist.github.com/titusfortner/4b2dac4b6d12fd1c1f6ba7dec3a3c84d (unless that addons.xpi is something?)

I was getting the failure in Ruby, but then it started working and I can't get it to fail again. Might be how the unicode is formatted since Java sends it as a byte stream instead of plain text?

titusfortner avatar Oct 20 '23 22:10 titusfortner

Ok, so which command do I have to use to run this particular test with the Java bindings by using a custom Firefox binary? If I could get this information then I can check that myself, and try to find the regressor.

Also did you also try with a 118 Nightly or now release build yet? Does that also happen with a Firefox 119 beta or the upcoming release today? Or is it bound to Nightly? It could mean that there is a feature only turned on for Nightly.

whimboo avatar Oct 24 '23 07:10 whimboo

This is reproducible: https://github.com/titusfortner/geckobug_2139

Right now 119 is passing and 120 is failing. Not sure why. Is there something different in "production?"

titusfortner avatar Oct 29 '23 20:10 titusfortner

Interesting. Is 120 on your side a current beta release or Nightly? It might be that there is a specific feature enabled for Nightly but not for beta/release builds.

whimboo avatar Oct 30 '23 13:10 whimboo

Yes, only stable version passes:

  String PASSING_VERSION = "119";
  String FAILING_VERSION = "120";
  String NIGHTLY_VERSION = "nightly"; // 121
  String BETA_VERSION = "beta"; // 120
  String DEV_VERSION = "dev"; // 120
  String STABLE_VERSION = "stable"; // 119

titusfortner avatar Oct 30 '23 15:10 titusfortner

Interesting. We do not have logic that only makes release different. So maybe a feature that rides the train and is now on beta. I might be good to know if 119 also failed when it was on beta.

I'll try to find some time to test myself in the next days.

whimboo avatar Oct 30 '23 17:10 whimboo

Yes, it did fail when 119 was in beta

titusfortner avatar Oct 30 '23 18:10 titusfortner

@titusfortner with Firefox 120 released does it work with that release as well? Is it really only beta that is affected?

Also do you have a chance to create a dedicated repository that I could clone and get the tests to run with a simple command? I don't have any Java environment installed locally and I don't know how to run the above testcase. A Python testcase would be nice as well.

whimboo avatar Nov 24 '23 08:11 whimboo

Oh wait in https://github.com/titusfortner/geckobug_2139 you did that already.

whimboo avatar Nov 24 '23 08:11 whimboo

Ok, I can see it passing with the 120 release and failing with 121 beta. Is there a way to use a Nightly build or a custom build of Firefox? @titusfortner, what would I have to change to make that happen?

As what I can see so far is that Element Send Keys fails to actually input the characters into the input field.

whimboo avatar Nov 24 '23 09:11 whimboo

Actually I can replicate in a Marionette test. I'll investigate and file a bug when necessary.

whimboo avatar Nov 24 '23 09:11 whimboo

Ok, so thanks again for the testcase @titusfortner! I've fully investigated and the problem is on our side and indeed only visible in Nightly and early beta (developer builds) releases.

Our work is tracked on https://bugzilla.mozilla.org/show_bug.cgi?id=1866431.

whimboo avatar Nov 24 '23 09:11 whimboo