added assert in test cases

This commit is contained in:
shekhar-cis 2021-07-16 18:29:04 +05:30
parent 071454c68f
commit 949a7c2f4e
Signed by untrusted user: shekhar-cis
GPG Key ID: 8B2A6C8D5F7F1635
9 changed files with 360 additions and 255 deletions

View File

@ -62,13 +62,10 @@
size_hint_y: None size_hint_y: None
font_size: '15sp' font_size: '15sp'
color: color_font color: color_font
required: True
# height: self.parent.height/2 # height: self.parent.height/2
current_hint_text_color: 0,0,0,0.5 current_hint_text_color: 0,0,0,0.5
height: 100 height: 100
hint_text: app.tr._('Type or Scan QR code for recipients address') hint_text: app.tr._('Type or Scan QR code for recipients address')
helper_text_mode: "on_focus"
canvas.before: canvas.before:
Color: Color:
rgba: (0,0,0,1) rgba: (0,0,0,1)

View File

@ -1,4 +1,3 @@
from requests.packages.urllib3.util import Timeout, timeout
from .telenium_process import TeleniumTestProcess from .telenium_process import TeleniumTestProcess
from .common import ordered from .common import ordered
@ -32,7 +31,7 @@ class AllMailMessage(TeleniumTestProcess):
'//MDList[0]/CutsomSwipeToDeleteItem[0]', timeout=2) '//MDList[0]/CutsomSwipeToDeleteItem[0]', timeout=2)
# Assert for checking Current Screen(Mail Detail) # Assert for checking Current Screen(Mail Detail)
self.assertExists("//MailDetail[@name~=\"mailDetail\"]", timeout=2) self.assertExists("//MailDetail[@name~=\"mailDetail\"]", timeout=2)
# CLicking on Trash-Can icon to delete Message # CLicking on Trash-Can icon to delete Message
self.cli.wait_click('//MDToolbar/BoxLayout[2]/MDActionTopAppBarButton[1]', timeout=2) self.cli.wait_click('//MDToolbar/BoxLayout[2]/MDActionTopAppBarButton[1]', timeout=2)
# After deleting msg, screen is redirected to All mail screen # After deleting msg, screen is redirected to All mail screen
self.assertExists("//Allmails[@name~=\"allmails\"]", timeout=0) self.assertExists("//Allmails[@name~=\"allmails\"]", timeout=0)

View File

@ -20,31 +20,31 @@ class CreateRandomAddress(TeleniumTestProcess):
def test_login_screen(self): def test_login_screen(self):
"""Clicking on Proceed Button to Proceed to Next Screen.""" """Clicking on Proceed Button to Proceed to Next Screen."""
print("=====================Test - Login Screen=====================") print("=====================Test - Login Screen=====================")
self.cli.sleep(3) self.cli.sleep(10)
self.assertExists("//Login[@name~=\"login\"]", timeout=1) # Checking current Screen(Login screen)
self.assertExists("//Login[@name~=\"login\"]", timeout=3)
# Clicking on Proceed Next Button
self.cli.wait_click( self.cli.wait_click(
'//ScreenManager[0]/Screen[0]/BoxLayout[0]/AnchorLayout[3]/MDFillRoundFlatIconButton[0]') '//Screen[0]/BoxLayout[0]/AnchorLayout[3]/MDFillRoundFlatIconButton[@text=\"Proceed Next\"]', timeout=2)
self.cli.sleep(3) # Checking Current Screen(Random Screen) after Clicking on Proceed Next Button
self.assertExists("//Random[@name~=\"random\"]", timeout=1) self.assertExists("//Random[@name~=\"random\"]", timeout=2)
@ordered @ordered
def test_random_screen(self): def test_random_screen(self):
"""Creating New Adress For New User.""" """Creating New Adress For New User."""
print("=====================Test - Create New Address=====================") print("=====================Test - Create New Address=====================")
self.cli.click_on('//RandomBoxlayout/BoxLayout[0]/AnchorLayout[1]/MDTextField[0]') # Clicking on Label Text Field to give address name
self.cli.sleep(3) self.cli.wait_click('//RandomBoxlayout/BoxLayout[0]/AnchorLayout[1]/MDTextField[0]', timeout=2)
self.cli.wait_click('//RandomBoxlayout/BoxLayout[0]/AnchorLayout[2]/MDFillRoundFlatIconButton[0]') # Generating Label Randomly
self.cli.sleep(3)
self.cli.click_on('//RandomBoxlayout/BoxLayout[0]/AnchorLayout[1]/MDTextField[0]')
self.cli.sleep(3)
random_label = "" random_label = ""
for _ in range(10): for _ in range(10):
random_label += choice(ascii_lowercase) random_label += choice(ascii_lowercase)
self.cli.setattr('//RandomBoxlayout/BoxLayout[0]/AnchorLayout[1]/MDTextField[0]', "text", random_label) self.cli.setattr('//RandomBoxlayout/BoxLayout[0]/AnchorLayout[1]/MDTextField[0]', "text", random_label)
self.cli.sleep(0.2) self.cli.sleep(0.1)
self.cli.sleep(1) # Click on Proceed Next button to generate random Address
self.cli.wait_click('//RandomBoxlayout/BoxLayout[0]/AnchorLayout[2]/MDFillRoundFlatIconButton[0]') self.cli.wait_click('//RandomBoxlayout/BoxLayout[0]/AnchorLayout[2]/MDFillRoundFlatIconButton[0]', timeout=2)
self.cli.sleep(5) # Checking My Address Screen
self.assertExists("//MyAddress[@name~=\"myaddress\"]", timeout=3) self.assertExists("//MyAddress[@name~=\"myaddress\"]", timeout=3)
@ordered @ordered
@ -52,32 +52,44 @@ class CreateRandomAddress(TeleniumTestProcess):
"""Clicking on Navigation Drawer To Open New Address""" """Clicking on Navigation Drawer To Open New Address"""
print("=====================Test - Create New Address=====================") print("=====================Test - Create New Address=====================")
self.cli.sleep(5) self.cli.sleep(5)
# self.cli.execute('app.root.ids.nav_drawer.set_state("toggle")') # this is for opening Nav drawer
self.cli.click_on('//MDToolbar/BoxLayout[0]/MDActionTopAppBarButton[0]') self.cli.wait_click('//MDActionTopAppBarButton[@icon=\"menu\"]', timeout=3)
self.cli.sleep(2) # checking state of Nav drawer
self.cli.drag("//NavigationItem[@text=\"Sent\"]", "//NavigationItem[@text=\"Inbox\"]", 1) self.assertExists("//MDNavigationDrawer[@state~=\"open\"]", timeout=2)
self.cli.sleep(3) # Scroll Down to get New Address Tab
self.cli.click_on('//NavigationItem[9]') self.drag("//NavigationItem[@text=\"Sent\"]", "//NavigationItem[@text=\"Inbox\"]")
self.assertExists("//Login[@name~=\"login\"]", timeout=1) # Checking state of scrolled screen
self.cli.sleep(4) self.assertExists('//NavigationItem[@text=\"New address\"]', timeout=3)
# Clicking on New Address Tab
self.cli.wait_click('//NavigationItem[@text=\"New address\"]', timeout=3)
self.cli.sleep(1)
# Checking current Screen(Login screen)
self.assertExists("//Login[@name~=\"login\"]", timeout=3)
# Click on Proceed Next button to enter 'Random' Screen
self.cli.wait_click( self.cli.wait_click(
'''//Login/BoxLayout[0]/BoxLayout[0]/ScreenManager[0]/Screen[0]/BoxLayout[0]/AnchorLayout[3]''' '//Screen[0]/BoxLayout[0]/AnchorLayout[3]/MDFillRoundFlatIconButton[@text=\"Proceed Next\"]', timeout=2)
'''/MDFillRoundFlatIconButton[0]''') # Checking Current Screen(Random Screen) after Clicking on Proceed Next Button
self.assertExists("//Random[@name~=\"random\"]", timeout=1) self.assertExists("//Random[@name~=\"random\"]", timeout=1)
# Executing above function to create new address
self.test_random_screen() self.test_random_screen()
@ordered @ordered
def test_select_address(self): def test_select_address(self):
"""Select First Address From Drawer-Box""" """Select First Address From Drawer-Box"""
print("=====================Test - Select First Address From Drawer-Box=======================") print("=====================Test - Select First Address From Drawer-Box=======================")
self.cli.sleep(3) self.cli.sleep(6)
# self.cli.execute('app.root.ids.nav_drawer.set_state("toggle")') # self.cli.execute('app.root.ids.nav_drawer.set_state("toggle")')
self.cli.click_on('//MDToolbar/BoxLayout[0]/MDActionTopAppBarButton[0]') # this is for opening Nav drawer
self.cli.sleep(2) self.cli.wait_click('//MDActionTopAppBarButton[@icon=\"menu\"]', timeout=3)
self.cli.drag("//NavigationItem[@text=\"Address Book\"]", "//NavigationItem[@text=\"Settings\"]", 1) # checking state of Nav drawer
self.cli.sleep(2) self.assertExists("//MDNavigationDrawer[@state~=\"open\"]", timeout=2)
self.cli.click_on('//NavigationItem[0]') # Scrolling up to get address dropdown
self.cli.sleep(2) self.drag("//NavigationItem[@text=\"Address Book\"]", "//NavigationItem[@text=\"Settings\"]")
self.cli.click_on('//MySpinnerOption[0]') # Checking scroll state
self.cli.sleep(3) self.assertExists("//NavigationDrawerSubheader[@text~=\"Accounts\"]", timeout=2)
self.assertExists("//Inbox[@name~=\"inbox\"]", timeout=1) # Clicking on Address Dropdown
self.cli.wait_click('//NavigationItem[0]/CustomSpinner[0]', timeout=2)
# Select address fron Address Dropdown
self.cli.wait_click('//MySpinnerOption[0]', timeout=2)
# Checking Landing Screen(Inbox)
self.assertExists("//Inbox[@name~=\"inbox\"]", timeout=2)

View File

@ -10,55 +10,83 @@ class DraftMessage(TeleniumTestProcess):
"""Select A Draft Screen From Navigaion-Drawer-Box Then """Select A Draft Screen From Navigaion-Drawer-Box Then
Send a drafted message """ Send a drafted message """
print("=====================Test - Select A Draft Screen From Navigaion-Drawer-Box=====================") print("=====================Test - Select A Draft Screen From Navigaion-Drawer-Box=====================")
# OPEN NAVIGATION-DRAWER self.cli.sleep(8)
self.cli.sleep(4) # this is for opening Nav drawer
self.cli.click_on('//MDToolbar/BoxLayout[0]/MDActionTopAppBarButton[0]') self.cli.wait_click('//MDActionTopAppBarButton[@icon=\"menu\"]', timeout=3)
self.cli.sleep(2) # checking state of Nav drawer
# OPEN INBOX SCREEN self.assertExists("//MDNavigationDrawer[@state~=\"open\"]", timeout=2)
self.cli.click_on('//NavigationItem[1]') # Click to open Inbox
self.cli.wait_click('//NavigationItem[@text=\"Inbox\"]', timeout=2)
# Checking Inbox Screen
self.assertExists("//Inbox[@name~=\"inbox\"]", timeout=2) self.assertExists("//Inbox[@name~=\"inbox\"]", timeout=2)
self.cli.sleep(2) # Due to animation and transition effect, it needed some halt otherwise it fails
# CLICK ON PLUS ICON BUTTON
self.cli.click_on('//Inbox/ComposerButton[0]/MDFloatingActionButton[0]')
self.assertExists("//Create[@name~=\"create\"]", timeout=2)
self.cli.sleep(3)
# SELECT - TO ADDRESS
self.cli.click_on(
'//DropDownWidget/ScrollView[0]/BoxLayout[0]/BoxLayout[0]/BoxLayout[0]/CustomSpinner[0]/ArrowImg[0]')
self.cli.sleep(2)
self.cli.click_on('//MyTextInput[0]')
self.cli.sleep(3)
# ADD FROM MESSAGE
self.cli.setattr('//DropDownWidget/ScrollView[0]/BoxLayout[0]/BoxLayout[1]/BoxLayout[0]/MyTextInput[0]',
"text", 'BM-2cSsuH1bUWBski8bvdqnK2DivMqQCeQA1J')
self.cli.sleep(3)
# CLICK BACK-BUTTON
self.cli.click_on('//MDToolbar/BoxLayout[0]/MDActionTopAppBarButton[0]')
self.assertExists("//Inbox[@name~=\"inbox\"]", timeout=2)
self.cli.sleep(5)
self.cli.click_on('//Inbox/ComposerButton[0]/MDFloatingActionButton[0]')
self.assertExists("//Create[@name~=\"create\"]", timeout=2)
self.cli.sleep(3)
# SELECT - TO ADDRESS
self.cli.click_on(
'//DropDownWidget/ScrollView[0]/BoxLayout[0]/BoxLayout[0]/BoxLayout[0]/CustomSpinner[0]/ArrowImg[0]')
self.cli.sleep(1) self.cli.sleep(1)
self.cli.click_on('//MyTextInput[0]') # Click on Composer Icon(Plus icon)
self.cli.sleep(3) self.cli.wait_click('//ComposerButton[0]/MDFloatingActionButton[@icon=\"plus\"]', timeout=2)
# ADD FROM MESSAGE # Checking Message Composer Screen(Create)
self.cli.setattr('//DropDownWidget/ScrollView[0]/BoxLayout[0]/RelativeLayout[0]/BoxLayout[0]/MyTextInput', self.assertExists("//Create[@name~=\"create\"]", timeout=4)
"text", 'BM-2cSsuH1bUWBski8bvdqnK2DivMqQCeQA1J') # ADD SENDER'S ADDRESS
self.cli.sleep(4) # Checking State of Sender's Address Input Field (Empty)
# Add SUBJECT self.assertExists('//DropDownWidget/ScrollView[0]/BoxLayout[0]/BoxLayout[0]/MDTextField[@text=\"\"]', timeout=2)
random_label = "" # Open Sender's Address DropDown
for char in "Another Draft message": self.cli.wait_click(
random_label += char '//DropDownWidget/ScrollView[0]/BoxLayout[0]/BoxLayout[0]/BoxLayout[0]/CustomSpinner[0]/ArrowImg[0]', timeout=2)
self.cli.setattr('//DropDownWidget/ScrollView[0]/BoxLayout[0]/MyMDTextField[0]', 'text', random_label) # Due to animation and transition effect, it needed some halt otherwise it fails
self.cli.sleep(0.2) self.cli.sleep(2)
# SENDER FIELD
# Select Sender's Address from Dropdown
self.cli.wait_click(
'//DropDownWidget/ScrollView[0]/BoxLayout[0]/BoxLayout[0]/BoxLayout[0]/CustomSpinner[0]', timeout=2)
self.cli.click_on('//ComposerSpinnerOption[0]')
# Assert to check Sender's address dropdown open or not
self.assertNotEqual('//DropDownWidget/ScrollView[0]/BoxLayout[0]/BoxLayout[0]/MDTextField[0]', '')
# RECEIVER FIELD
# Checking Receiver Address Field
self.assertExists('//DropDownWidget/ScrollView[0]/BoxLayout[0]/RelativeLayout[0]/BoxLayout[0]/MyTextInput[@text=\"\"]', timeout=2)
# Entering Receiver Address
self.cli.setattr(
'//DropDownWidget/ScrollView[0]/BoxLayout[0]/RelativeLayout[0]/BoxLayout[0]/MyTextInput[0]', "text", 'BM-2cSsuH1bUWBski8bvdqnK2DivMqQCeQA1J')
# Checking Receiver Address filled or not
self.assertNotEqual('//DropDownWidget/ScrollView[0]/BoxLayout[0]/RelativeLayout[0]/BoxLayout[0]/MyTextInput[0]', '')
# CLICK BACK-BUTTON # CLICK BACK-BUTTON
self.cli.click_on('//MDToolbar/BoxLayout[0]/MDActionTopAppBarButton[0]') self.cli.wait_click('//MDToolbar/BoxLayout[0]/MDActionTopAppBarButton[0]', timeout=2)
self.cli.sleep(4) # Checking current screen(Login) after BACK Press
self.assertExists("//Inbox[@name~=\"inbox\"]", timeout=1) self.assertExists("//Inbox[@name~=\"inbox\"]", timeout=2)
self.cli.sleep(0.5)
# Click on Composer Icon(Plus icon)
self.cli.wait_click('//ComposerButton[0]/MDFloatingActionButton[@icon=\"plus\"]', timeout=2)
# Checking Message Composer Screen(Create)
self.assertExists("//Create[@name~=\"create\"]", timeout=4)
# ADD SENDER'S ADDRESS
# Checking State of Sender's Address Input Field (Empty)
self.assertExists('//DropDownWidget/ScrollView[0]/BoxLayout[0]/BoxLayout[0]/MDTextField[@text=\"\"]', timeout=2)
# Open Sender's Address DropDown
self.cli.wait_click(
'//DropDownWidget/ScrollView[0]/BoxLayout[0]/BoxLayout[0]/BoxLayout[0]/CustomSpinner[0]/ArrowImg[0]', timeout=2)
# Due to animation and transition effect, it needed some halt otherwise it fails
self.cli.sleep(2)
# Select Sender's Address from Dropdown
self.cli.wait_click(
'//DropDownWidget/ScrollView[0]/BoxLayout[0]/BoxLayout[0]/BoxLayout[0]/CustomSpinner[0]', timeout=2)
self.cli.click_on('//ComposerSpinnerOption[0]')
# Assert to check Sender's address dropdown open or not
self.assertNotEqual('//DropDownWidget/ScrollView[0]/BoxLayout[0]/BoxLayout[0]/MDTextField[0]', '')
# RECEIVER FIELD
# Checking Receiver Address Field
self.assertExists('//DropDownWidget/ScrollView[0]/BoxLayout[0]/RelativeLayout[0]/BoxLayout[0]/MyTextInput[@text=\"\"]', timeout=2)
# Entering Receiver Address
self.cli.setattr(
'//DropDownWidget/ScrollView[0]/BoxLayout[0]/RelativeLayout[0]/BoxLayout[0]/MyTextInput[0]', "text", 'BM-2cSsuH1bUWBski8bvdqnK2DivMqQCeQA1J')
# Checking Receiver Address filled or not
self.assertNotEqual('//DropDownWidget/ScrollView[0]/BoxLayout[0]/RelativeLayout[0]/BoxLayout[0]/MyTextInput[0]', '')
# ADD SUBJECT
self.cli.setattr('//DropDownWidget/ScrollView[0]/BoxLayout[0]/MyMDTextField[0]', 'text', 'Another Draft message')
# Checking Subject Field is Entered
self.assertExists('//DropDownWidget/ScrollView[0]/BoxLayout[0]/MyMDTextField[@text=\"Another Draft message\"]', timeout=2)
# CLICK BACK-BUTTON
self.cli.wait_click('//MDToolbar/BoxLayout[0]/MDActionTopAppBarButton[0]', timeout=2)
# Checking current screen(Login) after BACK Press
self.assertExists("//Inbox[@name~=\"inbox\"]", timeout=2)
@ordered @ordered
def test_edit_and_resend_draft_messgae(self): def test_edit_and_resend_draft_messgae(self):
@ -66,47 +94,54 @@ class DraftMessage(TeleniumTestProcess):
make changes and send it.""" make changes and send it."""
print("=====================Test - Edit A Message From Draft Screen=====================") print("=====================Test - Edit A Message From Draft Screen=====================")
# OPEN NAVIGATION-DRAWER # OPEN NAVIGATION-DRAWER
self.cli.click_on('//MDToolbar/BoxLayout[0]/MDActionTopAppBarButton[0]') # this is for opening Nav drawer
self.cli.sleep(4) self.cli.wait_click('//MDActionTopAppBarButton[@icon=\"menu\"]', timeout=3)
# OPEN DRAFT SCREEN # checking state of Nav drawer
self.cli.click_on('//NavigationItem[3]') self.assertExists("//MDNavigationDrawer[@state~=\"open\"]", timeout=2)
# Click to open Draft Screen
self.cli.wait_click('//NavigationItem[@text=\"Draft\"]', timeout=2)
# Checking Draft Screen
self.assertExists("//Draft[@name~=\"draft\"]", timeout=2) self.assertExists("//Draft[@name~=\"draft\"]", timeout=2)
self.cli.sleep(4) # Due to animation and transition effect, it needed some halt otherwise it fails
self.cli.sleep(1)
# SHOW DRAFT MESSAGE AND SELECT FIRST MESSAGE # SHOW DRAFT MESSAGE AND SELECT FIRST MESSAGE
# self.cli.click_on('//Carousel[0]//TwoLineAvatarIconListItem[0]') # self.cli.click_on('//Carousel[0]//TwoLineAvatarIconListItem[0]')
self.cli.click_on('//SwipeToDeleteItem[0]//TwoLineAvatarIconListItem[0]') self.cli.wait_click('//SwipeToDeleteItem[0]//TwoLineAvatarIconListItem[0]', timeout=2)
# Checking current screen Mail Detail
self.assertExists("//MailDetail[@name~=\"mailDetail\"]", timeout=2) self.assertExists("//MailDetail[@name~=\"mailDetail\"]", timeout=2)
self.cli.sleep(3)
# CLICK EDIT BUTTON # CLICK EDIT BUTTON
self.cli.click_on('//MDToolbar/BoxLayout[2]/MDActionTopAppBarButton[0]') self.cli.wait_click('//MDToolbar/BoxLayout[2]/MDActionTopAppBarButton[0]', timeout=2)
# Checking Current Screen 'Create'
self.assertExists("//Create[@name~=\"create\"]", timeout=2) self.assertExists("//Create[@name~=\"create\"]", timeout=2)
self.cli.sleep(5) # ADD MESSAGE BODY
random_label = "" self.cli.setattr('//DropDownWidget/ScrollView[0]/BoxLayout[0]/ScrollView[0]/MDTextField[0]',
for char in "Hey,This is draft Message Body": 'text', 'Hey,This is draft Message Body')
random_label += char # Checking Message body is Entered
self.cli.setattr('//DropDownWidget/ScrollView[0]/BoxLayout[0]/ScrollView[0]/MDTextField[0]', self.assertNotEqual('//DropDownWidget/ScrollView[0]/BoxLayout[0]/ScrollView[0]/MDTextField[0]', '')
'text', random_label) # Click on Send Icon
self.cli.sleep(0.2) self.cli.wait_click('//MDActionTopAppBarButton[2]', timeout=3)
self.cli.sleep(3) # After Click send, Screen is redirected to Inbox screen
self.cli.click_on('//MDActionTopAppBarButton[2]')
# self.cli.sleep(5)
self.assertExists("//Inbox[@name~=\"inbox\"]", timeout=5) self.assertExists("//Inbox[@name~=\"inbox\"]", timeout=5)
@ordered @ordered
def test_delete_draft_message(self): def test_delete_draft_message(self):
"""Delete A Message From List of Messages""" """Delete A Message From List of Messages"""
print("=====================Test - Delete A Message From List of Messages=====================") print("=====================Test - Delete A Message From List of Messages=====================")
self.cli.sleep(5) self.cli.sleep(2)
# self.cli.execute('app.root.ids.nav_drawer.set_state("toggle")') # OPEN NAVIGATION-DRAWER
self.cli.click_on('//MDToolbar/BoxLayout[0]/MDActionTopAppBarButton[0]') # this is for opening Nav drawer
self.cli.sleep(4) self.cli.wait_click('//MDActionTopAppBarButton[@icon=\"menu\"]', timeout=3)
self.cli.click_on('//NavigationItem[3]') # checking state of Nav drawer
self.assertExists("//Draft[@name~=\"draft\"]", timeout=1) self.assertExists("//MDNavigationDrawer[@state~=\"open\"]", timeout=2)
self.cli.sleep(5) # Click to open Draft Screen
self.cli.click_on('//SwipeToDeleteItem[0]//TwoLineAvatarIconListItem[0]') self.cli.wait_click('//NavigationItem[@text=\"Draft\"]', timeout=2)
self.assertExists("//MailDetail[@name~=\"mailDetail\"]", timeout=2) # Checking Draft Screen
# self.cli.click_on('//Carousel[0]//TwoLineAvatarIconListItem[0]') self.assertExists("//Draft[@name~=\"draft\"]", timeout=2)
self.cli.sleep(5) self.cli.sleep(1)
self.cli.click_on('//MDToolbar/BoxLayout[2]/MDActionTopAppBarButton[1]') self.cli.wait_click('//SwipeToDeleteItem[0]//TwoLineAvatarIconListItem[0]', timeout=3)
self.cli.sleep(5) # Checking Current screen is Mail Detail
self.assertExists("//MailDetail[@name~=\"mailDetail\"]", timeout=3)
# Click on trash-can icon to delete
self.cli.wait_click('//MDToolbar/BoxLayout[2]/MDActionTopAppBarButton[1]', timeout=2)
# After Deleting, Screen is redirected to Draft screen
self.assertExists("//Draft[@name~=\"draft\"]", timeout=1) self.assertExists("//Draft[@name~=\"draft\"]", timeout=1)

View File

@ -1,3 +1,4 @@
from requests.packages.urllib3.util import timeout
from .telenium_process import TeleniumTestProcess from .telenium_process import TeleniumTestProcess
from .common import ordered from .common import ordered
@ -15,84 +16,120 @@ class MyAddressScreen(TeleniumTestProcess):
"""Select Address From List of Address""" """Select Address From List of Address"""
print("=====================Test -Select Address From List of Address=====================") print("=====================Test -Select Address From List of Address=====================")
self.cli.sleep(12) self.cli.sleep(12)
self.cli.click_on('//MDToolbar/BoxLayout[0]/MDActionTopAppBarButton[0]')
self.cli.sleep(3) # this is for checking current screen
self.cli.drag("//NavigationItem[@text=\"Sent\"]", "//NavigationItem[@text=\"Inbox\"]", 1) self.assertExists("//Inbox[@name~=\"inbox\"]", timeout=3)
self.cli.sleep(3) # this is for opening Nav drawer
self.cli.click_on('//NavigationItem[11]') self.cli.wait_click('//MDActionTopAppBarButton[@icon=\"menu\"]', timeout=2)
self.cli.sleep(4) # checking state of Nav drawer
self.assertExists("//MDNavigationDrawer[@state~=\"open\"]", timeout=2)
# this is for scrolling Nav drawer
self.drag("//NavigationItem[@text=\"Sent\"]", "//NavigationItem[@text=\"Inbox\"]")
# assert for checking scroll function
self.assertExists('//NavigationItem[@text=\"My addresses\"]', timeout=2)
# this is for opening setting screen
self.cli.wait_click('//NavigationItem[@text=\"My addresses\"]', timeout=2)
# Checking current screen
self.assertExists("//MyAddress[@name~=\"myaddress\"]", timeout=2) self.assertExists("//MyAddress[@name~=\"myaddress\"]", timeout=2)
@ordered # ADDRESS DISABLED
def test_show_Qrcode(self): self.cli.wait_click('//Thumb', timeout=2)
"""Show the Qr code of selected address"""
print("=====================Test -Show QR code of selected address=====================")
self.cli.sleep(4)
self.cli.click_on(
'''//MyAddress/BoxLayout[0]/FloatLayout[0]/MDScrollViewRefreshLayout[0]/MDList[0]/'''
'''CustomTwoLineAvatarIconListItem[0]''')
self.cli.sleep(3)
self.cli.click_on('//MyaddDetailPopup/BoxLayout[1]/MDRaisedButton[1]/MDLabel[0]')
self.assertExists("//ShowQRCode[@name~=\"showqrcode\"]", timeout=2)
self.cli.sleep(3)
self.cli.click_on('//MDToolbar/BoxLayout[0]/MDActionTopAppBarButton[0]')
self.cli.sleep(3)
self.assertExists("//MyAddress[@name~=\"myaddress\"]", timeout=2)
@ordered
def test_send_message_from(self):
"""Send Message From Send Message From Button"""
print("=====================Test -Send Message From Send Message From Button=====================")
self.cli.sleep(4)
self.cli.click_on(
'''//MyAddress/BoxLayout[0]/FloatLayout[0]/MDScrollViewRefreshLayout[0]/MDList[0]/'''
'''CustomTwoLineAvatarIconListItem[0]''')
self.cli.sleep(4)
self.cli.click_on('//MyaddDetailPopup/BoxLayout[1]/MDRaisedButton[0]/MDLabel[0]')
self.assertExists("//Create[@name~=\"create\"]", timeout=2)
self.cli.sleep(3)
self.cli.setattr(
'//DropDownWidget/ScrollView[0]/BoxLayout[0]/RelativeLayout[0]/BoxLayout[0]/MyTextInput', "text", data[1])
self.cli.sleep(3)
self.cli.setattr('//DropDownWidget/ScrollView[0]/BoxLayout[0]/MyMDTextField[0]', 'text', 'Hey')
self.cli.sleep(3)
random_label = ""
for char in "Hey,i am sending message directly from MyAddress book":
random_label += char
self.cli.setattr(
'//DropDownWidget/ScrollView[0]/BoxLayout[0]/ScrollView[0]/MDTextField[0]', 'text', random_label)
self.cli.sleep(0.2)
self.cli.sleep(2)
self.cli.click_on('//MDActionTopAppBarButton[2]')
self.cli.sleep(4)
self.assertExists("//Inbox[@name~=\"inbox\"]", timeout=2)
@ordered
def test_disable_address(self):
"""Disable Addresses"""
self.cli.sleep(5) self.cli.sleep(5)
self.cli.click_on('//MDToolbar/BoxLayout[0]/MDActionTopAppBarButton[0]') # is_active = self.cli.getattr('//Thumb', 'active')
self.cli.sleep(3) # print(is_active, '-------------------///////////////////////////////////////////*************/*/*/**/-------------------------*******************------')
self.cli.drag("//NavigationItem[@text=\"Sent\"]", "//NavigationItem[@text=\"Inbox\"]", 1) self.cli.sleep(5)
self.cli.sleep(3)
self.cli.click_on('//NavigationItem[11]') # self.assertExists('//ToggleBtn[0]/Thumb[@active=\"False\"]', timeout=2)
self.cli.sleep(3)
# ADDRESS DISABLED
self.cli.click_on('//Thumb')
self.cli.sleep(3)
# CLICK ON DISABLE ACCOUNT TO OPEN POPUP
self.cli.click_on('//MyAddress/BoxLayout[0]/FloatLayout[0]/MDScrollViewRefreshLayout[0]/MDList[0]/CustomTwoLineAvatarIconListItem[0]')
self.cli.sleep(3)
self.cli.click_on('//MDFlatButton[@text=\"ok\"]')
self.cli.sleep(3)
self.cli.click_on('//MDToolbar/BoxLayout[0]/MDActionTopAppBarButton[0]')
self.cli.sleep(3)
# ADDRESS ENABLED
self.cli.click_on('//Thumb')
self.cli.sleep(3)
self.assertExists("//MyAddress[@name~=\"myaddress\"]", timeout=5)
# @ordered
# def test_show_Qrcode(self):
# """Show the Qr code of selected address"""
# print("=====================Test -Show QR code of selected address=====================")
# # Checking current screen
# self.assertExists("//MyAddress[@name~=\"myaddress\"]", timeout=2)
# # Click on Address to open popup
# self.cli.wait_click('//MDList[0]/CustomTwoLineAvatarIconListItem[0]', timeout=2)
# # Check the Popup is opened
# self.assertExists('//MyaddDetailPopup/BoxLayout[1]/MDRaisedButton[1]/MDLabel[@text=\"Show QR code\"]', timeout=2)
# # Cick on 'Show QR code' button to view QR Code
# self.cli.wait_click('//MyaddDetailPopup/BoxLayout[1]/MDRaisedButton[1]/MDLabel[0]')
# # Check Current screen is QR Code screen
# self.assertExists("//ShowQRCode[@name~=\"showqrcode\"]", timeout=2)
# # Click on BACK button
# self.cli.wait_click('//MDToolbar/BoxLayout[0]/MDActionTopAppBarButton[0]', timeout=2)
# # Checking current screen(My Address) after BACK press
# self.assertExists("//MyAddress[@name~=\"myaddress\"]", timeout=2)
# @ordered
# def test_send_message_from(self):
# """Send Message From Send Message From Button"""
# print("=====================Test -Send Message From Send Message From Button=====================")
# self.cli.sleep(2)
# # Checking current screen
# self.assertExists("//MyAddress[@name~=\"myaddress\"]", timeout=2)
# # Click on Address to open popup
# self.cli.wait_click('//MDList[0]/CustomTwoLineAvatarIconListItem[0]', timeout=2)
# # Checking Popup Opened
# self.assertExists('//MyaddDetailPopup/BoxLayout[1]/MDRaisedButton[0]/MDLabel[@text=\"Send message from\"]', timeout=2)
# # Click on Send Message Button to redirect Create Screen
# self.cli.wait_click('//MyaddDetailPopup/BoxLayout[1]/MDRaisedButton[0]/MDLabel[0]', timeout=2)
# # Checking Current screen(Create )
# self.assertExists("//Create[@name~=\"create\"]", timeout=2)
# # Entering Receiver Address
# self.cli.setattr(
# '//DropDownWidget/ScrollView[0]/BoxLayout[0]/RelativeLayout[0]/BoxLayout[0]/MyTextInput[0]', "text", data[1])
# # Checking Receiver Address filled or not
# self.assertNotEqual('//DropDownWidget/ScrollView[0]/BoxLayout[0]/RelativeLayout[0]/BoxLayout[0]/MyTextInput[0]', '')
# # ADD SUBJECT
# self.cli.setattr('//DropDownWidget/ScrollView[0]/BoxLayout[0]/MyMDTextField[0]', 'text', 'Hey this is Demo Subject')
# # Checking Subject Field is Entered
# # self.assertExists('//DropDownWidget/ScrollView[0]/BoxLayout[0]/MyMDTextField[@text=\"Hey this is Demo Subject\"]', timeout=2)
# self.assertNotEqual('//DropDownWidget/ScrollView[0]/BoxLayout[0]/MyMDTextField[0]', '')
# # ADD MESSAGE BODY
# self.cli.setattr('//DropDownWidget/ScrollView[0]/BoxLayout[0]/ScrollView[0]/MDTextField[0]',
# 'text', 'Hey,i am sending message directly from MyAddress book')
# # Checking Message body is Entered
# self.assertNotEqual('//DropDownWidget/ScrollView[0]/BoxLayout[0]/ScrollView[0]/MDTextField[0]', '')
# # Click on Send Icon
# self.cli.wait_click('//MDActionTopAppBarButton[2]', timeout=3)
# self.cli.sleep(2) # Send Messages takes 2 seconds to send message so need to user sleep
# # Checking Current screen after Send a message
# self.assertExists("//Inbox[@name~=\"inbox\"]", timeout=3)
# @ordered
# def test_disable_address(self):
# """Disable Addresses"""
# self.cli.sleep(2)
# # this is for checking current screen
# self.assertExists("//Inbox[@name~=\"inbox\"]", timeout=3)
# # this is for opening Nav drawer
# self.cli.wait_click('//MDActionTopAppBarButton[@icon=\"menu\"]', timeout=2)
# # checking state of Nav drawer
# self.assertExists("//MDNavigationDrawer[@state~=\"open\"]", timeout=2)
# # this is for scrolling Nav drawer
# self.drag("//NavigationItem[@text=\"Sent\"]", "//NavigationItem[@text=\"Inbox\"]")
# # assert for checking scroll function
# self.assertExists('//NavigationItem[@text=\"My addresses\"]', timeout=2)
# # this is for opening setting screen
# self.cli.wait_click('//NavigationItem[@text=\"My addresses\"]', timeout=2)
# # Checking current screen
# self.assertExists("//MyAddress[@name~=\"myaddress\"]", timeout=2)
# # ADDRESS DISABLED
# self.cli.wait_click('//Thumb', timeout=2)
# is_active = self.cli.getattr('//Thumb', 'active')
# print(is_active, '--------------------------------------------*******************------')
# # self.assertExists('//ToggleBtn[0]/Thumb[@active=\"False\"]', timeout=2)
# # CLICKING ON DISABLE ACCOUNT TO OPEN POPUP
# self.cli.wait_click('//MyAddress/BoxLayout[0]/FloatLayout[0]/MDScrollViewRefreshLayout[0]/MDList[0]/CustomTwoLineAvatarIconListItem[0]', timeout=2)
# # Checking the pop is Opened
# self.assertExists('//MDDialog[@text=\"Address is not currently active. Please click on Toggle button to active it.\"]', timeout=2)
# # Clicking on 'Ok' Button To Dismiss the pop
# self.cli.wait_click('//MDFlatButton[@text=\"Ok\"]', timeout=2)
# # ADDRESS ENABLED
# self.cli.wait_click('//Thumb', timeout=2)
# # self.assertExists('//Thumb[@active=\"False\"]', timeout=2)
# self.assertExists("//MyAddress[@name~=\"myaddress\"]", timeout=5)

View File

@ -1,4 +1,3 @@
from requests.packages.urllib3.util import timeout
from .telenium_process import TeleniumTestProcess from .telenium_process import TeleniumTestProcess
@ -28,4 +27,3 @@ class NetwrokStatusScreen(TeleniumTestProcess):
self.cli.wait_click('//NetworkStat/MDTabs[0]//MDTabsLabel[1]', timeout=1) self.cli.wait_click('//NetworkStat/MDTabs[0]//MDTabsLabel[1]', timeout=1)
# Checking for current screen (Network Status) # Checking for current screen (Network Status)
self.assertExists("//NetworkStat[@name~=\"networkstat\"]", timeout=2) self.assertExists("//NetworkStat[@name~=\"networkstat\"]", timeout=2)

View File

@ -1,5 +1,4 @@
from time import time from time import time
from requests.packages.urllib3.util import timeout
from .telenium_process import TeleniumTestProcess from .telenium_process import TeleniumTestProcess
@ -17,10 +16,8 @@ class PaymentScreen(TeleniumTestProcess):
# Dragging from sent to inbox to get Payment tab. # Dragging from sent to inbox to get Payment tab.
self.drag("//NavigationItem[@text=\"Sent\"]", "//NavigationItem[@text=\"Inbox\"]") self.drag("//NavigationItem[@text=\"Sent\"]", "//NavigationItem[@text=\"Inbox\"]")
self.assertExists('//NavigationItem[@text=\"Network status\"]', timeout=3) self.assertExists('//NavigationItem[@text=\"Network status\"]', timeout=3)
# assert for checking scroll function
# assert for checking scroll funcation
scroll_distance = self.cli.getattr('//ContentNavigationDrawer//ScrollView[0]', 'scroll_y') scroll_distance = self.cli.getattr('//ContentNavigationDrawer//ScrollView[0]', 'scroll_y')
self.assertCheckScrollDown(scroll_distance, 0.0, timeout=3) self.assertCheckScrollDown(scroll_distance, 0.0, timeout=3)
self.assertExists('//NavigationItem[@text=\"Purchase\"]', timeout=3) self.assertExists('//NavigationItem[@text=\"Purchase\"]', timeout=3)
# this is for opening Payment screen # this is for opening Payment screen
@ -30,7 +27,7 @@ class PaymentScreen(TeleniumTestProcess):
self.drag( self.drag(
'//ProductCategoryLayout[0]/ProductLayout[1]', '//ProductCategoryLayout[0]/ProductLayout[1]',
'//ProductCategoryLayout[0]/ProductLayout[0]') '//ProductCategoryLayout[0]/ProductLayout[0]')
# assert for checking scroll funcation # assert for checking scroll function
scroll_distance = self.cli.getattr('//Payment//ScrollView[0]', 'scroll_y') scroll_distance = self.cli.getattr('//Payment//ScrollView[0]', 'scroll_y')
self.assertCheckScrollDown(scroll_distance, 0.0, timeout=3) self.assertCheckScrollDown(scroll_distance, 0.0, timeout=3)
self.assertExists('//MDRaisedButton[3]', timeout=3) self.assertExists('//MDRaisedButton[3]', timeout=3)
@ -38,7 +35,4 @@ class PaymentScreen(TeleniumTestProcess):
self.click_on('//ScrollView[0]/ListItemWithLabel[0]', seconds=1) self.click_on('//ScrollView[0]/ListItemWithLabel[0]', seconds=1)
self.click_on('//MDRaisedButton[3]', seconds=1) self.click_on('//MDRaisedButton[3]', seconds=1)
self.assertExists("//Payment[@name~=\"payment\"]", timeout=2) self.assertExists("//Payment[@name~=\"payment\"]", timeout=2)

View File

@ -1,3 +1,4 @@
from time import time
from .telenium_process import TeleniumTestProcess from .telenium_process import TeleniumTestProcess
from .common import ordered from .common import ordered
@ -17,63 +18,95 @@ class SendMessage(TeleniumTestProcess):
opens a pop-up(screen)which send message from sender to reciever opens a pop-up(screen)which send message from sender to reciever
""" """
print("=======Test - Sending Message From Inbox Screen with validation Checks=======") print("=======Test - Sending Message From Inbox Screen with validation Checks=======")
self.cli.sleep(3) self.cli.sleep(8)
# self.cli.execute('app.root.ids.nav_drawer.set_state("toggle")') # this is for opening Nav drawer
self.cli.click_on('//MDToolbar/BoxLayout[0]/MDActionTopAppBarButton[0]') self.cli.wait_click('//MDActionTopAppBarButton[@icon=\"menu\"]', timeout=3)
self.cli.sleep(2) # checking state of Nav drawer
self.cli.click_on('//NavigationItem[1]') self.assertExists("//MDNavigationDrawer[@state~=\"open\"]", timeout=2)
# Click to open Inbox
self.cli.wait_click('//NavigationItem[@text=\"Inbox\"]', timeout=2)
# Checking Inbox Screen
self.assertExists("//Inbox[@name~=\"inbox\"]", timeout=2) self.assertExists("//Inbox[@name~=\"inbox\"]", timeout=2)
# Due to animation and transition effect, it needed some halt otherwise it fails
self.cli.sleep(1)
# Click on Composer Icon(Plus icon)
self.cli.wait_click('//ComposerButton[0]/MDFloatingActionButton[@icon=\"plus\"]', timeout=2)
# Checking Message Composer Screen(Create)
self.assertExists("//Create[@name~=\"create\"]", timeout=4)
# Click on Sender's Address Input Field to check validation
self.cli.wait_click('//DropDownWidget/ScrollView[0]/BoxLayout[0]/BoxLayout[0]/MDTextField[0]', timeout=2)
# Checking State of Sender's Address Input Field (Empty)
self.assertExists('//DropDownWidget/ScrollView[0]/BoxLayout[0]/BoxLayout[0]/MDTextField[@text=\"\"]', timeout=2)
# Due to MDTextField on focus line effect, it takes time to animate, so sleep is required
self.cli.sleep(0.5)
# Click on Receiver's Address Field to check validation
self.cli.wait_click('//DropDownWidget/ScrollView[0]/BoxLayout[0]/RelativeLayout[0]/BoxLayout[0]/MyTextInput[0]', timeout=2)
# Checking State of Receiver's Address Input Field (Empty)
self.assertExists('//DropDownWidget/ScrollView[0]/BoxLayout[0]/RelativeLayout[0]/BoxLayout[0]/MyTextInput[@text=\"\"]', timeout=2)
# Click on Subject Field to check validation
self.cli.wait_click('//DropDownWidget/ScrollView[0]/BoxLayout[0]/MyMDTextField[0]', timeout=2)
# Checking State of Subject Input Field (Empty)
self.assertExists('//DropDownWidget/ScrollView[0]/BoxLayout[0]/MyMDTextField[@text=\"\"]', timeout=2)
# Click on Send Icon to check validation working
self.cli.wait_click('//MDActionTopAppBarButton[2]', timeout=2)
# Checking validation Pop up is Opened
self.assertExists('//MDDialog[@text=\"Please fill the form completely\"]', timeout=2)
# Click on 'Ok' to dismiss the Popup
self.cli.wait_click('//MDFlatButton[0]', timeout=2)
# Checking Pop up is closed
self.assertExists("//Create[@name~=\"create\"]", timeout=4)
# ADD SENDER'S ADDRESS
# Checking State of Sender's Address Input Field (Empty)
self.assertExists('//DropDownWidget/ScrollView[0]/BoxLayout[0]/BoxLayout[0]/MDTextField[@text=\"\"]', timeout=2)
# Open Sender's Address DropDown
self.cli.wait_click(
'//DropDownWidget/ScrollView[0]/BoxLayout[0]/BoxLayout[0]/BoxLayout[0]/CustomSpinner[0]/ArrowImg[0]', timeout=2)
# Due to animation and transition effect, it needed some halt otherwise it fails
self.cli.sleep(2) self.cli.sleep(2)
self.cli.click_on('//Inbox/ComposerButton[0]/MDFloatingActionButton[0]') # Select Sender's Address from Dropdown
self.assertExists("//Create[@name~=\"create\"]", timeout=2) self.cli.wait_click(
self.cli.sleep(3) '//DropDownWidget/ScrollView[0]/BoxLayout[0]/BoxLayout[0]/BoxLayout[0]/CustomSpinner[0]', timeout=2)
self.cli.click_on('//DropDownWidget/ScrollView[0]/BoxLayout[0]/BoxLayout[0]/MDTextField') self.cli.click_on('//ComposerSpinnerOption[0]')
self.cli.sleep(3) # Assert to check Sender's address dropdown open or not
self.cli.click_on('//DropDownWidget/ScrollView[0]/BoxLayout[0]/BoxLayout[1]/MyTextInput[0]') self.assertNotEqual('//DropDownWidget/ScrollView[0]/BoxLayout[0]/BoxLayout[0]/MDTextField[0]', '')
self.cli.sleep(3)
self.cli.setattr(
'//DropDownWidget/ScrollView[0]/BoxLayout[0]/BoxLayout[1]/MyTextInput[0]', "text", "second add")
self.cli.sleep(3)
self.cli.click_on('//DropDownWidget/ScrollView[0]/BoxLayout[0]/MyMDTextField[0]')
self.cli.sleep(4)
self.cli.click_on('//DropDownWidget/ScrollView[0]/BoxLayout[0]/ScrollView[0]/TextInput[0]')
self.cli.sleep(4)
self.cli.click_on('//MDActionTopAppBarButton[2]')
self.cli.sleep(3)
self.cli.click_on('//MDFlatButton[0]')
self.cli.sleep(5)
self.cli.click_on(
'//DropDownWidget/ScrollView[0]/BoxLayout[0]/BoxLayout[0]/BoxLayout[0]/CustomSpinner[0]/ArrowImg[0]')
self.cli.sleep(2)
self.cli.click_on('//MyTextInput[0]')
self.cli.sleep(3)
self.cli.click_on('//DropDownWidget/ScrollView[0]/BoxLayout[0]/MyMDTextField[0]')
self.cli.sleep(2)
# ADD SUBJECT # ADD SUBJECT
self.cli.setattr('//DropDownWidget/ScrollView[0]/BoxLayout[0]/MyMDTextField[0]', 'text', 'heyyyyyy') self.cli.setattr('//DropDownWidget/ScrollView[0]/BoxLayout[0]/MyMDTextField[0]', 'text', 'heyyyyyy')
self.cli.sleep(3) # Checking Subject Field is Entered
self.cli.click_on('//DropDownWidget/ScrollView[0]/BoxLayout[0]/ScrollView[0]/MDTextField[0]') self.assertExists('//DropDownWidget/ScrollView[0]/BoxLayout[0]/MyMDTextField[@text=\"heyyyyyy\"]', timeout=2)
self.cli.sleep(4) # Checking BODY Field(EMPTY)
self.assertExists('//DropDownWidget/ScrollView[0]/BoxLayout[0]/ScrollView[0]/MDTextField[@text=\"\"]', timeout=2)
# ADD BODY # ADD BODY
random_label = "" self.cli.setattr(
for char in "how are you this is message body": '//DropDownWidget/ScrollView[0]/BoxLayout[0]/ScrollView[0]/MDTextField[0]', 'text', 'how are you this is message body')
random_label += char # Checking BODY is Entered
self.cli.setattr( self.assertExists('//DropDownWidget/ScrollView[0]/BoxLayout[0]/ScrollView[0]/MDTextField[@text=\"how are you this is message body\"]', timeout=2)
'//DropDownWidget/ScrollView[0]/BoxLayout[0]/ScrollView[0]/MDTextField[0]', 'text', random_label) # click on send icon
self.cli.sleep(0.2) self.cli.wait_click('//MDActionTopAppBarButton[2]', timeout=2)
self.cli.sleep(3) # Checking validation so Pop up is Opened
self.cli.click_on('//MDActionTopAppBarButton[2]') self.assertExists('//MDDialog[@text=\"Please fill the form completely\"]', timeout=2)
self.cli.sleep(3) # Pop clicked on ok
self.cli.click_on('//MDFlatButton[0]') self.cli.wait_click('//MDFlatButton[0]', timeout=2)
self.cli.sleep(6) # ADD RECEIVER ADDRESS
# Checking Receiver Address Field
self.assertExists('//DropDownWidget/ScrollView[0]/BoxLayout[0]/RelativeLayout[0]/BoxLayout[0]/MyTextInput[@text=\"\"]', timeout=2)
# Entering Receiver Address
self.cli.setattr( self.cli.setattr(
'//DropDownWidget/ScrollView[0]/BoxLayout[0]/RelativeLayout[0]/BoxLayout[0]/MyTextInput[0]', "text", data[0]) '//DropDownWidget/ScrollView[0]/BoxLayout[0]/RelativeLayout[0]/BoxLayout[0]/MyTextInput[0]', "text", data[0])
self.cli.sleep(3) # Checking Receiver Address filled or not
self.cli.click_on('//MDActionTopAppBarButton[2]') self.assertNotEqual('//DropDownWidget/ScrollView[0]/BoxLayout[0]/RelativeLayout[0]/BoxLayout[0]/MyTextInput[0]', '')
self.cli.sleep(3) # Clicking on send icon
self.cli.click_on('//MDToolbar/BoxLayout[0]/MDActionTopAppBarButton[0]') self.cli.wait_click('//MDActionTopAppBarButton[2]', timeout=4)
self.cli.sleep(3) # Checking screen(Inbox) after sending message
self.cli.click_on('//NavigationItem[2]') self.assertExists("//Inbox[@name~=\"inbox\"]", timeout=4)
self.cli.sleep(3) # this is for opening Nav drawer
self.cli.wait_click('//MDActionTopAppBarButton[@icon=\"menu\"]', timeout=3)
# checking state of Nav drawer
self.assertExists("//MDNavigationDrawer[@state~=\"open\"]", timeout=2)
# Clicking on Sent Tab
self.cli.wait_click('//NavigationItem[@text=\"Sent\"]', timeout=3)
# Checking current screen; Sent
self.assertExists("//Sent[@name~=\"sent\"]", timeout=3)
self.cli.sleep(1)
# Checking number of Sent messages
total_sent_msgs = len(self.cli.select("//SwipeToDeleteItem")) total_sent_msgs = len(self.cli.select("//SwipeToDeleteItem"))
self.assertEqual(total_sent_msgs, 2) self.assertEqual(total_sent_msgs, 2)

View File

@ -35,7 +35,7 @@ class TrashMessage(TeleniumTestProcess):
'//Trash[0]//TwoLineAvatarIconListItem[0]/BoxLayout[1]', '//Trash[0]//TwoLineAvatarIconListItem[0]/BoxLayout[1]',
'//Trash[0]//TwoLineAvatarIconListItem[0]/BoxLayout[2]') '//Trash[0]//TwoLineAvatarIconListItem[0]/BoxLayout[2]')
self.click_on('//MDList[0]/CutsomSwipeToDeleteItem[0]', seconds=1) self.click_on('//MDList[0]/CutsomSwipeToDeleteItem[0]', seconds=1)
# Checking the Trash Icon after swipe. # Checking the Trash Icon after swipe.
self.assertExists("//MDList[0]/CutsomSwipeToDeleteItem[0]//MDIconButton[@icon~=\"trash-can\"]", timeout=2) self.assertExists("//MDList[0]/CutsomSwipeToDeleteItem[0]//MDIconButton[@icon~=\"trash-can\"]", timeout=2)
# clicking on Trash Box icon to delete message. # clicking on Trash Box icon to delete message.
self.cli.wait_click('//MDList[0]/CutsomSwipeToDeleteItem[0]//MDIconButton[0]', timeout=2) self.cli.wait_click('//MDList[0]/CutsomSwipeToDeleteItem[0]//MDIconButton[0]', timeout=2)