Open Bug 1762066 Opened 3 years ago Updated 7 months ago

Intermittent Android Wd | <random> - webdriver.error.InvalidArgumentException: invalid argument (400): File not found: /tmp/wdspec-<random>

Categories

(Remote Protocol :: Marionette, defect, P5)

Default
All
Android
defect

Tracking

(firefox100 disabled, firefox101 disabled, firefox102 disabled)

Tracking Status
firefox100 --- disabled
firefox101 --- disabled
firefox102 --- disabled

People

(Reporter: whimboo, Unassigned, NeedInfo)

References

(Blocks 3 open bugs)

Details

(Keywords: intermittent-failure, test-disabled)

With the upcoming support for wdspec tests on Android there are a couple of tests that fail because files need to be accessed which are created on the host machine instead of on the device.

https://treeherder.mozilla.org/logviewer?job_id=372683560&repo=try&lineNumber=20663

The problem is the following pytest fixture:

https://searchfox.org/mozilla-central/rev/570f6e5c06b6c8140f53bf104d785a18165212ab/testing/web-platform/tests/webdriver/tests/element_clear/clear.py#32-36

Right now I'm not sure how we could change the tests so that the file is created on the actual testing device. From wdspec tests (pytest) we do not have access to it.

For now I'm going to mark all the affected tests as expected to fail via bug 1749444.

The same also applies to

  • /webdriver/tests/element_send_keys/file_upload.py | *
  • /webdriver/tests/execute_async_script/collections.py | test_file_list
  • /webdriver/tests/execute_script/collections.py | test_file_list
  • /webdriver/tests/get_current_url/get.py | test_get_current_url_file_protocol
  • /webdriver/tests/navigate_to/navigate.py | test_file_protocol
OS: Unspecified → Android
Hardware: Unspecified → All
Summary: Intermittent /webdriver/tests/element_clear/clear.py | <random> - webdriver.error.InvalidArgumentException: invalid argument (400): File not found: /tmp/wdspec-<random> → Intermittent Android Wd | <random> - webdriver.error.InvalidArgumentException: invalid argument (400): File not found: /tmp/wdspec-<random>
Blocks: 1743116
Moving bug to Remote Protocol::Marionette component per bug 1815831.
Component: geckodriver → Marionette
Product: Testing → Remote Protocol
Severity: -- → S4
Blocks: 1883841
Depends on: 1903706

So we might have to use adb to actually push the files to the Android device during a setup step of the test so that those are as well available to the browser running on the device. Given that this cannot be done by wptrunner but is part of the tests running via pytest, we potentially could forward the self.adb_binary from the Android related browser classes and make it available as a fixture. Then we can have Android specific steps to create a file on a remote device and also clean it up after the test.

James, does that sound fine or is there another possibility that we could make use of?

Flags: needinfo?(james)
You need to log in before you can comment on or make changes to this bug.