[v2.5][Gaia::UI Tests]test_edit_contact.py:"NoSuchElementException: NoSuchElementException: Unable to locate element: details-view-header"



Firefox OS
Gaia::UI Tests
3 years ago
3 years ago


(Reporter: Lance(leave from Mozilla), Assigned: Martijn Wargers (dead))


Gonk (Firefox OS)
Dependency tree / graph

Firefox Tracking Flags

(b2g-master affected)



(2 attachments)



3 years ago
Created attachment 8653981 [details]

test_edit_contact.py fails

[Steps to Reproduce]

[Reproduction Frequency]
Always, 5/5

Traceback (most recent call last):
File "/var/lib/jenkins/workspace/B2G.master.PVT.FlameKK.gaiatest.smoketest/tests/python/gaia-ui-tests/.env/local/lib/python2.7/site-packages/marionette_client-0.17-py2.7.egg/marionette/marionette_test.py", line 296, in run
File "/var/lib/jenkins/workspace/B2G.master.PVT.FlameKK.gaiatest.smoketest/tests/python/gaia-ui-tests/gaiatest/tests/functional/contacts/test_edit_contact.py", line 32, in test_edit_contact
contact_details = contacts_app.contact(self.contact['givenName']).tap()
File "/var/lib/jenkins/workspace/B2G.master.PVT.FlameKK.gaiatest.smoketest/tests/python/gaia-ui-tests/gaiatest/apps/contacts/app.py", line 140, in tap
return self._return_class_from_tap(return_class)
File "/var/lib/jenkins/workspace/B2G.master.PVT.FlameKK.gaiatest.smoketest/tests/python/gaia-ui-tests/gaiatest/apps/contacts/app.py", line 150, in _return_class_from_tap
return ContactDetails(self.marionette)
File "/var/lib/jenkins/workspace/B2G.master.PVT.FlameKK.gaiatest.smoketest/tests/python/gaia-ui-tests/gaiatest/apps/contacts/regions/contact_details.py", line 28, in __init__
el = self.marionette.find_element(*self._details_header_locator)
File "/var/lib/jenkins/workspace/B2G.master.PVT.FlameKK.gaiatest.smoketest/tests/python/gaia-ui-tests/.env/local/lib/python2.7/site-packages/marionette_driver-0.13-py2.7.egg/marionette_driver/marionette.py", line 1579, in find_element
el = self._send_message("findElement", body, key="value")
File "/var/lib/jenkins/workspace/B2G.master.PVT.FlameKK.gaiatest.smoketest/tests/python/gaia-ui-tests/.env/local/lib/python2.7/site-packages/marionette_driver-0.13-py2.7.egg/marionette_driver/decorators.py", line 36, in _
return func(*args, **kwargs)
File "/var/lib/jenkins/workspace/B2G.master.PVT.FlameKK.gaiatest.smoketest/tests/python/gaia-ui-tests/.env/local/lib/python2.7/site-packages/marionette_driver-0.13-py2.7.egg/marionette_driver/marionette.py", line 711, in _send_message
  File "/var/lib/jenkins/workspace/B2G.master.PVT.FlameKK.gaiatest.smoketest/tests/python/gaia-ui-tests/.env/local/lib/python2.7/site-packages/marionette_driver-0.13-py2.7.egg/marionette_driver/marionette.py", line 752, in _handle_error
    raise errors.lookup(error)(message, stacktrace=stacktrace)
NoSuchElementException: NoSuchElementException: Unable to locate element: details-view-header

[Build info]
Device firmware (base) 	L1TC000118D0
Device firmware (date) 	28 Aug 2015 03:45:29
Device firmware (incremental) 	eng.cltbld.20150827.154517
Device firmware (release) 	4.4.2
Device identifier 	flame
Gaia date 	27 Aug 2015 20:29:28
Gaia revision 	d784c81961d8
Gecko build 	20150827083652
Gecko revision 	b33eae31bd7188024b54228e0c0345800a65e595
Gecko version 	43.0a1

Smoketest report


3 years ago
status-b2g-master: --- → affected

Comment 1

3 years ago
Sorry, probably a fallout from bug 1195033.
Assignee: nobody → martijn.martijn
Blocks: 1195033
Created attachment 8654130 [details] [review]
[gaia] mwargers:1199597 > mozilla-b2g:master

Comment 3

3 years ago
Comment on attachment 8654130 [details] [review]
[gaia] mwargers:1199597 > mozilla-b2g:master

In my opinion, we should get rid of this _return_class_from_tap thing and just create separate methods for all different taps:
tap - which equals to the None case
I think that would make things much simpler here.
Only the None case is where we're closing the contacts app and where we need to tap from the system app.
Attachment #8654130 - Flags: review?(npark)
Attachment #8654130 - Flags: review?(jlorenzo)
Comment on attachment 8654130 [details] [review]
[gaia] mwargers:1199597 > mozilla-b2g:master

didn't run it, but looks good to me.
Attachment #8654130 - Flags: review?(npark) → review+


3 years ago
Attachment #8654130 - Flags: review?(jlorenzo) → review?(jdorlus)
Comment on attachment 8654130 [details] [review]
[gaia] mwargers:1199597 > mozilla-b2g:master

Ran it. Worked on my device.
Attachment #8654130 - Flags: review?(jdorlus) → review+

Comment 6

3 years ago
(In reply to John Dorlus [:Silne30] from comment #5)
> Comment on attachment 8654130 [details] [review]
> [gaia] mwargers:1199597 > mozilla-b2g:master
> Ran it. Worked on my device.

Thanks for testing!
Merged: https://github.com/mozilla-b2g/gaia/commit/400d26143cb6292be02a0b81c1b2c077458d9684
Last Resolved: 3 years ago
Resolution: --- → FIXED

Comment 7

3 years ago
Johan, see comment 3, I think we should simplify this stuff with the proposal I'm doing there. What do you think?
Flags: needinfo?(jlorenzo)
I'm not sure. To me, `tap_to_contact_details()` doesn't have the same meaning than `tap(return_class='ContactDetails')`.

In the first case, I'm expecting the user to choose an option that he sees called "contact details". In the second one, I can understand that a different page class is returned.

I agree `_return_class_from_tap()` is not great, we have almost nothing that we can factorize in this method. However, we need to find a way to name our function, so that's clear we return a different class.
Flags: needinfo?(jlorenzo)


3 years ago
Depends on: 1200679

Comment 9

3 years ago
I filed bug 1200679 to get contact.tap() to improve. I guess I just need the if..else calls there too then.
You need to log in before you can comment on or make changes to this bug.