def goto_messenger_from_profile(self): try: window = BrowserWindow(self.browser,self.logger) self.logger.log("Going to messenger from profile") self.click( self.get_element_by_id( self._to_messenger_from_profile_id)) window.switch_to_popup() print self.browser.title except Exception: raise TestFailedException("Failed to validate navigation to messanger from profile")
def goto_messenger_from_mutual_likes(self,user_profile): try: window = BrowserWindow(self.browser,self.logger) self.logger.log("Going to messenger from mutual likes") self.click( self.get_element_by_xpath( "//div[@id='comments']//div[@class='comment-avatar-new']//a[@href='" + user_profile + "']/../../div[@class='additional-actions']/a[@class='openHistory']" )) window.switch_to_popup() self.logger.log(self.browser.title) except Exception: raise TestFailedException("Failed to get to messenger from mutual likes")
def login_with_fb_full_scale(self, user=None): if user is None: user = self.User1 window = BrowserWindow(self.browser, self.logger) window.open(settings.target_url) # implement URL check self.click_social("facebook") window.switch_to_popup() self.login_to_fb(user) window.switch_to_root() self.validate_fb_login_success()
def login_with_vk_full_scale(self, user=None): if user is None: user = self.User1 window = BrowserWindow(self.browser, self.logger) window.open(settings.target_url) # implement URL check # try: # assert window.get_current_url() == window.get_unauthorised_url() # except AssertionError: # raise TestFailedException("Wrong URL") self.click_social("vkontakte") window.switch_to_popup() self.login_to_vk(user) window.switch_to_root() self.validate_login_success()
def run(self, browser, logger): auth = AuthForm(self.browser, self.logger) window = BrowserWindow(self.browser, self.logger) navigation = Navigation(self.browser, self.logger) messenger = Messenger(self.browser, self.logger) output_message = u"Привет!" self.do_method(auth.login_with_fb_full_scale, profiling_events.login_event, auth.User1) window.open(auth.User2.profile_url) navigation.goto_messenger_from_profile() # No UI validation self._root_window = self.browser.current_window_handle messenger.send_and_validate_message(output_message) window.switch_to_popup() navigation.goto_side_menu_item(u"Сообщения") navigation.goto_tab_menu_item(u"Отправленные") messenger.delete_last_message_from_output_feed_fb(output_message) window.close()
class XMLModel(Model): def __init__(self,browser,logger): self.browser = browser self.logger = logger self.window = BrowserWindow(self.browser, self.logger) def click(self,xpath=None,value=None,amount=None,time_delta=None,platform=None,coords=None): self.logger.log("Click Element = " + xpath) element = self.get_element_by_xpath(xpath) try: element.click() except Exception as e: print "Failed to simply click on element: " + e.message ActionChains(self.browser).move_to_element_with_offset(element, 1, 1).click().perform() def click_and_hold(self,xpath=None,value=None,amount=None,time_delta=None,platform=None,coords=None): raise NotImplementedError def click_at(self,xpath=None,value=None,amount=None,time_delta=None,platform=None,coords=None): raise NotImplementedError def click_at_and_hold(self,xpath=None,value=None,amount=None,time_delta=None,platform=None,coords=None): raise NotImplementedError def hover(self,xpath=None,value=None,amount=None,time_delta=None,platform=None,coords=None): element = self.get_element_by_xpath(xpath) self.logger.log("Hover element " + xpath) hover = ActionChains(self.browser).move_to_element(element) hover.perform() def enter_text(self,xpath=None,value=None,amount=None,time_delta=None,platform=None,coords=None): element = self.get_element_by_xpath(xpath) self.logger.log("Typing text = " + str(value) + " to element with xpath = " + xpath) element.clear() element.send_keys(value) def select_from_dropdown_by_index(self,xpath=None,value=None,amount=None,time_delta=None,platform=None,coords=None): dropdown = self.get_element_by_xpath(xpath) self.logger.log("Select element with index = " + str(value)) select = Select(dropdown) select.select_by_index(value) def select_from_dropdown_by_value(self,xpath=None,value=None,amount=None,time_delta=None,platform=None,coords=None): dropdown = self.get_element_by_xpath(xpath) self.logger.log("Select element with value = " + str(value)) select = Select(dropdown) select.select_by_value(str(value)) def select_from_dropdown_by_text(self,xpath=None,value=None,amount=None,time_delta=None,platform=None,coords=None): dropdown = self.get_element_by_xpath(xpath) self.logger.log("Select element with text = " + str(value)) select = Select(dropdown) select.select_by_value(str(value)) def get_selected_value_from_dropdown(self,xpath=None,value=None,amount=None,time_delta=None,platform=None,coords=None): dropdown = self.get_element_by_xpath(xpath) self.logger.log("Getting selected value from dropdown " + xpath) select = Select(dropdown) return select.first_selected_option.get_attribute("value") def authorize(self,xpath=None,value=None,amount=None,time_delta=None,platform=None,coords=None): auth = AuthForm(self.browser,self.logger) if platform == "fb-sa": if value == "User1": auth.login_with_fb_full_scale() def mark_user(self,xpath=None,value=None,amount=None,time_delta=None,platform=None,coords=None): pass def filter_city(self,xpath=None,value=None,amount=None,time_delta=None,platform=None,coords=None): pass def open_url(self,xpath=None,value=None,amount=None,time_delta=None,platform=None,coords=None): self.window.open(value) def switch_to_popup(self,xpath=None,value=None,amount=None,time_delta=None,platform=None,coords=None): self.window.switch_to_popup() def switch_to_root(self,xpath=None,value=None,amount=None,time_delta=None,platform=None,coords=None): self.window.switch_to_root() def logout(self,xpath=None,value=None,amount=None,time_delta=None,platform=None,coords=None): self.window.logout() def close(self,xpath=None,value=None,amount=None,time_delta=None,platform=None,coords=None): self.window.close() def assert_text(self,xpath=None,value=None,amount=None,time_delta=None,platform=None,coords=None): pass def assert_attribute(self,xpath=None,value=None,amount=None,time_delta=None,platform=None,coords=None): pass def assert_html(self,xpath=None,value=None,amount=None,time_delta=None,platform=None,coords=None): pass def assert_element(self,xpath=None,value=None,amount=None,time_delta=None,platform=None,coords=None): pass