class TestHome(TestPyOrgBase): """ TBD """ def setUp(self): #parentdan browser set up çekiyor super().setUp() #Home page e gideceğini veriyor self.home = HomePage(self.driver) @unittest.skip('skip this test for example') def test_TC001_py3_doc_button(self): self.home.hover_to(CommonPageLocators.DOC) self.home.assert_elem_text(CommonPageLocators.PY3_DOC_BUTTON, 'Python 3.x Docs') self.home.click(CommonPageLocators.PY3_DOC_BUTTON) assert self.driver.current_url == 'https://docs.python.org/3/' def test_TC002_blahblah_search(self): self.home.search_for('blahblah') self.home.assert_elem_text(CommonPageLocators.SEARCH_RESULT_LIST, 'No results found.') #with unit test def test_TC004_assert_title(self): self.assertEqual(self.home.driver.title, "Welcome to Python.org")
class TestHome(TestPyOrgBase): """ TBD """ def setUp(self): self.home = HomePage(TestHome.driver) # @unittest.skip('demonstrating skipping the test') def test_TC001_py3_doc_button(self): self.home.hover_to(CommonPageLocators.DOC) self.home.assert_elem_text(CommonPageLocators.PY3_DOC_BUTTON, 'Python 3.x Docs') self.home.click(CommonPageLocators.PY3_DOC_BUTTON) assert self.driver.current_url == 'https://docs.python.org/3/' def test_TC002_blahblah_search(self): self.home.search_for('blahblah') self.home.assert_elem_text(CommonPageLocators.SEARCH_RESULT_LIST, 'No results found.') # @unittest.skip def test_TC004_assert_title(self): self.assertEqual(self.home.driver.title, 'Welcome to Python.org') def test_TC006_main_menu(self): mm = [ 'about', 'downloads', 'documentation', 'community', 'success-stories', 'news', 'events', 'DUMMY' ] for mmenu_item in mm: with self.subTest("asserting menu item: {}".format(mmenu_item)): assert self.home.driver.find_element_by_id(mmenu_item)
def testEnquiry(self): u"""询价""" #打开首页并且登陆账号 HomePage.HomePage(self) operate.sleep(2) operate.move_click("linktext",u"场景合作") operate.element_click("xpath","//a[@href='/landing/shop.html']") self.driver= HomePage.getDriver() #立即进入 operate.element_click("linktext",u"立即进入") operate.sleep(2) #断言是否进入到首页 try: self.assertEqual("http://test.spb.riskeys.com/shop/index.html", self.driver.current_url, "page is error") except : log.debug(u"进入首页失败") #登陆 # self.login() #进入我要询价 # 将页面下来,再次询价 # operate.mouse_pull() operate.element_click("id","begin-buy") operate.sleep(2) #调用ask方法,进行询价 QueryPrice.ask(self)
class TestHome(TestPyOrgBase): def setUp(self): super().setUp() self.home = HomePage(self.driver) def test_TC001_sign_up(self): self.home.clickf(CommonPageLocators.SIGN_UP) def test_TC002_sign_in(self): self.home.clickf(CommonPageLocators.LOG_IN)
def check_item_in_cart(self, item_name): home_page = HomePage(self.driver) home_page.go_to_cart() cart_page = CartPage(self.driver) is_item_in_cart = cart_page.is_item_in_cart(item_name) if is_item_in_cart: print 'Selected item: \n {} \nis in the cart'.format(item_name) return True else: print 'Selected item: \n {} \nis NOT in the cart'.format(item_name) return False
class TestHome(TestTwitBase): """ TBD """ def setUp(self): super().setUp() self.home = HomePage(self.driver) def test_TC001_check_buttons(self): self.home.assert_elem_text(CommonPageLocators.SIGN_UP, "Sign up") self.home.assert_elem_text(CommonPageLocators.LOG_IN, "Log in") def test_TC002_assert_title(self): self.assertEqual(self.home.driver.title, "Twitter. It's what's happening.")
def mouse_pull(self): self.driver = HomePage.getDriver() try: js = "var q=document.documentElement.scrollTop=10000" self.driver.execute_script(js) except: raise u"鼠标下滑失败"
class TestHome(TestPyOrgBase): def setUp(self): super().setUp() self.home = HomePage(self.driver) def test_TC001_py3_doc_button(self): self.home.hover_to(CommonPageLocators.DOC) self.home.assert_elem_text(CommonPageLocators.PY3_DOC_BUTTON, 'Python 3.x Docs') self.home.click(CommonPageLocators.PY3_DOC_BUTTON) assert self.driver.current_url == 'https://docs.python.org/3/' def test_TC002_blahblah_search(self): self.home.search_for('blahblah') self.home.assert_elem_text(CommonPageLocators.SEARCH_RESULT_LIST, 'No results found.')
def getelement(self, type, str): self.driver = HomePage.getDriver() try: if type == "id": element = WebDriverWait(self.driver, 20, 0.5).until( lambda driver: self.driver.find_element_by_id(str)) elif type == "name": element = WebDriverWait(self.driver, 20, 0.5).until( lambda driver: self.driver.find_element_by_name(str)) elif type == "calssname": element = WebDriverWait(self.driver, 20, 0.5).until( lambda driver: self.driver.find_element_by_class_name(str)) elif type == 'linktext': element = WebDriverWait(self.driver, 20, 0.5).until( lambda driver: self.driver.find_element_by_link_text(str)) elif type == 'xpath': element = WebDriverWait(self.driver, 20, 0.5).until( lambda driver: self.driver.find_element_by_xpath(str)) elif type == 'tagname': element = WebDriverWait(self.driver, 20, 0.5).until( lambda driver: self.driver.find_element_by_tag_name(str)) return element except WebDriverException as e: self.screenshot("WebDriverError") log.debug(u"WebDriver,error", e) except TimeoutException as e: log.error(u"超时", e) self.screenshot("TimeException") except NoSuchElementException as e: log.debug(u"元素异常", e) self.screenshot("NoSuchElementException")
def test_Pay(self): u"""支付""" #判断是否是支付页面 operate.sleep(2) self.driver= HomePage.getDriver() element=operate.getelement("xpath","//a[@class='logo']") try: if element.is_displayed()==True: #页面加载出来 operate.sleep(1) operate.element_click("xpath",".//div[@title='模拟网银']") #确认网银支付 operate.element_click("xpath",".//div[@class='action']/a") result=operate.getelement("tagname","h3") #如果支付失败:则print出原因 if result.is_displayed()==True: reason=operate.getelement("tagname","p") print(result.text) print(reason.text) operate.screenshot("orderpay") #关不标签页 HomePage.closePage() else: HomePage.closePage() else: log.debug(u"进入支付页面失败") operate.screenshot("payPage") HomePage.closePage() except: log.warning(u"支付失败")
class TestHome(TestPyOrgBase): """ TBD """ def setUp(self): super().setUp() self.home = HomePage(self.driver) @unittest.skip('demonstrating skipping the test') def test_TC001_py3_doc_button(self): self.home.hover_to(CommonPageLocators.DOC) self.home.assert_elem_text(CommonPageLocators.PY3_DOC_BUTTON, 'Python 3.x Docs') self.home.click(CommonPageLocators.PY3_DOC_BUTTON) assert self.driver.current_url == 'https://docs.python.org/3/' def test_TC002_blahblah_search(self): self.home.search_for('blahblah') self.home.assert_elem_text(CommonPageLocators.SEARCH_RESULT_LIST, 'No results found.') def test_TC004_assert_title(self): self.assertEqual(self.home.driver.title, 'Welcome to Python.org')
class TestHome(TestPyOrgBase): def setUp(self): super().setUp() self.home = HomePage(self.driver) def test_TC001_py3_doc_button(self): self.home.hover_to(CommonPageLocators.DOC) self.home.assert_elem_text(CommonPageLocators.PY3_DOC_BUTTON, 'Python 3.x Docs') self.home.click(CommonPageLocators.PY3_DOC_BUTTON) assert self.driver.current_url == 'https://docs.python.org/3/' # skip etmek için unittest.skip kullanııyor. içinde de mesaj var. istediğimizi yazabiliriz. "melis" yazarsak "melis" çıkar gibi. # testi neden skip ettiğimizi hatırlamak için bu mesajı yazarız. @unittest.skip('skipping example for decarator') def test_TC002_blahblah_search(self): self.home.search_for('blahblah') self.home.assert_elem_text(CommonPageLocators.SEARCH_RESULT_LIST, 'No results found.') # with unit test. unittestin sağladığı bir koddur bu. def test_TC004_assert_title(self): self.assertEqual(self.home.driver.title, "Welcome to Python.org")
def move_click(self, type, str): self.driver = HomePage.getDriver() try: ele1 = self.getelement(type, str) ActionChains(self.driver).move_to_element(ele1).perform() except WebDriverException as e: log.debug(u"WebDriver,error", e) self.screenshot("WebDriverError") except TimeoutException as e: log.error(u"超时", e) self.screenshot("TimeException") except NoSuchElementException as e: log.debug(u"元素异常", e) self.screenshot("NoSuchElementException")
def clear_input(self, str): self.driver = HomePage.getDriver() try: element = WebDriverWait( self.driver, 10).until(lambda driver: self.driver.find_element_by_id(str)) element.clear() except WebDriverException as e: log.debug(u"WebDriver,error", e) self.screenshot("WebDriverError") except TimeoutException as e: log.error(u"超时", e) self.screenshot("TimeException") except NoSuchElementException as e: log.debug(u"元素异常", e) self.screenshot("NoSuchElementException")
def test_navigation_from_home_to_people(self): self.driver.get('http://www.uptake.com') home = HomePage(self.driver) self.assertTrue(home.has_title_match()) self.assertTrue(home.is_navbar_in_correct_state()) home.click_navbar_link("People") people = PeoplePage(self.driver) self.assertTrue(people.has_title_match()) self.assertTrue(people.is_navbar_in_correct_state())
def test_Insure(self): u"""开始投保""" #默认选择企业 #输入投保机构,联系人,手机号码 insure_dict={'shopName':'TaiPingYang','contacts':'testone','insurer-phone':'18207278423'} operate.dict_input("id",insure_dict) #传入员工名单 #获取excel路径 fpath=operate.read_file("testData","mingdan.xlsx") operate.element_input("id","form-field-attach",fpath) operate.sleep(2) #鼠标下滑到最下面 operate.mouse_pull() #选择发票类型 xpath="//input[@type='radio' and @value='normal']" operate.element_click("xpath",xpath) dict_receiver={"receiverName":"Hanxiao","receiverTel":"18207278423","receiverPost":"200000"} operate.dict_input("id",dict_receiver) operate.element_input("id","receiverAddress",u"上海市浦东新区") #确认投保 operate.mouse_pull() check_radio="//div[@class='button-box']/div[@class='notice']/span[@class='my-check']" operate.element_click("xpath",check_radio) operate.element_click("id","buy-btn") #确认投保信息,并判断是否是投保页面,是则确认投保,不是则刷新页面 operate.sleep(2) try: #判断"投保确认"元素是否存在于页面 text= HomePage.getDriver().find_element_by_xpath("//div[@class='block-title']") if(text.is_displayed()==True): if(text.text==u'确认投保'): print(u"成功进入投保确认页面") else: operate.refresh() else: operate.refresh() except: log.debug(u"页面元素未找到") #确认页面之后确认投保 operate.mouse_pull() operate.is_Selected("xpath","//div[@class='button-box']/div[@class='notice']/span[@class='my-check']") operate.element_click("id","buy-btn") self.login() operate.element_click("id","buy-btn") operate.sleep(3)
def dict_select(self, dict): self.driver = HomePage.getDriver() try: for k, v in dict.items(): element = WebDriverWait( self.driver, 20, 0.5).until(lambda driver: driver.find_element_by_id(k)) Select(element).select_by_index(v) time.sleep(1.5) except WebDriverException as e: log.debug(u"WebDriver,error", e) self.screenshot("WebDriverError") except TimeoutException as e: log.error(u"超时", e) self.screenshot("TimeException") except NoSuchElementException as e: log.debug(u"元素异常", e) self.screenshot("NoSuchElementException")
def test_Login(self): u"""登陆""" #打开浏览器,并登陆 HomePage.HomePage(self) #登陆渠道 operate.element_click( "xpath", "//div[@class='right nav-box clearfix']/a[@data-toggle='modal']") operate.sleep(2) self.name = 'mxtest' self.password = '******' login_input = OrderedDict([('tel2', self.name), ('password2', '123456')]) pagecom.Publiclogin(login_input, "channel-login-btn") operate.sleep(2) #判断是否登陆是否获取到用户名 try: get_user = operate.getelement("id", "span-userName") self.assertEqual(self.name, get_user.text, u"登陆失败") except: log.debug(u"登陆失败") operate.screenshot("meixing-login")
def elements_list(self, type, str): self.driver = HomePage.getDriver() try: if type == "id": ele_sum = WebDriverWait(self.driver, 10).until( lambda driver: self.driver.find_elements_by_id(str)) elif type == "classname": ele_sum = WebDriverWait( self.driver, 10).until(lambda driver: self.driver. find_elements_by_class_name(str)) else: ele_sum = WebDriverWait(self.driver, 20, 0.5).until( lambda driver: driver.find_elements_by_xpath(str)) return ele_sum except WebDriverException as e: log.debug(u"WebDriver,error", e) self.screenshot("WebDriverError") except TimeoutException as e: log.error(u"超时", e) self.screenshot("TimeException") except NoSuchElementException as e: log.debug(u"元素异常", e) self.screenshot("NoSuchElementException")
def element_selected(self, type, str, input): self.driver = HomePage.getDriver() try: if type == 'index': element = WebDriverWait(self.driver, 20, 0.5).until( lambda driver: driver.find_element_by_xpath(str)) Select(element).select_by_index(input) elif type == 'value': element = WebDriverWait(self.driver, 20, 0.5).until( lambda driver: driver.find_element_by_xpath(str)) Select(element).select_by_value(input) elif type == 'visibletext': element = WebDriverWait(self.driver, 20, 0.5).until( lambda driver: driver.find_element_by_xpath(str)) Select(element).select_by_visible_text(input) except WebDriverException as e: log.debug(u"WebDriver,error", e) self.screenshot("WebDriverError") except TimeoutException as e: log.error(u"超时", e) self.screenshot("TimeException") except NoSuchElementException as e: log.debug(u"元素异常", e) self.screenshot("NoSuchElementException")
def move_to_element(self, str1, str2): self.driver = HomePage.getDriver() try: #定位到鼠标移动到上面的元素 element1 = WebDriverWait( self.driver, 10).until(lambda driver: driver.find_element_by_xpath(str1)) element2 = WebDriverWait( self.driver, 10).until(lambda driver: driver.find_element_by_xpath(str2)) #鼠标悬停在该元素 ActionChains(self.driver).move_to_element(element1).perform() time.sleep(2) ActionChains(self.driver).move_to_element(element2).perform() element2.click() except WebDriverException as e: log.debug(u"WebDriver,error", e) self.screenshot("WebDriverError") except TimeoutException as e: log.error(u"超时", e) self.screenshot("TimeException") except NoSuchElementException as e: log.debug(u"元素异常", e) self.screenshot("NoSuchElementException")
def setUp(self): super().setUp() self.home = HomePage(self.driver)
def setUp(self): #parentdan browser set up çekiyor super().setUp() #Home page e gideceğini veriyor self.home = HomePage(self.driver)
def setUp(self): self.home = HomePage(TestHome.driver)
def search_amazon(self, query): home_page = HomePage(self.driver) home_page.search(query)
def screenshot(self, filename): self.driver = HomePage.getDriver() print(files) self.driver.get_screenshot_as_file( os.path.join(files, 'screenshot', filename + now + '.png'))
def setUp(self): #Home page e gideceğini veriyor self.home = HomePage(self.driver)