ارسال پست در لینکدین با استفاده از پایتون و سلنیوم
با سلام به همه، در این مقاله، روند اشتراک گذاری پست در لینکدین را برای دوره دانشگاهی خود “تضمین کیفیت نرم افزار و تست” توضیح خواهم داد.
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