-
Notifications
You must be signed in to change notification settings - Fork 38
Profiles #58
Profiles #58
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,7 +5,8 @@ | |
# file, You can obtain one at http://mozilla.org/MPL/2.0/. | ||
|
||
from selenium.webdriver.common.by import By | ||
from selenium.webdriver.support.select import Select | ||
|
||
from selenium.webdriver.support.ui import WebDriverWait | ||
from selenium.webdriver.common.keys import Keys | ||
from datetime import datetime | ||
|
||
|
@@ -17,7 +18,7 @@ class MozTrapCreateProfilePage(MozTrapBasePage): | |
_page_title = 'MozTrap' | ||
|
||
_profile_name_locator = (By.ID, 'id_name') | ||
_select_category_locator = (By.CSS_SELECTOR, '#profile-add-form .itemlist .bulkselectitem[data-title="%(category_name)s"] .bulk-value') | ||
_select_category_locator = (By.CSS_SELECTOR, '#profile-add-form .itemlist .bulkselectitem[data-title="%(category_name)s"] .listitem .itembody .element[data-title="%(element_name)s"] label') | ||
_delete_category_locator = (By.CSS_SELECTOR, '#profile-add-form .itemlist .bulkselectitem .action-delete[title="delete %(category_name)s"]') | ||
_add_category_locator = (By.CSS_SELECTOR, '#profile-add-form .itemlist .add-item .itemhead') | ||
_add_category_input_locator = (By.ID, 'new-category-name') | ||
|
@@ -37,7 +38,7 @@ def create_profile(self, name='Test Profile', category_name='Test Category', ele | |
profile['category'] = u'%(category_name)s %(dt_string)s' % {'category_name': category_name, 'dt_string': dt_string} | ||
profile['element'] = u'%(element_name)s %(dt_string)s' % {'element_name': element_name, 'dt_string': dt_string} | ||
profile['locator'] = (self._profile_locator[0], self._profile_locator[1] % {'profile_name': profile['name']}) | ||
_select_category_locator = (self._select_category_locator[0], self._select_category_locator[1] % {'category_name': profile['category']}) | ||
_select_category_locator = (self._select_category_locator[0], self._select_category_locator[1] % {'category_name': profile['category'], 'element_name': profile['element']}) | ||
_add_element_input_locator = (self._add_element_input_locator[0], self._add_element_input_locator[1] % {'category_name': profile['category']}) | ||
_new_element_locator = (self._new_element_locator[0], self._new_element_locator[1] % {'category_name': profile['category'], 'element_name': profile['element']}) | ||
|
||
|
@@ -47,22 +48,20 @@ def create_profile(self, name='Test Profile', category_name='Test Category', ele | |
add_category = self.selenium.find_element(*self._add_category_locator) | ||
add_category.click() | ||
|
||
profile_category_field = self.selenium.find_element(*self.add_category_input_locator) | ||
profile_category_field = self.selenium.find_element(*self._add_category_input_locator) | ||
profile_category_field.send_keys(profile['category']) | ||
profile_category_field.send_keys(Keys.RETURN) | ||
|
||
element_field = self.selenium.find_element(*self._add_element_input_locator) | ||
element_field = self.selenium.find_element(*_add_element_input_locator) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. why does this one locator not use self? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
element_field.send_keys(profile['element']) | ||
element_field.send_keys(Keys.RETURN) | ||
WebDriverWait(self.selenium, self.timeout).until(lambda s: self.selenium.find_element(*_new_element_locator)) | ||
self.selenium.find_element(*_select_category_locator).click() | ||
|
||
self.selenium.key_down(_add_element_input_locator, '13') | ||
self.wait_for_element_visible(_new_element_locator) | ||
|
||
select_category = Select(self.selenium.find_element(*self._select_category_locator)) | ||
select_category.select_by_visible_text("select category") | ||
self.selenium.find_element(*self._submit_locator).click() | ||
|
||
return profile | ||
|
||
def delete_environment_category(self, category_name='Test Category'): | ||
_delete_category_locator = self._delete_category_locator % {'category_name': category_name} | ||
self.selenium.find_element._delete_category_locator.click() | ||
_delete_category_locator = (self._delete_category_locator[0], self._delete_category_locator[1] % {'category_name': category_name}) | ||
self.selenium.find_element(*_delete_category_locator).click() |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,11 +20,11 @@ def test_that_user_can_create_and_delete_profile(self, mozwebqa_logged_in): | |
|
||
manage_profiles_pg.filter_profiles_by_name(name=profile['name']) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. the test failed for me at this line. E NoSuchElementException: Message: u'Unable to locate element: {"method":"id","selector":"text-filter"}\nCommand duration or timeout: 14.25 seconds\nFor documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html\nBuild info: version: '2.24.1', revision: '17205', time: '2012-06-19 17:28:14'\nSystem info: os.name: 'Windows XP', os.arch: 'x86', os.version: '5.1', java.version: '1.7.0_04'\nDriver info: driver.version: EventFiringWebDriver\nSession ID: 67cda6fe-e8bc-424b-846d-f696610bc347' ; Screenshot: available via screen ; Stacktrace: Method newInstance0 threw an error in None |
||
|
||
Assert.true(manage_profiles_pg.is_element_present(profile['locator'])) | ||
Assert.true(manage_profiles_pg.is_element_present(*profile['locator'])) | ||
|
||
manage_profiles_pg.delete_profile(name=profile['name']) | ||
|
||
Assert.false(manage_profiles_pg.is_element_present(profile['locator'])) | ||
Assert.false(manage_profiles_pg.is_element_present(*profile['locator'])) | ||
|
||
create_profile_pg.go_to_create_profile_page() | ||
create_profile_pg.delete_environment_category(category_name=profile['category']) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought this was from
selenium.webdriver.support.wait
but this seems to work anyway.