From c10031699e25d102cc8f22f2d4875ef2da4862ba Mon Sep 17 00:00:00 2001 From: Dmitry Sotnikov Date: Mon, 22 Nov 2021 16:41:36 +0200 Subject: [PATCH 1/4] renamed clickSentButton to clickSendButton, updated test after changes, added fixes for checkEmail in message --- appium/tests/screenobjects/email.screen.ts | 2 +- appium/tests/screenobjects/new-message.screen.ts | 10 +++++----- ...ts => SendEmailToRecipientWithoutPublicKey.spec.ts} | 2 +- ...dEmailAfterPassPhraseSessionEndedAndTrashIt.spec.ts | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) rename appium/tests/specs/composeEmail/{SentEmailToRecipientWithoutPublicKey.spec.ts => SendEmailToRecipientWithoutPublicKey.spec.ts} (95%) diff --git a/appium/tests/screenobjects/email.screen.ts b/appium/tests/screenobjects/email.screen.ts index 73c6b9b7b..2bba3169e 100644 --- a/appium/tests/screenobjects/email.screen.ts +++ b/appium/tests/screenobjects/email.screen.ts @@ -52,7 +52,7 @@ class EmailScreen extends BaseScreen { } checkEmailAddress = async (email: string) => { - const selector = `~${email}`; + const selector = `-ios class chain:**/XCUIElementTypeStaticText[\`label == "${email}"\`]`; await (await $(selector)).waitForDisplayed(); } diff --git a/appium/tests/screenobjects/new-message.screen.ts b/appium/tests/screenobjects/new-message.screen.ts index e50874e41..d207e96f8 100644 --- a/appium/tests/screenobjects/new-message.screen.ts +++ b/appium/tests/screenobjects/new-message.screen.ts @@ -11,7 +11,7 @@ const SELECTORS = { '/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeStaticText', //it works only with this selector RETURN_BUTTON: '~Return', BACK_BUTTON: '~arrow left c', - SENT_BUTTON: '~android send', + SEND_BUTTON: '~android send', ERROR_HEADER: '-ios class chain:**/XCUIElementTypeStaticText[`label == "Error"`]', OK_BUTTON: '~OK' }; @@ -41,8 +41,8 @@ class NewMessageScreen extends BaseScreen { return $(SELECTORS.BACK_BUTTON); } - get sentButton() { - return $(SELECTORS.SENT_BUTTON); + get sendButton() { + return $(SELECTORS.SEND_BUTTON); } get errorHeader() { @@ -100,8 +100,8 @@ class NewMessageScreen extends BaseScreen { await ElementHelper.waitAndClick(await this.backButton); } - clickSentButton = async () => { - await ElementHelper.waitAndClick(await this.sentButton); + clickSendButton = async () => { + await ElementHelper.waitAndClick(await this.sendButton); } checkError = async (errorText: string) => { diff --git a/appium/tests/specs/composeEmail/SentEmailToRecipientWithoutPublicKey.spec.ts b/appium/tests/specs/composeEmail/SendEmailToRecipientWithoutPublicKey.spec.ts similarity index 95% rename from appium/tests/specs/composeEmail/SentEmailToRecipientWithoutPublicKey.spec.ts rename to appium/tests/specs/composeEmail/SendEmailToRecipientWithoutPublicKey.spec.ts index 9992a1a12..6aa08f605 100644 --- a/appium/tests/specs/composeEmail/SentEmailToRecipientWithoutPublicKey.spec.ts +++ b/appium/tests/specs/composeEmail/SendEmailToRecipientWithoutPublicKey.spec.ts @@ -23,7 +23,7 @@ describe('COMPOSE EMAIL: ', () => { await InboxScreen.clickCreateEmail(); await NewMessageScreen.composeEmail(noPublicKeyRecipient, emailSubject, emailText); await NewMessageScreen.checkFilledComposeEmailInfo(noPublicKeyRecipient, emailSubject, emailText); - await NewMessageScreen.clickSentButton(); + await NewMessageScreen.clickSendButton(); await NewMessageScreen.checkError(noPublicKeyError); }); diff --git a/appium/tests/specs/composeEmail/SendEncryptedEmailAfterPassPhraseSessionEndedAndTrashIt.spec.ts b/appium/tests/specs/composeEmail/SendEncryptedEmailAfterPassPhraseSessionEndedAndTrashIt.spec.ts index 89d128daf..a1d25b463 100644 --- a/appium/tests/specs/composeEmail/SendEncryptedEmailAfterPassPhraseSessionEndedAndTrashIt.spec.ts +++ b/appium/tests/specs/composeEmail/SendEncryptedEmailAfterPassPhraseSessionEndedAndTrashIt.spec.ts @@ -37,13 +37,13 @@ describe('COMPOSE EMAIL: ', () => { await NewMessageScreen.composeEmail(contactEmail, emailSubject, emailText); await NewMessageScreen.checkFilledComposeEmailInfo(contactEmail, emailSubject, emailText); //Set wrong pass phrase and check error - await NewMessageScreen.clickSentButton(); + await NewMessageScreen.clickSendButton(); await EmailScreen.enterPassPhrase(wrongPassPhrase); await EmailScreen.clickOkButton(); await NewMessageScreen.checkError(wrongPassPhraseError); await NewMessageScreen.clickOkButtonOnError(); //Set correct pass phrase - await NewMessageScreen.clickSentButton(); + await NewMessageScreen.clickSendButton(); await EmailScreen.enterPassPhrase(passPhrase); await EmailScreen.clickOkButton(); await InboxScreen.checkInboxScreen(); From e8b2abcd4100ac1c52ff7a8cb85bcd0f9671c8c6 Mon Sep 17 00:00:00 2001 From: Dmitry Sotnikov Date: Tue, 23 Nov 2021 17:47:44 +0200 Subject: [PATCH 2/4] changed for email screen, changed selector for checkEmailAddress --- appium/tests/screenobjects/email.screen.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appium/tests/screenobjects/email.screen.ts b/appium/tests/screenobjects/email.screen.ts index 2bba3169e..73c6b9b7b 100644 --- a/appium/tests/screenobjects/email.screen.ts +++ b/appium/tests/screenobjects/email.screen.ts @@ -52,7 +52,7 @@ class EmailScreen extends BaseScreen { } checkEmailAddress = async (email: string) => { - const selector = `-ios class chain:**/XCUIElementTypeStaticText[\`label == "${email}"\`]`; + const selector = `~${email}`; await (await $(selector)).waitForDisplayed(); } From f14da45eb09d2e995fcba94d7a1c30587c30add7 Mon Sep 17 00:00:00 2001 From: Dmitry Sotnikov Date: Wed, 24 Nov 2021 10:39:30 +0200 Subject: [PATCH 3/4] added id for sender email, updated tests --- .../Cell Nodes/ThreadMessageSenderCellNode.swift | 3 +++ appium/tests/screenobjects/email.screen.ts | 11 ++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/FlowCryptUI/Cell Nodes/ThreadMessageSenderCellNode.swift b/FlowCryptUI/Cell Nodes/ThreadMessageSenderCellNode.swift index 6b8214975..a4bc45c25 100644 --- a/FlowCryptUI/Cell Nodes/ThreadMessageSenderCellNode.swift +++ b/FlowCryptUI/Cell Nodes/ThreadMessageSenderCellNode.swift @@ -74,7 +74,10 @@ public final class ThreadMessageSenderCellNode: CellNode { automaticallyManagesSubnodes = true senderNode.attributedText = input.sender + senderNode.accessibilityIdentifier = "senderEmail" dateNode.attributedText = input.date + senderNode.accessibilityIdentifier = "date" + setupReplyNode() setupExpandNode() diff --git a/appium/tests/screenobjects/email.screen.ts b/appium/tests/screenobjects/email.screen.ts index 73c6b9b7b..bb9ba0cec 100644 --- a/appium/tests/screenobjects/email.screen.ts +++ b/appium/tests/screenobjects/email.screen.ts @@ -10,7 +10,8 @@ const SELECTORS = { DOWNLOAD_ATTACHMENT_BUTTON: '~downloadButton', REPLY_BUTTON: '~replyButton', DELETE_BUTTON: '~Delete', - CONFIRM_DELETING: '~OK' + CONFIRM_DELETING: '~OK', + SENDER_EMAIL: '~senderEmail' }; @@ -51,9 +52,13 @@ class EmailScreen extends BaseScreen { return $(SELECTORS.CONFIRM_DELETING) } + get senderEmail() { + return $(SELECTORS.SENDER_EMAIL); + } + checkEmailAddress = async (email: string) => { - const selector = `~${email}`; - await (await $(selector)).waitForDisplayed(); + await (await this.senderEmail).waitForDisplayed(); + await expect(await this.senderEmail).toHaveText(email); } checkEmailSubject = async (subject: string) => { From 9027a7b81af61a9d8c0130003bee13b3830fb23f Mon Sep 17 00:00:00 2001 From: Dmitry Sotnikov Date: Wed, 24 Nov 2021 14:53:42 +0200 Subject: [PATCH 4/4] added fixes for accesabilityId, updated tests --- FlowCryptUI/Cell Nodes/ThreadMessageSenderCellNode.swift | 1 - appium/tests/screenobjects/email.screen.ts | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/FlowCryptUI/Cell Nodes/ThreadMessageSenderCellNode.swift b/FlowCryptUI/Cell Nodes/ThreadMessageSenderCellNode.swift index a4bc45c25..285dba6c0 100644 --- a/FlowCryptUI/Cell Nodes/ThreadMessageSenderCellNode.swift +++ b/FlowCryptUI/Cell Nodes/ThreadMessageSenderCellNode.swift @@ -76,7 +76,6 @@ public final class ThreadMessageSenderCellNode: CellNode { senderNode.attributedText = input.sender senderNode.accessibilityIdentifier = "senderEmail" dateNode.attributedText = input.date - senderNode.accessibilityIdentifier = "date" setupReplyNode() diff --git a/appium/tests/screenobjects/email.screen.ts b/appium/tests/screenobjects/email.screen.ts index bb9ba0cec..ca9044daa 100644 --- a/appium/tests/screenobjects/email.screen.ts +++ b/appium/tests/screenobjects/email.screen.ts @@ -57,8 +57,8 @@ class EmailScreen extends BaseScreen { } checkEmailAddress = async (email: string) => { - await (await this.senderEmail).waitForDisplayed(); - await expect(await this.senderEmail).toHaveText(email); + await (await this.senderEmail).waitForDisplayed(); + await expect(await this.senderEmail).toHaveText(email); } checkEmailSubject = async (subject: string) => {