برنامه نویسی

ارسال پست در لینکدین با استفاده از پایتون و سلنیوم

با سلام به همه، در این مقاله، روند اشتراک گذاری پست در لینکدین را برای دوره دانشگاهی خود “تضمین کیفیت نرم افزار و تست” توضیح خواهم داد.

https://www.youtube.com/watch?v=FFwsQForJC4

سلنیوم با ورود به linkedin.com بررسی می کند که آیا صفحه به درستی نمایش داده می شود.

# Opening the web page with ChromeDrive
self.driver.get("https://www.linkedin.com")
# Testing if the site with the correct URL loads
self.assertLessEqual(self.driver.title, "Log In or Sign Up")
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پس از باز شدن صفحه ورود، بررسی می شود که آیا فیلد ورودی ایمیل در صفحه وجود دارد یا خیر. سپس، مقدار ایمیل داده شده در قسمت ورودی نوشته می شود.

email_elem = self.driver.find_element(By.ID, 'session_key')
# Check if email input field is accessible
self.assertTrue(email_elem.is_enabled())
# Filling in the Email input field
email_elem.send_keys(self.email)
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پس از باز شدن صفحه ورود، بررسی می شود که آیا فیلد ورودی رمز عبور در صفحه وجود دارد یا خیر. سپس مقدار رمز عبور داده شده در قسمت ورودی نوشته می شود.

password_elem = self.driver.find_element(By.ID, 'session_password')
# Check if the password input field is accessible
self.assertTrue(password_elem.is_enabled())
# Filling the password input field
password_elem.send_keys(self.password)
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پس از پر شدن دو فیلد ورودی در صفحه ورود، بررسی می شود که آیا می توان به دکمه “LOG IN” دسترسی داشت یا خیر. سپس در صورت پر بودن فیلدهای ورودی، روی دکمه کلیک می شود.

login_button = self.driver.find_element(By.CSS_SELECTOR,
'.sign-in-form__submit-button')
self.assertTrue(login_button.is_displayed())
self.assertTrue(login_button.is_enabled())
login_button.click()
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پس از موفقیت آمیز بودن ورود، به صفحه اصلی لینکدین هدایت خواهید شد. بررسی اینکه آیا صفحه اصلی به درستی نمایش داده می شود.

home_page = self.driver.find_element(By.ID,"voyager-feed")
# check if home page is opened
self.assertTrue(home_page.is_displayed())
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بررسی می شود که آیا دکمه در صفحه اصلی برای اشتراک گذاری یک پست نمایش داده می شود و آیا بعداً به آن دسترسی پیدا می شود یا خیر. در صورت عدم وجود مشکل، دکمه کلیک می شود.

add_post_button =
self.driver.find_element(By.CSS_SELECTOR,'.artdeco-button.artdeco-button
--muted.artdeco-button--4.artdeco-button--tertiary.ember-view.share-box-
feed-entry__trigger')
self.assertTrue(add_post_button.is_displayed())
self.assertTrue(add_post_button.is_enabled())
add_post_button.click();
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پس از کلیک بر روی دکمه، یک مدال با یک فیلد ورودی و یک دکمه برای اشتراک گذاری یک پست در صفحه لینکدین باز می شود. پس از بررسی اینکه آیا مدال در دسترس است یا خیر، متن اشتراک مشخص شده در ورودی نوشته می شود.

time.sleep( 2 )
self.postText = self.postText + str(random.randint( 0 , 100000 ))
post_text_area =
self.driver.find_element(By.CSS_SELECTOR,".ql-editor.ql-blank")
self.assertTrue(post_text_area.is_enabled())
post_text_area.send_keys(self.postText)
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بررسی می شود که آیا دکمه در حالت نمایش داده می شود یا نه، و اینکه آیا می توان بعداً به آن دسترسی داشت یا خیر. اگر مشکلی وجود نداشت، دکمه کلیک می شود و پست به اشتراک گذاشته می شود.

time.sleep( 2 )
post_send_button =
self.driver.find_element(By.CSS_SELECTOR,'.share-actions__primary-action
.artdeco-button.artdeco-button--2.artdeco-button--primary.ember-view')
self.assertTrue(post_send_button.is_displayed())
self.assertTrue(post_send_button.is_enabled())
post_send_button.click();
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پس از فشار دادن دکمه اشتراک گذاری پست، مدال بسته می شود. سپس با بررسی متن پست مربوطه، اشتراک گذاری یا عدم اشتراک گذاری پست بررسی می شود.

time.sleep( 2 )
post_content_div =
self.driver.find_element(By.CSS_SELECTOR,'.break-words>span')
self.assertTrue(post_content_div.is_displayed())
self.assertEqual(self.postText, post_content_div.text)
time.sleep( 3 )
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

Repo GitHub: https://github.com/Furkan-Gulsen/python-selenium-test-islemleri

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا