diff options
Diffstat (limited to 'service/test/functional/features/steps')
5 files changed, 21 insertions, 24 deletions
| diff --git a/service/test/functional/features/steps/attachments.py b/service/test/functional/features/steps/attachments.py index 8852b787..37fabb6a 100644 --- a/service/test/functional/features/steps/attachments.py +++ b/service/test/functional/features/steps/attachments.py @@ -13,6 +13,8 @@  #  # You should have received a copy of the GNU Affero General Public License  # along with Pixelated. If not, see <http://www.gnu.org/licenses/>. +import os +  from email.MIMEMultipart import MIMEMultipart  from email.mime.application import MIMEApplication  from email.mime.text import MIMEText @@ -67,8 +69,10 @@ def find_icon(context):  def upload_big_file(context):      base_dir = "test/functional/features/files/"      fname = "over_5mb.data" +    path = os.path.abspath(os.path.join(base_dir, fname)) +      context.browser.execute_script("$('#fileupload').removeAttr('hidden');") -    fill_by_css_selector(context, '#fileupload', base_dir + fname) +    fill_by_css_selector(context, '#fileupload', path)      find_element_by_css_selector(context, '#upload-error-message') @@ -97,7 +101,9 @@ def should_not_show_upload_error_message(context):  def upload_attachment(context):      base_dir = "test/functional/features/files/"      fname = "5mb.data" -    fill_by_css_selector(context, '#fileupload', base_dir + fname) +    path = os.path.abspath(os.path.join(base_dir, fname)) + +    fill_by_css_selector(context, '#fileupload', path)      attachment_list_item = find_element_by_css_selector(context, '#attachment-list-item li a')      assert attachment_list_item.text == "%s (5.00 Mb)" % fname diff --git a/service/test/functional/features/steps/common.py b/service/test/functional/features/steps/common.py index edfe2a50..3e1e995e 100644 --- a/service/test/functional/features/steps/common.py +++ b/service/test/functional/features/steps/common.py @@ -61,7 +61,7 @@ def _wait_until_elements_are_visible_by_locator(context, locator_tuple, timeout=  def _wait_until_element_is_visible_by_locator(context, locator_tuple, timeout=TIMEOUT_IN_S):      wait = WebDriverWait(context.browser, timeout) -    wait.until(EC.presence_of_element_located(locator_tuple)) +    wait.until(EC.visibility_of_element_located(locator_tuple))      return context.browser.find_element(locator_tuple[0], locator_tuple[1]) diff --git a/service/test/functional/features/steps/compose.py b/service/test/functional/features/steps/compose.py index 1dab1b6d..1b90052e 100644 --- a/service/test/functional/features/steps/compose.py +++ b/service/test/functional/features/steps/compose.py @@ -19,7 +19,9 @@ from behave import when  from common import (      fill_by_css_selector, -    find_element_by_css_selector) +    find_element_by_css_selector, +    find_element_by_id +)  @when('I compose a message with') @@ -52,7 +54,7 @@ def send_impl(context):  @when(u'I toggle the cc and bcc fields')  def collapse_cc_bcc_fields(context): -    cc_and_bcc_chevron = find_element_by_css_selector(context, '#cc-bcc-collapse') +    cc_and_bcc_chevron = find_element_by_id(context, 'cc-bcc-collapse')      cc_and_bcc_chevron.click() diff --git a/service/test/functional/features/steps/login.py b/service/test/functional/features/steps/login.py index 6ee521e9..9ce37370 100644 --- a/service/test/functional/features/steps/login.py +++ b/service/test/functional/features/steps/login.py @@ -29,13 +29,13 @@ def login_page(context):  @when(u'I enter {username} and {password} as credentials')  def enter_credentials(context, username, password): -    fill_by_css_selector(context, 'input#email', context.username) -    fill_by_css_selector(context, 'input#password', password) +    fill_by_css_selector(context, 'input[name="username"]', context.username) +    fill_by_css_selector(context, 'input[name="password"]', password)  @when(u'I click on the login button')  def click_login(context): -    find_element_by_css_selector(context, 'input[name="login"]').click() +    find_element_by_css_selector(context, 'button[type="submit"]').click()  @then(u'I should see the fancy interstitial') diff --git a/service/test/functional/features/steps/tag_list.py b/service/test/functional/features/steps/tag_list.py index daea416d..e3382a61 100644 --- a/service/test/functional/features/steps/tag_list.py +++ b/service/test/functional/features/steps/tag_list.py @@ -14,11 +14,10 @@  # You should have received a copy of the GNU Affero General Public License  # along with Pixelated. If not, see <http://www.gnu.org/licenses/>.  from behave import when -from selenium.common.exceptions import TimeoutException +from selenium.common.exceptions import TimeoutException, StaleElementReferenceException  from common import (      find_element_by_class_name, -    find_element_by_id,      find_element_by_css_selector,      wait_for_user_alert_to_disapear) @@ -37,12 +36,11 @@ def expand_side_nav(context):      if is_side_nav_expanded(context):          return -    toggle = find_element_by_class_name(context, 'side-nav-toggle') -    toggle.click() +    find_element_by_css_selector(context, '.side-nav-toggle-icon i').click()  @when('I select the tag \'{tag}\'') -def impl(context, tag): +def select_tag(context, tag):      wait_for_user_alert_to_disapear(context)      expand_side_nav(context) @@ -53,23 +51,14 @@ def impl(context, tag):          try:              find_element_by_css_selector(context, '#tag-%s' % tag) -            e = find_element_by_id(context, 'tag-%s' % tag) +            e = find_element_by_css_selector(context, '#tag-%s .tag-label' % tag)              e.click()              find_element_by_css_selector(context, ".mail-list-entry__item[href*='%s']" % tag)              success = True -        except TimeoutException: +        except (TimeoutException, StaleElementReferenceException):              pass          finally:              try_again -= 1      assert success - - -@when('I am in  \'{tag}\'') -def impl(context, tag): -    expand_side_nav(context) - -    find_element_by_css_selector(context, '#tag-%s' % tag) -    e = find_element_by_id(context, 'tag-%s' % tag) -    assert "selected" in e.get_attribute("class") | 
