{"id":3195,"date":"2021-10-04T20:00:10","date_gmt":"2021-10-04T16:30:10","guid":{"rendered":"http:\/\/rabsana.ir\/tutorials\/?p=3195"},"modified":"2021-10-06T08:13:18","modified_gmt":"2021-10-06T04:43:18","slug":"how-to-integrate-jira-with-selenium","status":"publish","type":"post","link":"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/","title":{"rendered":"\u0686\u06af\u0648\u0646\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646 Jira \u0631\u0627 \u0628\u0627 Selenium \u0627\u062f\u063a\u0627\u0645 \u06a9\u0631\u062f\u061f"},"content":{"rendered":"<p><a id=\"post-3195-_4uo4ebdxkyfb\"><\/a>Selenium \u06cc\u06a9\u06cc \u0627\u0632 \u0645\u062d\u0628\u0648\u0628 \u062a\u0631\u06cc\u0646 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u0647\u0627\u06cc \u062a\u0633\u062a \u062e\u0648\u062f\u06a9\u0627\u0631 \u0633\u0627\u0632\u06cc \u062f\u0631 \u062c\u0647\u0627\u0646 \u0627\u0633\u062a. Selenium Webdriver \u0628\u0631\u0627\u06cc \u062a\u0633\u062a \u062e\u0648\u062f\u06a9\u0627\u0631 \u0633\u0627\u0632\u06cc \u062a\u0648\u0633\u0637 tester \u0647\u0627 \u06cc\u0627 \u062a\u0633\u062a \u06a9\u0646\u0646\u062f\u06af\u0627\u0646 \u062f\u0631 \u062a\u06cc\u0645 \u0647\u0627 \u0648 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627 \u0648 \u0628\u0647 \u062f\u0644\u0627\u06cc\u0644 \u062e\u0648\u0628 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<p>Selenium \u0645\u0632\u0627\u06cc\u0627\u06cc \u0628\u0633\u06cc\u0627\u0631 \u0632\u06cc\u0627\u062f\u06cc \u062f\u0627\u0631\u062f. \u06cc\u06a9\u06cc \u0627\u0632 \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627\u06cc\u06cc \u06a9\u0647 Selenium \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u0645\u0646\u062d\u0635\u0631 \u0628\u0647 \u0641\u0631\u062f \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u062f\u0647\u060c \u0642\u0627\u0628\u0644\u06cc\u062a \u062a\u0648\u0633\u0639\u0647 \u0622\u0646 \u0627\u0633\u062a. \u06cc\u0639\u0646\u06cc \u062a\u0633\u062a \u06a9\u0646\u0646\u062f\u06af\u0627\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u062f\u0631 \u0635\u0648\u0631\u062a \u0644\u0632\u0648\u0645 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u0646\u062f. \u0633\u067e\u0633 \u0622\u0646\u0647\u0627 \u0631\u0627 \u06af\u0633\u062a\u0631\u0634 \u0648 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f \u0648 \u0622\u0646\u0647\u0627 \u0631\u0627 \u0628\u0647 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627\u06cc \u0645\u062a\u0639\u062f\u062f\u06cc \u0645\u062a\u0635\u0644 \u06a9\u0646\u0646\u062f.<\/p>\n<p>\u062f\u0631 \u0648\u0627\u0642\u0639 \u0645\u06cc \u062a\u0648\u0627\u0646 \u06af\u0641\u062a \u0627\u06cc\u0646 \u0648\u06cc\u0698\u06af\u06cc \u0645\u0646\u062d\u0635\u0631 \u0628\u0647 \u0641\u0631\u062f \u0628\u0627\u0639\u062b \u0645\u062a\u0645\u0627\u06cc\u0632 \u0634\u062f\u0646 Selenium \u0646\u0633\u0628\u062a \u0628\u0647 \u0647\u0645\u0647 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u0647\u0627\u06cc \u0645\u062f\u0631\u0646 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p>\u0628\u0627 \u062a\u0648\u062c\u0647 \u0628\u0647 \u0627\u06cc\u0646\u06a9\u0647 Jira \u06cc\u06a9\u06cc \u062f\u06cc\u06af\u0631 \u0627\u0632 \u0645\u062d\u0628\u0648\u0628 \u062a\u0631\u06cc\u0646 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0631\u062f\u06cc\u0627\u0628\u06cc \u0645\u0634\u06a9\u0644\u0627\u062a \u0648 \u0645\u062f\u06cc\u0631\u06cc\u062a \u067e\u0631\u0648\u0698\u0647 \u0627\u0633\u062a\u060c \u0645\u0639\u0645\u0648\u0644\u0627 \u0632\u06cc\u0627\u062f \u062a\u0648\u0633\u0637 \u062a\u06cc\u0645 \u0647\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0648 \u062a\u0633\u062a Agile \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f\u060c \u0645\u0639\u0645\u0648\u0644\u0627 \u0628\u0631\u0627\u06cc \u062a\u0633\u062a \u06a9\u0646\u0646\u062f\u06af\u0627\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Selenium \u0628\u0627 Jira \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0627\u06cc\u06cc \u0628\u06cc\u0634\u062a\u0631 \u0648 \u0646\u062a\u0627\u06cc\u062c \u062f\u0642\u06cc\u0642 \u062a\u0631 \u0627\u0633\u062a.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0628\u0647 \u0628\u0631\u0631\u0633\u06cc \u0646\u062d\u0648\u0647 \u0627\u062f\u063a\u0627\u0645 \u062f\u0648 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 Selenium \u0648 Jira \u0628\u0627 \u06a9\u0645 \u062a\u0631\u06cc\u0646 \u0645\u0634\u06a9\u0644\u0627\u062a \u0645\u06cc \u067e\u0631\u062f\u0627\u0632\u06cc\u0645.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>Jira \u0686\u06cc\u0633\u062a \u061f<\/strong><\/h2>\n<p>&nbsp;<\/p>\n<p>\u062c\u06cc\u0631\u0627 (Jira) \u0627\u0628\u0632\u0627\u0631\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 \u062f\u0631\u062c\u0647 \u0627\u0648\u0644 \u0628\u0631\u0627\u06cc \u0631\u062f\u06cc\u0627\u0628\u06cc \u0645\u0633\u0627\u0626\u0644 (issue tracking) \u0648 \u0628\u0627\u06af \u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f. \u0647\u0645\u0686\u0646\u06cc\u0646 \u0627\u0632 \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627\u06cc \u0632\u06cc\u0627\u062f\u06cc \u062f\u0631 \u0645\u062f\u06cc\u0631\u06cc\u062a \u067e\u0631\u0648\u0698\u0647 \u0628\u0631\u0627\u06cc \u0627\u0646\u0648\u0627\u0639 \u0645\u0648\u0627\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u06a9\u0646\u062f. \u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0622\u0646 \u0627\u0632 \u0627\u0644\u0632\u0627\u0645\u0627\u062a \u0648 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0622\u067e\u0634\u0646 \u0647\u0627\u06cc \u062a\u0633\u062a \u06af\u0631\u0641\u062a\u0647 \u062a\u0627 \u062a\u0648\u0633\u0639\u0647 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 Agile\u060c \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062c\u06cc\u0631\u0627 \u0628\u0631\u0627\u06cc \u062d\u062f\u0627\u06a9\u062b\u0631 20 \u06a9\u0627\u0631\u0628\u0631 \u0646\u06cc\u0632 \u0631\u0627\u06cc\u06af\u0627\u0646 \u0627\u0633\u062a. \u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 \u0627\u06af\u0631 \u0647\u0631 \u0633\u0627\u0632\u0645\u0627\u0646 \u0628\u0647 \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627\u06cc \u0627\u0636\u0627\u0641\u06cc \u0645\u062b\u0644 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc\u060c \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc \u0648 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a \u0632\u06cc\u0627\u062f \u06a9\u0627\u0631\u0628\u0631 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f\u060c \u0628\u0627\u06cc\u062f \u0646\u0633\u062e\u0647 \u062a\u062c\u0627\u0631\u06cc \u062c\u06cc\u0631\u0627 \u0631\u0627 \u0646\u06cc\u0632 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u062f. \u0627\u0632 \u0622\u0646\u062c\u0627 \u06a9\u0647 \u062c\u06cc\u0631\u0627 \u06cc\u06a9 \u0627\u0628\u0632\u0627\u0631 \u0631\u062f\u06cc\u0627\u0628\u06cc \u0628\u0627\u06af \u0648 \u0627\u06cc\u0634\u0648 \u0627\u0633\u062a\u060c \u0627\u0645\u0648\u0631\u06cc \u0647\u0645\u0686\u0648\u0646 \u062a\u0639\u06cc\u06cc\u0646\u060c \u062d\u0644 \u0648 \u067e\u06cc\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0686\u0631\u062e\u0647 \u0639\u0645\u0631 \u0628\u0627\u06af \u0631\u0627 \u0628\u0647 \u0637\u0648\u0631 \u06a9\u0627\u0645\u0644 \u0627\u0645\u06a9\u0627\u0646 \u067e\u0630\u06cc\u0631 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u062c\u06cc\u0631\u0627 \u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0645\u0648\u0627\u0631\u062f \u0628\u0627\u0644\u0627\u060c \u0646\u0642\u0627\u0637 \u067e\u0627\u06cc\u0627\u0646\u06cc Rest API \u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f \u06a9\u0647 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0622\u0646\u0647\u0627 \u062a\u0633\u062a \u06a9\u0646\u0646\u062f\u06af\u0627\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0686\u0646\u062f\u06cc\u0646 \u06a9\u0627\u0631 \u0631\u0627 \u0628\u0627 \u0627\u06cc\u062c\u0627\u062f \u0627\u06cc\u0634\u0648 (issue)\u060c \u062a\u0639\u06cc\u06cc\u0646 \u0627\u06cc\u0634\u0648\u060c \u062c\u0633\u062a\u062c\u0648\u06cc \u0627\u06cc\u0634\u0648 \u0648 \u063a\u06cc\u0631\u0647 \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u062e\u0648\u062f\u06a9\u0627\u0631 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u0646\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646\u060c \u0627\u06af\u0631 QA \u0647\u0627 \u0627\u0632 \u062e\u0648\u062f\u06a9\u0627\u0631\u0633\u0627\u0632\u06cc \u062a\u0633\u062a Selenium \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0645\u0633\u062a\u0642\u06cc\u0645\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0646\u0642\u0627\u0637 \u067e\u0627\u06cc\u0627\u0646\u06cc Jira API \u0628\u062f\u0648\u0646 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0645\u062f\u0627\u062e\u0644\u0627\u062a \u062f\u0633\u062a\u06cc\u060c \u062f\u0631 \u062c\u06cc\u0631\u0627 \u0627\u06cc\u0634\u0648 \u062b\u0628\u062a \u06a9\u0646\u0646\u062f.<\/p>\n<p>\u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u0646\u062d\u0648\u0647 \u0627\u06cc\u062c\u0627\u062f API Tokens\u060c \u0646\u062d\u0648\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Jira API \u0648 \u0646\u062d\u0648\u0647 \u0627\u06cc\u062c\u0627\u062f \u0645\u0634\u06a9\u0644\u0627\u062a \u0628\u0627 Selenium \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>\u0646\u062d\u0648\u0647 \u0627\u06cc\u062c\u0627\u062f API Token \u062f\u0631 Jira<\/strong><\/h2>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Jira API token \u0647\u0627 \u0628\u0647 \u06a9\u0627\u0631\u0628\u0631 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627 \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u0627\u0628\u0631\u06cc \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u06a9\u0646\u062f \u0648 \u062a\u0627\u06cc\u06cc\u062f \u062f\u0648 \u0645\u0631\u062d\u0644\u0647 \u0627\u06cc \u0648 SSO \u0631\u0627 \u062f\u0648\u0631 \u0628\u0632\u0646\u062f \u062a\u0627 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0631\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 API \u0647\u0627\u06cc REST \u0628\u0627\u0632\u06cc\u0627\u0628\u06cc \u06a9\u0646\u062f. \u0627\u062f\u0645\u06cc\u0646 \u0647\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 API \u062a\u0648\u06a9\u0646 \u0647\u0627 \u0631\u0627 \u062a\u0648\u0633\u0637 \u062d\u0633\u0627\u0628 \u0647\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0634\u062f\u0647 \u062e\u0648\u062f \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u0648 \u062f\u0631 \u0635\u0648\u0631\u062a \u0646\u06cc\u0627\u0632 \u0644\u063a\u0648 \u06a9\u0646\u0646\u062f.<\/p>\n<p>\u0627\u0633\u0627\u0633\u0627\u060c \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062a\u0648\u06a9\u0646 \u062f\u0633\u062a\u0631\u0633\u06cc \u0648 \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc\u060c \u062a\u0633\u062a \u06a9\u0646\u0646\u062f\u06af\u0627\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f Selenium \u0648 Jira \u0631\u0627 \u0628\u0647 \u0647\u0645 \u0645\u062a\u0635\u0644 \u06a9\u0646\u0646\u062f.<\/p>\n<p>&nbsp;<\/p>\n<h3><strong>\u0645\u0631\u0627\u062d\u0644 \u0627\u06cc\u062c\u0627\u062f API token \u062f\u0631 \u062c\u06cc\u0631\u0627 :<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<ol>\n<li>\u0648\u0627\u0631\u062f \u0648\u0628 \u0633\u0627\u06cc\u062a \u0627\u0635\u0644\u06cc Jira \u0634\u0648\u06cc\u062f.<\/li>\n<li>\u062f\u0631 \u0633\u0627\u06cc\u062a \u06cc\u06a9 \u062d\u0633\u0627\u0628 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\u062f\u0631 \u0627\u06a9\u0627\u0646\u062a \u062e\u0648\u062f \u0628\u0631 \u0631\u0648\u06cc Profile and Settings \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\u0633\u067e\u0633 \u0628\u0631 \u0631\u0648\u06cc Account Setting \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" width=\"700\" height=\"521\" class=\"wp-image-3196 aligncenter\" src=\"http:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/word-image.png\" srcset=\"https:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/word-image.png 700w, https:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/word-image-300x223.png 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li>\u0628\u0631 \u0631\u0648\u06cc Security \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f \u0648 \u0633\u067e\u0633 \u06af\u0632\u06cc\u0646\u0647 Create and manage API tokens \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" width=\"700\" height=\"384\" class=\"wp-image-3197 aligncenter\" src=\"http:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/word-image-1.png\" srcset=\"https:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/word-image-1.png 700w, https:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/word-image-1-300x165.png 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li>\u062f\u0631 \u0628\u062e\u0634 API Tokens \u0628\u0631 \u0631\u0648\u06cc Create API Token \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" width=\"700\" height=\"284\" class=\"wp-image-3198 aligncenter\" src=\"http:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/word-image-2.png\" srcset=\"https:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/word-image-2.png 700w, https:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/word-image-2-300x122.png 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li>Label \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0631 \u0631\u0648\u06cc Create \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" width=\"593\" height=\"477\" class=\"wp-image-3199 aligncenter\" src=\"http:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/word-image-3.png\" srcset=\"https:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/word-image-3.png 593w, https:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/word-image-3-300x241.png 300w\" sizes=\"(max-width: 593px) 100vw, 593px\" \/><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li>\u067e\u0633 \u0627\u0632 \u0627\u06cc\u062c\u0627\u062f \u062a\u0648\u06a9\u0646\u060c \u0622\u0646 \u0631\u0627 \u06a9\u067e\u06cc \u06a9\u0631\u062f\u0647 \u0648 \u062f\u0631 \u0645\u062d\u0644 \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p>\u0628\u0627 \u067e\u06cc\u0631\u0648\u06cc \u0627\u0632 \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644 \u0647\u0627\u06cc \u06af\u0627\u0645 \u0628\u0647 \u06af\u0627\u0645\u060c \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u06cc\u06a9 API Token \u062f\u0631 Jira \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u0646\u062f \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0628\u0631\u0627\u06cc \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0646\u0642\u0637\u0647 \u067e\u0627\u06cc\u0627\u0646\u06cc Jira REST API \u062f\u0631 \u0628\u0639\u0636\u06cc \u0627\u0632 \u0628\u062e\u0634 \u0647\u0627\u06cc \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 Selenium Jira \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u0648\u062f.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>\u0646\u062d\u0648\u0647 \u0627\u062a\u0635\u0627\u0644 Selenium \u0628\u0627 Jira \u0648 \u0639\u06cc\u0628 \u0647\u0627\u06cc \u0648\u0631\u0648\u062f \u0628\u0647 \u0633\u06cc\u0633\u062a\u0645 \u062f\u0631 \u062c\u06cc\u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Selenium<\/strong><\/h2>\n<p>&nbsp;<\/p>\n<p>\u0642\u0628\u0644 \u0627\u0632 \u0634\u0631\u0648\u0639 \u0639\u0645\u0644\u06cc\u0627\u062a \u0627\u062a\u0635\u0627\u0644 Selenium \u0628\u0627 Jira \u0646\u06cc\u0627\u0632 \u0628\u0647 \u06cc\u06a9 \u0633\u0631\u06cc \u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632 \u0647\u0627\u0633\u062a:<\/p>\n<ol>\n<li>\u0627\u0632 \u0642\u0628\u0644 EClipse IDE \u0646\u0635\u0628 \u0634\u062f\u0647 \u0628\u0627\u0634\u062f.<\/li>\n<li>Maven Project Set Up\u060c \u0627\u0632 \u0642\u0628\u0644 \u0645\u0648\u062c\u0648\u062f \u0628\u0627\u0634\u062f.<\/li>\n<\/ol>\n<p>\u067e\u0633 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0627\u0632 \u0646\u0635\u0628 \u0628\u0648\u062f\u0646 \u0648 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0628\u0648\u062f\u0646 \u0645\u0648\u0627\u0631\u062f \u0628\u0627\u0644\u0627 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0631\u062f\u06cc\u062f\u060c \u0646\u0648\u0628\u062a \u0628\u0647 \u0628\u0631\u0631\u0633\u06cc \u0646\u062d\u0648\u0647 \u0627\u062f\u063a\u0627\u0645 Jira \u0628\u0627 Selenium \u0648 \u0639\u06cc\u0628 \u0647\u0627\u06cc \u0648\u0631\u0648\u062f \u0628\u0647 \u0633\u06cc\u0633\u062a\u0645 \u0645\u06cc \u0631\u0633\u062f.<\/p>\n<p>\u06af\u0627\u0645 \u0627\u0648\u0644 : \u0627\u0641\u0632\u0648\u062f\u0646 Dependency \u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u062f\u0631 pom.xml<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0627\u062f\u063a\u0627\u0645 Jira \u0628\u0627 Selenium\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0647 \u0633\u0627\u062f\u06af\u06cc \u0627\u0632 rcarz Jira-client \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. rcarz Jira-client \u06cc\u06a9 \u0628\u0633\u062a\u0647 \u0628\u0646\u062f\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 \u0628\u0627\u0644\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 Jira Rest Api Client \u0633\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p>&nbsp;<\/p>\n<p>\u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u062e\u0648\u062f \u0628\u0647 pom.xml \u0628\u0631\u0648\u06cc\u062f \u0648 dependency \u0647\u0627\u06cc \u0632\u06cc\u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<p style=\"text-align: left;\"><strong>&lt;dependency&gt;<\/strong><\/p>\n<p style=\"text-align: left;\"><strong>&lt;groupId&gt;net.rcarz&lt;\/groupId&gt;<\/strong><\/p>\n<p style=\"text-align: left;\"><strong>&lt;artifactId&gt;Jira-client&lt;\/artifactId&gt;<\/strong><\/p>\n<p style=\"text-align: left;\"><strong>&lt;version&gt;0.5&lt;\/version&gt;<\/strong><\/p>\n<p style=\"text-align: left;\"><strong>&lt;scope&gt;compile&lt;\/scope&gt;<\/strong><\/p>\n<p style=\"text-align: left;\"><strong>&lt;\/dependency&gt;<\/strong><\/p>\n<h4>\u06af\u0627\u0645 \u062f\u0648\u0645 : \u0627\u06cc\u062c\u0627\u062f \u062a\u0633\u062a \u0647\u0627\u06cc \u0627\u0648\u0644\u06cc\u0647 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Selenium \u0648 \u062c\u0627\u0648\u0627<\/h4>\n<p>&nbsp;<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0642\u0633\u0645\u062a \u0686\u0646\u062f \u062a\u0633\u062a \u0627\u0633\u0627\u0633\u06cc \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u06cc\u06a9\u06cc \u0642\u0628\u0648\u0644 \u0645\u06cc\u0634\u0648\u062f \u0648 \u062f\u06cc\u06af\u0631\u06cc \u0642\u0628\u0648\u0644 \u0646\u0645\u06cc\u0634\u0648\u062f.<\/p>\n<p>\u062a\u0633\u062a \u0647\u0627\u06cc \u0632\u06cc\u0631 \u062a\u062d\u062a \u067e\u06a9\u06cc\u062c com.demo.project \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" width=\"295\" height=\"97\" class=\"wp-image-3200 aligncenter\" src=\"http:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/word-image-4.png\" \/><\/p>\n<p>&nbsp;<\/p>\n<h4>\u0633\u0648\u0631\u0633 \u06a9\u062f : HomePageTest.java<\/h4>\n<p>&nbsp;<\/p>\n<p dir=\"ltr\"><strong>\/\/ HomePageTest.java<\/strong><\/p>\n<p dir=\"ltr\"><strong>package com.demo.project;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import static org.testng.Assert.assertEquals;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import static org.testng.Assert.assertTrue;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import java.io.File;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import java.util.concurrent.TimeUnit;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import org.openqa.selenium.By;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import org.openqa.selenium.WebDriver;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import org.openqa.selenium.WebElement;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import org.openqa.selenium.chrome.ChromeDriver;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import org.testng.annotations.AfterClass;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import org.testng.annotations.BeforeClass;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import org.testng.annotations.Test;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import com.demo.utility.JiraCreateIssue;<\/strong><\/p>\n<p dir=\"ltr\"><strong>public class HomePageTest {<\/strong><\/p>\n<p dir=\"ltr\"><strong>private WebDriver driver;<\/strong><\/p>\n<p dir=\"ltr\"><strong>private String baseUrl;<\/strong><\/p>\n<p dir=\"ltr\"><strong>@BeforeClass(alwaysRun = true)<\/strong><\/p>\n<p dir=\"ltr\"><strong>public void setUp() throws Exception {<\/strong><\/p>\n<p dir=\"ltr\"><strong>File chromedriverExecutable = new File(&#8220;driver\/chromedriver.exe&#8221;);<\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>System.setProperty(&#8220;webdriver.chrome.driver&#8221;, chromedriverExecutable.getAbsolutePath());<\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>driver = new ChromeDriver();<\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>baseUrl = &#8220;https:\/\/www.browserstack.com\/&#8221;;<\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);<\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>}<\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>\/\/Custom annotation explained in following sections<\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>@JiraCreateIssue(isCreateIssue=true)<\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>@Test<\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>public void verifyHomepageHeaderText() throws Exception {<\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>driver.get(baseUrl);<\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>WebElement el = driver.findElement(By.xpath(&#8220;\/\/h1[1]&#8221;));<\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>assertEquals(el.getText(), &#8220;Browser Testing Made Easy&#8221;,&#8221;Wrong header text displayed in Home page&#8221;);<\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>}<\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\">\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>@JiraCreateIssue(isCreateIssue=true)<\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>@Test<\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>public void verifyHomePageLogo() throws Exception {<\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>driver.get(baseUrl);<\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>WebElement el = driver.findElement(By.id(&#8220;logo&#8221;));<\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>assertTrue(el.isDisplayed(),&#8221;The browserstack logo not displaying in home page&#8221;);<\/strong><\/p>\n<p dir=\"ltr\"><strong>}<\/strong><\/p>\n<p dir=\"ltr\"><strong>@AfterClass(alwaysRun = true)<\/strong><\/p>\n<p dir=\"ltr\"><strong>public void tearDown() throws Exception {<\/strong><\/p>\n<p dir=\"ltr\"><strong>driver.quit();<\/strong><\/p>\n<p dir=\"ltr\"><strong>}<\/strong><\/p>\n<p dir=\"ltr\"><strong>}<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>\u0645\u062b\u0627\u0644 :<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" width=\"1337\" height=\"787\" class=\"wp-image-3201 aligncenter\" src=\"http:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/word-image-5.png\" srcset=\"https:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/word-image-5.png 1337w, https:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/word-image-5-300x177.png 300w, https:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/word-image-5-1024x603.png 1024w, https:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/word-image-5-768x452.png 768w\" sizes=\"(max-width: 1337px) 100vw, 1337px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3>\u06af\u0627\u0645 \u0633\u0648\u0645 : \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0627\u0628\u0632\u0627\u0631 \u0628\u0631\u0627\u06cc \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 Jira issue<\/h3>\n<p>&nbsp;<\/p>\n<ol>\n<li>\u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u067e\u06a9\u06cc\u062c \u062f\u0631 \u067e\u0648\u0634\u0647 \u0627\u0635\u0644\u06cc com.demo.utility \u06a9\u0647 \u0634\u0627\u0645\u0644 \u062f\u0648 \u06a9\u0644\u0627\u0633 \u0632\u06cc\u0631 \u0628\u0627\u0634\u062f:<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" width=\"355\" height=\"116\" class=\"wp-image-3202 aligncenter\" src=\"http:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/word-image-6.png\" srcset=\"https:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/word-image-6.png 355w, https:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/word-image-6-300x98.png 300w\" sizes=\"(max-width: 355px) 100vw, 355px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h4>\u0633\u0648\u0631\u0633 \u06a9\u062f : <strong>JiraServiceProvider.java<\/strong><\/h4>\n<p>&nbsp;<\/p>\n<p dir=\"ltr\"><strong>\/\/ JiraServiceProvider.java<\/strong><\/p>\n<p dir=\"ltr\"><strong>package com.demo.utility;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import net.rcarz.Jiraclient.BasicCredentials;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import net.rcarz.Jiraclient.Field;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import net.rcarz.Jiraclient.Issue;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import net.rcarz.Jiraclient.Issue.FluentCreate;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import net.rcarz.Jiraclient.JiraClient;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import net.rcarz.Jiraclient.JiraException;<\/strong><\/p>\n<p dir=\"ltr\"><strong>public class JiraServiceProvider {<\/strong><\/p>\n<p dir=\"ltr\"><strong>private JiraClient Jira;<\/strong><\/p>\n<p dir=\"ltr\"><strong>private String project;<\/strong><\/p>\n<p dir=\"ltr\"><strong>private String JiraUrl;<\/strong><\/p>\n<p dir=\"ltr\"><strong>public JiraServiceProvider(String JiraUrl, String username, String password, String project) {<\/strong><\/p>\n<p dir=\"ltr\"><strong>this.JiraUrl=JiraUrl;<\/strong><\/p>\n<p dir=\"ltr\"><strong>\/\/ create basic authentication object<\/strong><\/p>\n<p dir=\"ltr\"><strong>BasicCredentials creds = new BasicCredentials(username, password);<\/strong><\/p>\n<p dir=\"ltr\"><strong>\/\/ initialize the Jira client with the url and the credentials<\/strong><\/p>\n<p dir=\"ltr\"><strong>Jira = new JiraClient(JiraUrl, creds);<\/strong><\/p>\n<p dir=\"ltr\"><strong>this.project = project;<\/strong><\/p>\n<p dir=\"ltr\"><strong>}<\/strong><\/p>\n<p dir=\"ltr\"><strong>public void createJiraIssue(String issueType, String summary, String description, String reporterName) {<\/strong><\/p>\n<p dir=\"ltr\"><strong>try {<\/strong><\/p>\n<p dir=\"ltr\"><strong>\/\/Avoid Creating Duplicate Issue<\/strong><\/p>\n<p dir=\"ltr\"><strong>Issue.SearchResult sr = Jira.searchIssues(&#8220;summary ~ \\&#8221;&#8221;+summary+&#8221;\\&#8221;&#8221;);<\/strong><\/p>\n<p dir=\"ltr\"><strong>if(sr.total!=0) {<\/strong><\/p>\n<p dir=\"ltr\"><strong>System.out.println(&#8220;Same Issue Already Exists on Jira&#8221;);<\/strong><\/p>\n<p dir=\"ltr\"><strong>return;<\/strong><\/p>\n<p dir=\"ltr\"><strong>}<\/strong><\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\"><strong>\/\/Create issue if not exists<\/strong><\/p>\n<p dir=\"ltr\"><strong>FluentCreate fleuntCreate = Jira.createIssue(project, issueType);<\/strong><\/p>\n<p dir=\"ltr\"><strong>fleuntCreate.field(Field.SUMMARY, summary);<\/strong><\/p>\n<p dir=\"ltr\"><strong>fleuntCreate.field(Field.DESCRIPTION, description);<\/strong><\/p>\n<p dir=\"ltr\"><strong>Issue newIssue = fleuntCreate.execute();<\/strong><\/p>\n<p dir=\"ltr\"><strong>System.out.println(&#8220;********************************************&#8221;);<\/strong><\/p>\n<p dir=\"ltr\"><strong>System.out.println(&#8220;New issue created in Jira with ID: &#8221; + newIssue);<\/strong><\/p>\n<p dir=\"ltr\"><strong>System.out.println(&#8220;New issue URL is :&#8221;+JiraUrl+&#8221;\/browse\/&#8221;+newIssue);<\/strong><\/p>\n<p dir=\"ltr\"><strong>System.out.println(&#8220;*******************************************&#8221;);<\/strong><\/p>\n<p dir=\"ltr\"><strong>} catch (JiraException e) {<\/strong><\/p>\n<p dir=\"ltr\"><strong>e.printStackTrace();<\/strong><\/p>\n<p dir=\"ltr\"><strong>}<\/strong><\/p>\n<p dir=\"ltr\"><strong>}<\/strong><\/p>\n<p dir=\"ltr\"><strong>}<\/strong><\/p>\n<p>&nbsp;<\/p>\n<h4>\u0633\u0648\u0631\u0633 \u06a9\u062f : <strong>JiraCreateIssue.java<\/strong><\/h4>\n<p>&nbsp;<\/p>\n<p dir=\"ltr\"><strong>\/\/ JiraCreateIssue.java<\/strong><\/p>\n<p dir=\"ltr\"><strong>package com.demo.utility;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import java.lang.annotation.RetentionPolicy;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import java.lang.annotation.Retention;<\/strong><\/p>\n<p dir=\"ltr\"><strong>@Retention(RetentionPolicy.RUNTIME)<\/strong><\/p>\n<p dir=\"ltr\"><strong>public @interface JiraCreateIssue {<\/strong><\/p>\n<p dir=\"ltr\"><strong>boolean isCreateIssue();<\/strong><\/p>\n<p dir=\"ltr\"><strong>}<\/strong><\/p>\n<p>&nbsp;<\/p>\n<h4>\u06af\u0627\u0645 \u0686\u0647\u0627\u0631\u0645 : \u0627\u06cc\u062c\u0627\u062f Listener \u0628\u0631\u0627\u06cc \u0627\u0637\u0644\u0627\u0639 \u0627\u0632 \u0634\u06a9\u0633\u062a \u0647\u0627\u06cc \u062a\u0633\u062a \u0647\u0627<\/h4>\n<p>&nbsp;<\/p>\n<p>\u06cc\u06a9 \u0634\u0646\u0648\u0646\u062f\u0647 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0647\u0631 \u0628\u0627\u0631 \u06a9\u0647 \u06cc\u06a9 \u0622\u0632\u0645\u0627\u06cc\u0634 \u0634\u06a9\u0633\u062a \u0645\u06cc \u062e\u0648\u0631\u062f \u060c \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0631\u0648\u0634 \u0634\u0645\u0627\u0631\u0647 Jira \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0634\u0646\u0648\u0646\u062f\u0647 \u062e\u0637\u0627\u0647\u0627\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634 \u0631\u0627 \u067e\u06cc\u06af\u06cc\u0631\u06cc \u0645\u06cc \u06a9\u0646\u062f \u0648 \u06a9\u062f \u0645\u0634\u062e\u0635\u06cc \u0631\u0627 \u0627\u062c\u0631\u0627 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" width=\"246\" height=\"72\" class=\"wp-image-3203 aligncenter\" src=\"http:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/word-image-7.png\" \/><\/p>\n<p>&nbsp;<\/p>\n<h4>\u0633\u0648\u0631\u0633 \u06a9\u062f : <strong>TestListener.java<\/strong><\/h4>\n<p>&nbsp;<\/p>\n<p dir=\"ltr\"><strong>\/\/TestListener.java<\/strong><\/p>\n<p dir=\"ltr\"><strong>package com.demo.listener;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import org.apache.commons.lang.exception.ExceptionUtils;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import org.testng.ITestContext;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import org.testng.ITestListener;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import org.testng.ITestResult;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import com.demo.utility.JiraCreateIssue;<\/strong><\/p>\n<p dir=\"ltr\"><strong>import com.demo.utility.JiraServiceProvider;<\/strong><\/p>\n<p dir=\"ltr\"><strong>public class TestListener implements ITestListener {<\/strong><\/p>\n<p dir=\"ltr\"><strong>@Override<\/strong><\/p>\n<p dir=\"ltr\"><strong>public void onTestFailure(ITestResult result) {<\/strong><\/p>\n<p dir=\"ltr\"><strong>boolean islogIssue = result.getMethod().getConstructorOrMethod().getMethod().getAnnotation(JiraCreateIssue.class).isCreateIssue();<\/strong><\/p>\n<p dir=\"ltr\"><strong>if (islogIssue) {<\/strong><\/p>\n<p dir=\"ltr\"><strong>\/\/Provide proper Jira project URL ex: https:\/\/browsertack.atlassian.net<\/strong><\/p>\n<p dir=\"ltr\"><strong>\/\/Jira User name ex: browserstack@gmail.com<\/strong><\/p>\n<p dir=\"ltr\"><strong>\/\/API token copy from Jira dashboard ex: lorelimpusm12uijk<\/strong><\/p>\n<p dir=\"ltr\"><strong>\/\/Project key should be, Short name ex: BS<\/strong><\/p>\n<p dir=\"ltr\"><strong>JiraServiceProvider JiraServiceProvider = new JiraServiceProvider(&#8220;https:\/\/example.atlassian.net&#8221;,<\/strong><\/p>\n<p dir=\"ltr\"><strong>&#8220;example@gmail.com&#8221;, &#8220;lorelimpusm12uijk&#8221;, &#8220;BS&#8221;);<\/strong><\/p>\n<p dir=\"ltr\"><strong>String issueDescription = &#8220;Failure Reason from Automation Testing\\n\\n&#8221; + result.getThrowable().getMessage()<\/strong><\/p>\n<p dir=\"ltr\"><strong>+ &#8220;\\n&#8221;;<\/strong><\/p>\n<p dir=\"ltr\"><strong>issueDescription.concat(ExceptionUtils.getFullStackTrace(result.getThrowable()));<\/strong><\/p>\n<p dir=\"ltr\"><strong>String issueSummary = result.getMethod().getConstructorOrMethod().getMethod().getName()<\/strong><\/p>\n<p dir=\"ltr\"><strong>+ &#8221; Failed in Automation Testing&#8221;;<\/strong><\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\"><strong>JiraServiceProvider.createJiraIssue(&#8220;Bug&#8221;, issueSummary, issueDescription, &#8220;Automated Testing&#8221;);<\/strong><\/p>\n<p dir=\"ltr\"><strong>}<\/strong><\/p>\n<p dir=\"ltr\"><strong>}<\/strong><\/p>\n<p dir=\"ltr\"><strong>@Override<\/strong><\/p>\n<p dir=\"ltr\"><strong>public void onTestSkipped(ITestResult result) {<\/strong><\/p>\n<p dir=\"ltr\"><strong>\/\/ TODO Auto-generated method stub<\/strong><\/p>\n<p dir=\"ltr\"><strong>}<\/strong><\/p>\n<p dir=\"ltr\"><strong>@Override<\/strong><\/p>\n<p dir=\"ltr\"><strong>public void onTestFailedButWithinSuccessPercentage(ITestResult result) {<\/strong><\/p>\n<p dir=\"ltr\"><strong>\/\/ TODO Auto-generated method stub<\/strong><\/p>\n<p dir=\"ltr\"><strong>}<\/strong><\/p>\n<p dir=\"ltr\"><strong>@Override<\/strong><\/p>\n<p dir=\"ltr\"><strong>public void onStart(ITestContext context) {<\/strong><\/p>\n<p dir=\"ltr\"><strong>\/\/ TODO Auto-generated method stub<\/strong><\/p>\n<p dir=\"ltr\"><strong>}<\/strong><\/p>\n<p dir=\"ltr\"><strong>@Override<\/strong><\/p>\n<p dir=\"ltr\"><strong>public void onFinish(ITestContext context) {<\/strong><\/p>\n<p dir=\"ltr\"><strong>\/\/ TODO Auto-generated method stub<\/strong><\/p>\n<p dir=\"ltr\"><strong>}<\/strong><\/p>\n<p dir=\"ltr\"><strong>@Override<\/strong><\/p>\n<p dir=\"ltr\"><strong>public void onTestStart(ITestResult result) {<\/strong><\/p>\n<p dir=\"ltr\"><strong>\/\/ TODO Auto-generated method stub<\/strong><\/p>\n<p dir=\"ltr\"><strong>}<\/strong><\/p>\n<p dir=\"ltr\"><strong>@Override<\/strong><\/p>\n<p dir=\"ltr\"><strong>public void onTestSuccess(ITestResult result) {<\/strong><\/p>\n<p dir=\"ltr\"><strong>\/\/ TODO Auto-generated method stub<\/strong><\/p>\n<p dir=\"ltr\"><strong>}<\/strong><\/p>\n<p dir=\"ltr\"><strong>}<\/strong><\/p>\n<p>&nbsp;<\/p>\n<h4>\u0642\u062f\u0645 \u067e\u0646\u062c\u0645 : \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0641\u0627\u06cc\u0644 testng.xml<\/h4>\n<p>&nbsp;<\/p>\n<p>\u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u062a\u0645\u0627\u0645 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0644\u0627\u0632\u0645 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0627\u062f\u06cc\u0645 \u060c \u0628\u0627\u06cc\u062f \u06cc\u06a9 \u0641\u0627\u06cc\u0644 testng.xml \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u0645 \u062a\u0627 \u0622\u0632\u0645\u0627\u06cc\u0634\u0627\u062a \u0645\u0627 \u0627\u062c\u0631\u0627 \u0634\u0648\u062f. \u0646\u0645\u0648\u0646\u0647 \u0641\u0627\u06cc\u0644 xml \u0645\u0627 \u0645\u0627\u0646\u0646\u062f \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0627\u0633\u062a.<\/p>\n<p>&nbsp;<\/p>\n<h4>\u0633\u0648\u0631\u0633 \u06a9\u062f : \u0646\u0645\u0648\u0646\u0647 \u0641\u0627\u06cc\u0644 testng.xml<\/h4>\n<p>&nbsp;<\/p>\n<p dir=\"ltr\"><strong>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<\/strong><\/p>\n<p dir=\"ltr\"><strong>&lt;suite name=&#8221;Default suite&#8221; parallel=&#8221;methods&#8221; verbose=&#8221;3&#8243;&gt;<\/strong><\/p>\n<p dir=\"ltr\"><strong>&lt;listeners&gt;<\/strong><\/p>\n<p dir=\"ltr\"><strong>&lt;listener class-name=&#8221;com.demo.listener.TestListener&#8221; \/&gt;<\/strong><\/p>\n<p dir=\"ltr\"><strong>&lt;\/listeners&gt;<\/strong><\/p>\n<p dir=\"ltr\"><strong>&lt;test name=&#8221; First test&#8221; skipfailedinvocationcounts=&#8221;false&#8221;&gt;<\/strong><\/p>\n<p dir=\"ltr\"><strong>&lt;classes&gt;<\/strong><\/p>\n<p dir=\"ltr\"><strong>&lt;class name=&#8221;com.demo.project.HomePageTest&#8221;&gt;<\/strong><\/p>\n<p dir=\"ltr\"><strong>&lt;\/class&gt;<\/strong><\/p>\n<p dir=\"ltr\"><strong>&lt;\/classes&gt;<\/strong><\/p>\n<p dir=\"ltr\"><strong>&lt;\/test&gt;<\/strong><\/p>\n<p dir=\"ltr\"><strong>&lt;\/suite&gt;<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Selenium \u06cc\u06a9\u06cc \u0627\u0632 \u0645\u062d\u0628\u0648\u0628 \u062a\u0631\u06cc\u0646 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u0647\u0627\u06cc \u062a\u0633\u062a \u062e\u0648\u062f\u06a9\u0627\u0631 \u0633\u0627\u0632\u06cc \u062f\u0631 \u062c\u0647\u0627\u0646 \u0627\u0633\u062a. Selenium Webdriver \u0628\u0631\u0627\u06cc \u062a\u0633\u062a \u062e\u0648\u062f\u06a9\u0627\u0631 \u0633\u0627\u0632\u06cc \u062a\u0648\u0633\u0637 tester \u0647\u0627 \u06cc\u0627 \u062a\u0633\u062a \u06a9\u0646\u0646\u062f\u06af\u0627\u0646 \u062f\u0631 \u062a\u06cc\u0645 \u0647\u0627 \u0648 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627 \u0648 \u0628\u0647 \u062f\u0644\u0627\u06cc\u0644 \u062e\u0648\u0628 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f. Selenium \u0645\u0632\u0627\u06cc\u0627\u06cc \u0628\u0633\u06cc\u0627\u0631 \u0632\u06cc\u0627\u062f\u06cc \u062f\u0627\u0631\u062f. \u06cc\u06a9\u06cc \u0627\u0632 \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627\u06cc\u06cc \u06a9\u0647 Selenium \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 &hellip;<\/p>\n","protected":false},"author":4,"featured_media":3204,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[73],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v18.4 (Yoast SEO v18.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u0686\u06af\u0648\u0646\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646 Jira \u0631\u0627 \u0628\u0627 Selenium \u0627\u062f\u063a\u0627\u0645 \u06a9\u0631\u062f\u061f | \u0622\u0645\u0648\u0632\u0634 \u0631\u0627\u0628\u0633\u0627\u0646\u0627<\/title>\n<meta name=\"description\" content=\"\u062a\u0639\u0631\u06cc\u0641 Jira \u0648 Selenium \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u062a\u0648\u0636\u06cc\u062d \u06a9\u0627\u0645\u0644 \u0648 \u06af\u0627\u0645 \u0628\u0647 \u06af\u0627\u0645 \u0646\u062d\u0648\u0647 \u0627\u062f\u063a\u0627\u0645 \u0622\u0646 \u0647\u0627 \u0628\u0627 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0648 \u0639\u06cc\u0628 \u0647\u0627\u06cc \u0648\u0631\u0648\u062f \u0628\u0647 \u0633\u06cc\u0633\u062a\u0645 \u062f\u0631 \u062c\u06cc\u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0633\u0644\u0646\u06cc\u0648\u0645\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/\" \/>\n<meta property=\"og:locale\" content=\"fa_IR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0686\u06af\u0648\u0646\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646 Jira \u0631\u0627 \u0628\u0627 Selenium \u0627\u062f\u063a\u0627\u0645 \u06a9\u0631\u062f\u061f\" \/>\n<meta property=\"og:description\" content=\"\u062a\u0639\u0631\u06cc\u0641 Jira \u0648 Selenium \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u062a\u0648\u0636\u06cc\u062d \u06a9\u0627\u0645\u0644 \u0648 \u06af\u0627\u0645 \u0628\u0647 \u06af\u0627\u0645 \u0646\u062d\u0648\u0647 \u0627\u062f\u063a\u0627\u0645 \u0622\u0646 \u0647\u0627 \u0628\u0627 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0648 \u0639\u06cc\u0628 \u0647\u0627\u06cc \u0648\u0631\u0648\u062f \u0628\u0647 \u0633\u06cc\u0633\u062a\u0645 \u062f\u0631 \u062c\u06cc\u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0633\u0644\u0646\u06cc\u0648\u0645\" \/>\n<meta property=\"og:url\" content=\"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/\" \/>\n<meta property=\"og:site_name\" content=\"\u0622\u0645\u0648\u0632\u0634 \u0631\u0627\u0628\u0633\u0627\u0646\u0627\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-04T16:30:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-10-06T04:43:18+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/How-to-integrate-Jira-with-Selenium.webp\" \/>\n<meta name=\"twitter:label1\" content=\"\u0646\u0648\u0634\u062a\u0647\u200c\u0634\u062f\u0647 \u0628\u062f\u0633\u062a\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u0645\u0647\u0633\u0627 \u0645\u062d\u0645\u062f\u06cc\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u0632\u0645\u0627\u0646 \u062a\u0642\u0631\u06cc\u0628\u06cc \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 \u062f\u0642\u06cc\u0642\u0647\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/rabsana.ir\/tutorials\/#\/schema\/person\/4ae2a08dbbdf43f1d2e6fe967155aa4b\",\"name\":\"bagher rezvan\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/rabsana.ir\/tutorials\/#personlogo\",\"inLanguage\":\"fa-IR\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/43c698432e5f8e000d945d3945e15b50?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/43c698432e5f8e000d945d3945e15b50?s=96&d=mm&r=g\",\"caption\":\"bagher rezvan\"},\"logo\":{\"@id\":\"https:\/\/rabsana.ir\/tutorials\/#personlogo\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/rabsana.ir\/tutorials\/#website\",\"url\":\"https:\/\/rabsana.ir\/tutorials\/\",\"name\":\"\u0622\u0645\u0648\u0632\u0634 \u0631\u0627\u0628\u0633\u0627\u0646\u0627\",\"description\":\"\u0622\u0645\u0648\u0632\u0634 \u0647\u0627\u06cc \u062a\u062e\u0635\u0635\u06cc \u0634\u0631\u06a9\u062a \u0637\u0631\u0627\u062d\u06cc \u0633\u0627\u06cc\u062a \u0631\u0627\u0628\u0633\u0627\u0646\u0627\",\"publisher\":{\"@id\":\"https:\/\/rabsana.ir\/tutorials\/#\/schema\/person\/4ae2a08dbbdf43f1d2e6fe967155aa4b\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/rabsana.ir\/tutorials\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fa-IR\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/#primaryimage\",\"inLanguage\":\"fa-IR\",\"url\":\"https:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/How-to-integrate-Jira-with-Selenium.webp\",\"contentUrl\":\"https:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/How-to-integrate-Jira-with-Selenium.webp\",\"width\":1200,\"height\":360,\"caption\":\"\u0627\u062f\u063a\u0627\u0645 Jira \u0628\u0627 Selenium\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/#webpage\",\"url\":\"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/\",\"name\":\"\u0686\u06af\u0648\u0646\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646 Jira \u0631\u0627 \u0628\u0627 Selenium \u0627\u062f\u063a\u0627\u0645 \u06a9\u0631\u062f\u061f | \u0622\u0645\u0648\u0632\u0634 \u0631\u0627\u0628\u0633\u0627\u0646\u0627\",\"isPartOf\":{\"@id\":\"https:\/\/rabsana.ir\/tutorials\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/#primaryimage\"},\"datePublished\":\"2021-10-04T16:30:10+00:00\",\"dateModified\":\"2021-10-06T04:43:18+00:00\",\"description\":\"\u062a\u0639\u0631\u06cc\u0641 Jira \u0648 Selenium \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u062a\u0648\u0636\u06cc\u062d \u06a9\u0627\u0645\u0644 \u0648 \u06af\u0627\u0645 \u0628\u0647 \u06af\u0627\u0645 \u0646\u062d\u0648\u0647 \u0627\u062f\u063a\u0627\u0645 \u0622\u0646 \u0647\u0627 \u0628\u0627 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0648 \u0639\u06cc\u0628 \u0647\u0627\u06cc \u0648\u0631\u0648\u062f \u0628\u0647 \u0633\u06cc\u0633\u062a\u0645 \u062f\u0631 \u062c\u06cc\u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0633\u0644\u0646\u06cc\u0648\u0645\",\"breadcrumb\":{\"@id\":\"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/#breadcrumb\"},\"inLanguage\":\"fa-IR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u062e\u0627\u0646\u0647\",\"item\":\"https:\/\/rabsana.ir\/tutorials\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0686\u06af\u0648\u0646\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646 Jira \u0631\u0627 \u0628\u0627 Selenium \u0627\u062f\u063a\u0627\u0645 \u06a9\u0631\u062f\u061f\"}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/#webpage\"},\"author\":{\"@id\":\"https:\/\/rabsana.ir\/tutorials\/#\/schema\/person\/f95a0ac81e3ccf2f7b115822a7a815cd\"},\"headline\":\"\u0686\u06af\u0648\u0646\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646 Jira \u0631\u0627 \u0628\u0627 Selenium \u0627\u062f\u063a\u0627\u0645 \u06a9\u0631\u062f\u061f\",\"datePublished\":\"2021-10-04T16:30:10+00:00\",\"dateModified\":\"2021-10-06T04:43:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/#webpage\"},\"wordCount\":865,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/rabsana.ir\/tutorials\/#\/schema\/person\/4ae2a08dbbdf43f1d2e6fe967155aa4b\"},\"image\":{\"@id\":\"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/How-to-integrate-Jira-with-Selenium.webp\",\"articleSection\":[\"\u0622\u062e\u0631\u06cc\u0646 \u062a\u06a9\u0646\u0648\u0644\u0648\u0698\u06cc \u0647\u0627\u06cc \u06a9\u0627\u0645\u067e\u06cc\u0648\u062a\u0631\"],\"inLanguage\":\"fa-IR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/#respond\"]}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/rabsana.ir\/tutorials\/#\/schema\/person\/f95a0ac81e3ccf2f7b115822a7a815cd\",\"name\":\"\u0645\u0647\u0633\u0627 \u0645\u062d\u0645\u062f\u06cc\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/rabsana.ir\/tutorials\/#personlogo\",\"inLanguage\":\"fa-IR\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0910931d9fb93b2b6b0627aa03c9f1c6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0910931d9fb93b2b6b0627aa03c9f1c6?s=96&d=mm&r=g\",\"caption\":\"\u0645\u0647\u0633\u0627 \u0645\u062d\u0645\u062f\u06cc\"},\"url\":\"https:\/\/rabsana.ir\/tutorials\/author\/mahsa-mhmdi\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u0686\u06af\u0648\u0646\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646 Jira \u0631\u0627 \u0628\u0627 Selenium \u0627\u062f\u063a\u0627\u0645 \u06a9\u0631\u062f\u061f | \u0622\u0645\u0648\u0632\u0634 \u0631\u0627\u0628\u0633\u0627\u0646\u0627","description":"\u062a\u0639\u0631\u06cc\u0641 Jira \u0648 Selenium \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u062a\u0648\u0636\u06cc\u062d \u06a9\u0627\u0645\u0644 \u0648 \u06af\u0627\u0645 \u0628\u0647 \u06af\u0627\u0645 \u0646\u062d\u0648\u0647 \u0627\u062f\u063a\u0627\u0645 \u0622\u0646 \u0647\u0627 \u0628\u0627 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0648 \u0639\u06cc\u0628 \u0647\u0627\u06cc \u0648\u0631\u0648\u062f \u0628\u0647 \u0633\u06cc\u0633\u062a\u0645 \u062f\u0631 \u062c\u06cc\u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0633\u0644\u0646\u06cc\u0648\u0645","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/","og_locale":"fa_IR","og_type":"article","og_title":"\u0686\u06af\u0648\u0646\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646 Jira \u0631\u0627 \u0628\u0627 Selenium \u0627\u062f\u063a\u0627\u0645 \u06a9\u0631\u062f\u061f","og_description":"\u062a\u0639\u0631\u06cc\u0641 Jira \u0648 Selenium \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u062a\u0648\u0636\u06cc\u062d \u06a9\u0627\u0645\u0644 \u0648 \u06af\u0627\u0645 \u0628\u0647 \u06af\u0627\u0645 \u0646\u062d\u0648\u0647 \u0627\u062f\u063a\u0627\u0645 \u0622\u0646 \u0647\u0627 \u0628\u0627 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0648 \u0639\u06cc\u0628 \u0647\u0627\u06cc \u0648\u0631\u0648\u062f \u0628\u0647 \u0633\u06cc\u0633\u062a\u0645 \u062f\u0631 \u062c\u06cc\u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0633\u0644\u0646\u06cc\u0648\u0645","og_url":"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/","og_site_name":"\u0622\u0645\u0648\u0632\u0634 \u0631\u0627\u0628\u0633\u0627\u0646\u0627","article_published_time":"2021-10-04T16:30:10+00:00","article_modified_time":"2021-10-06T04:43:18+00:00","twitter_card":"summary_large_image","twitter_image":"https:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/How-to-integrate-Jira-with-Selenium.webp","twitter_misc":{"\u0646\u0648\u0634\u062a\u0647\u200c\u0634\u062f\u0647 \u0628\u062f\u0633\u062a":"\u0645\u0647\u0633\u0627 \u0645\u062d\u0645\u062f\u06cc","\u0632\u0645\u0627\u0646 \u062a\u0642\u0631\u06cc\u0628\u06cc \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646":"8 \u062f\u0642\u06cc\u0642\u0647"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Person","Organization"],"@id":"https:\/\/rabsana.ir\/tutorials\/#\/schema\/person\/4ae2a08dbbdf43f1d2e6fe967155aa4b","name":"bagher rezvan","image":{"@type":"ImageObject","@id":"https:\/\/rabsana.ir\/tutorials\/#personlogo","inLanguage":"fa-IR","url":"https:\/\/secure.gravatar.com\/avatar\/43c698432e5f8e000d945d3945e15b50?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/43c698432e5f8e000d945d3945e15b50?s=96&d=mm&r=g","caption":"bagher rezvan"},"logo":{"@id":"https:\/\/rabsana.ir\/tutorials\/#personlogo"}},{"@type":"WebSite","@id":"https:\/\/rabsana.ir\/tutorials\/#website","url":"https:\/\/rabsana.ir\/tutorials\/","name":"\u0622\u0645\u0648\u0632\u0634 \u0631\u0627\u0628\u0633\u0627\u0646\u0627","description":"\u0622\u0645\u0648\u0632\u0634 \u0647\u0627\u06cc \u062a\u062e\u0635\u0635\u06cc \u0634\u0631\u06a9\u062a \u0637\u0631\u0627\u062d\u06cc \u0633\u0627\u06cc\u062a \u0631\u0627\u0628\u0633\u0627\u0646\u0627","publisher":{"@id":"https:\/\/rabsana.ir\/tutorials\/#\/schema\/person\/4ae2a08dbbdf43f1d2e6fe967155aa4b"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/rabsana.ir\/tutorials\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fa-IR"},{"@type":"ImageObject","@id":"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/#primaryimage","inLanguage":"fa-IR","url":"https:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/How-to-integrate-Jira-with-Selenium.webp","contentUrl":"https:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/How-to-integrate-Jira-with-Selenium.webp","width":1200,"height":360,"caption":"\u0627\u062f\u063a\u0627\u0645 Jira \u0628\u0627 Selenium"},{"@type":"WebPage","@id":"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/#webpage","url":"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/","name":"\u0686\u06af\u0648\u0646\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646 Jira \u0631\u0627 \u0628\u0627 Selenium \u0627\u062f\u063a\u0627\u0645 \u06a9\u0631\u062f\u061f | \u0622\u0645\u0648\u0632\u0634 \u0631\u0627\u0628\u0633\u0627\u0646\u0627","isPartOf":{"@id":"https:\/\/rabsana.ir\/tutorials\/#website"},"primaryImageOfPage":{"@id":"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/#primaryimage"},"datePublished":"2021-10-04T16:30:10+00:00","dateModified":"2021-10-06T04:43:18+00:00","description":"\u062a\u0639\u0631\u06cc\u0641 Jira \u0648 Selenium \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u062a\u0648\u0636\u06cc\u062d \u06a9\u0627\u0645\u0644 \u0648 \u06af\u0627\u0645 \u0628\u0647 \u06af\u0627\u0645 \u0646\u062d\u0648\u0647 \u0627\u062f\u063a\u0627\u0645 \u0622\u0646 \u0647\u0627 \u0628\u0627 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0648 \u0639\u06cc\u0628 \u0647\u0627\u06cc \u0648\u0631\u0648\u062f \u0628\u0647 \u0633\u06cc\u0633\u062a\u0645 \u062f\u0631 \u062c\u06cc\u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0633\u0644\u0646\u06cc\u0648\u0645","breadcrumb":{"@id":"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/#breadcrumb"},"inLanguage":"fa-IR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u062e\u0627\u0646\u0647","item":"https:\/\/rabsana.ir\/tutorials\/"},{"@type":"ListItem","position":2,"name":"\u0686\u06af\u0648\u0646\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646 Jira \u0631\u0627 \u0628\u0627 Selenium \u0627\u062f\u063a\u0627\u0645 \u06a9\u0631\u062f\u061f"}]},{"@type":"Article","@id":"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/#article","isPartOf":{"@id":"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/#webpage"},"author":{"@id":"https:\/\/rabsana.ir\/tutorials\/#\/schema\/person\/f95a0ac81e3ccf2f7b115822a7a815cd"},"headline":"\u0686\u06af\u0648\u0646\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646 Jira \u0631\u0627 \u0628\u0627 Selenium \u0627\u062f\u063a\u0627\u0645 \u06a9\u0631\u062f\u061f","datePublished":"2021-10-04T16:30:10+00:00","dateModified":"2021-10-06T04:43:18+00:00","mainEntityOfPage":{"@id":"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/#webpage"},"wordCount":865,"commentCount":0,"publisher":{"@id":"https:\/\/rabsana.ir\/tutorials\/#\/schema\/person\/4ae2a08dbbdf43f1d2e6fe967155aa4b"},"image":{"@id":"https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/#primaryimage"},"thumbnailUrl":"https:\/\/rabsana.ir\/tutorials\/wp-content\/uploads\/2021\/10\/How-to-integrate-Jira-with-Selenium.webp","articleSection":["\u0622\u062e\u0631\u06cc\u0646 \u062a\u06a9\u0646\u0648\u0644\u0648\u0698\u06cc \u0647\u0627\u06cc \u06a9\u0627\u0645\u067e\u06cc\u0648\u062a\u0631"],"inLanguage":"fa-IR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/rabsana.ir\/tutorials\/how-to-integrate-jira-with-selenium\/#respond"]}]},{"@type":"Person","@id":"https:\/\/rabsana.ir\/tutorials\/#\/schema\/person\/f95a0ac81e3ccf2f7b115822a7a815cd","name":"\u0645\u0647\u0633\u0627 \u0645\u062d\u0645\u062f\u06cc","image":{"@type":"ImageObject","@id":"https:\/\/rabsana.ir\/tutorials\/#personlogo","inLanguage":"fa-IR","url":"https:\/\/secure.gravatar.com\/avatar\/0910931d9fb93b2b6b0627aa03c9f1c6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0910931d9fb93b2b6b0627aa03c9f1c6?s=96&d=mm&r=g","caption":"\u0645\u0647\u0633\u0627 \u0645\u062d\u0645\u062f\u06cc"},"url":"https:\/\/rabsana.ir\/tutorials\/author\/mahsa-mhmdi\/"}]}},"_links":{"self":[{"href":"https:\/\/rabsana.ir\/tutorials\/wp-json\/wp\/v2\/posts\/3195"}],"collection":[{"href":"https:\/\/rabsana.ir\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rabsana.ir\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rabsana.ir\/tutorials\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/rabsana.ir\/tutorials\/wp-json\/wp\/v2\/comments?post=3195"}],"version-history":[{"count":3,"href":"https:\/\/rabsana.ir\/tutorials\/wp-json\/wp\/v2\/posts\/3195\/revisions"}],"predecessor-version":[{"id":3207,"href":"https:\/\/rabsana.ir\/tutorials\/wp-json\/wp\/v2\/posts\/3195\/revisions\/3207"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rabsana.ir\/tutorials\/wp-json\/wp\/v2\/media\/3204"}],"wp:attachment":[{"href":"https:\/\/rabsana.ir\/tutorials\/wp-json\/wp\/v2\/media?parent=3195"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rabsana.ir\/tutorials\/wp-json\/wp\/v2\/categories?post=3195"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rabsana.ir\/tutorials\/wp-json\/wp\/v2\/tags?post=3195"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}