def uppload_image(self,username,password,name): # Add product details AdminBase.navigate_to_admin(self,username,password) AdminBase.edit_product_navigator(self) modify_product = self.driver.find_element_by_css_selector('a[title="Delete {}"]+a[title="Modify"]'.format(name)).get_attribute('href') product_id=modify_product.split('&') idmsg = product_id[1].split('=') id = idmsg[1] self.driver.find_element_by_css_selector('a[title="Delete {}"]+a[title="Modify"]'.format(name)).click() #edit Third tab - Jihad self.driver.find_element(*ProductsModule.file_associated_tab).click() self.driver.find_element(*ProductsModule.add_image).click() self.driver.find_element(*ProductsModule.chose_file_button).click() os.system("..\\utilities\\jihad.exe") time.sleep(5) self.driver.switch_to_window(self.driver.window_handles[0]) self.driver.find_element(*ProductsModule.save_button).click()
def add_flash_sale_to_product(self,username,password,price,start,end,name): # Open edit product page AdminBase.navigate_to_admin(self,username,password) AdminBase.edit_product_navigator(self) self.driver.find_element_by_css_selector('a[title="Delete {}"]+a[title="Modify"]'.format(name)).click() # add flash sale self.driver.find_element(*FlashSalePage.flash_sale_price).clear() self.driver.find_element(*FlashSalePage.flash_sale_price).send_keys(int(price)) self.driver.find_element(*FlashSalePage.start_date).click() self.driver.find_element(*FlashSalePage.start_date).clear() self.driver.find_element(*FlashSalePage.start_date).send_keys(start) self.driver.find_element(*FlashSalePage.end_date).click() self.driver.find_element(*FlashSalePage.end_date).clear() self.driver.find_element(*FlashSalePage.end_date).send_keys(end) # submit self.driver.find_element(*FlashSalePage.save_changes_button).click() return self.driver.find_element(*FlashSalePage.alert).text
def verify_flash_sale_price(self,username,password,productname): # user can call that function from different views (product, admin, landing page) # Open edit product page AdminBase.navigate_to_admin(self,username,password) AdminBase.edit_product_navigator(self) self.driver.find_element_by_css_selector('a[title="Delete {}"]+a[title="Modify"]'.format(productname)).click() # view online self.driver.find_element(*FlashSalePage.view_online).click() window_before = self.driver.window_handles[0] window_after = self.driver.window_handles[1] self.driver.switch_to.window(window_after) new = self.driver.find_element(*FlashSalePage.price).text self.driver.close() self.driver.switch_to_window(window_before) # extract product new price whole_text = new.split(',') exact_price = whole_text[0] return int(exact_price)
def verify_remaining_time_to_end_sale(self,username,password,productname,end_time): # user can call that function from different views (product, admin, landing page) # Open edit product page AdminBase.navigate_to_admin(self,username,password) AdminBase.edit_product_navigator(self) self.driver.find_element_by_css_selector('a[title="Delete {}"]+a[title="Modify"]'.format(productname)).click() # view online self.driver.find_element(*FlashSalePage.view_online).click() window_before = self.driver.window_handles[0] window_after = self.driver.window_handles[1] self.driver.switch_to.window(window_after) alert1 = self.driver.find_element(*FlashSalePage.remaining_time).text self.driver.close() self.driver.switch_to_window(window_before) time_list = re.findall(r'(?:\d)?\d+', alert1) now = datetime.datetime.now() remaining_time = parser.parse(end_time) - now if remaining_time.days == time_list[0]: return True else: return False
def edit_product(self,username,password,name,tab1,tab2): # Add product details AdminBase.navigate_to_admin(self,username,password) AdminBase.edit_product_navigator(self) modify_product = self.driver.find_element_by_css_selector('a[title="Delete {}"]+a[title="Modify"]'.format(name)).get_attribute('href') product_id=modify_product.split('&') idmsg = product_id[1].split('=') id = idmsg[1] self.driver.find_element_by_css_selector('a[title="Delete {}"]+a[title="Modify"]'.format(name)).click() self.driver.find_element(*ProductsModule.english_tab).click() self.driver.find_element_by_css_selector('a[href="http://10.1.22.67/Jamaica/administrer/produits.php?mode=modif_tab&id={}&tab_lang=en"]'.format(id)).click() window_before = self.driver.window_handles[0] window_after = self.driver.window_handles[1] self.driver.switch_to.window(window_after) self.driver.find_element(*ProductsModule.content_tab1).clear() self.driver.find_element(*ProductsModule.content_tab1).send_keys(tab1) self.driver.find_element(*ProductsModule.content_tab2).clear() self.driver.find_element(*ProductsModule.content_tab2).send_keys(tab2) self.driver.find_element(*ProductsModule.save_content).click() alert= self.driver.find_element(*ProductsModule.confirm_tab2).text self.driver.close() self.driver.switch_to_window(window_before) return alert
def delete_product(self,username,password,name): AdminBase.navigate_to_admin(self,username,password) AdminBase.edit_product_navigator(self) self.driver.find_element_by_css_selector('a[title="Delete {}"]'.format(name)).click() self.driver.find_element(*ProductsModule.confirm_delete).click()