def test_home_page_logged_user(self): self.hp = HomePage(self.driver) act_home_page_logged_user_name = self.hp.get_hp_logged_in_user() if act_home_page_logged_user_name == TestData.EXP_HP_LOGGED_USER_NAME: self.log.info("Expected logged in user is same as Actual logged in user, hence passed") assert True else: self.log.error("Expected logged in user not equals to Actual logged in user, hence Failed") assert False
def test_home_page_logout_link(self): self.hp = HomePage(self.driver) act_home_page_logout_link = self.hp.get_logout_link() if act_home_page_logout_link is True: self.log.info("Logout link is present , hence Test case passed") assert True else: self.log.error("Logout link is not visible , hence Test case Failed") assert False
def test_flow3(self): """ Discuz业务流程三 :return: """ # 1.admin登录论坛 login_page = loginPage(self.driver) login_page.login("admin", "lyf2580") login_page.click_login() time.sleep(3) # 判断admin是否登录成功 admin_online_text = login_page.gettext(*login_page.online_admin_loc) try: self.assertEqual(admin_online_text, "admin") logger.info("admin用户登录成功") except AssertionError as AE: logger.error("admin用户登录失败") raise AE #2.进行帖子搜索 home_page = HomePage(self.driver) home_page.search("haotest") base_page = BasePage(self.driver) search_page_title = base_page.get_webtitle() try: self.assertEqual(search_page_title, "搜索 - Discuz! Board - Powered by Discuz!") logger.info("%s页面跳转成功" % search_page_title) except AssertionError as AE: logger.error("%s页面跳转失败" % search_page_title) raise AE #3.进入搜索的帖子 title_click_page_title = home_page.title_click() try: self.assertEqual( title_click_page_title, "haotest - 默认版块 - Discuz! Board - Powered by Discuz!") logger.info("%s页面跳转成功" % title_click_page_title) except AssertionError as AE: logger.error("%s页面跳转失败" % title_click_page_title) raise AE #4.验证帖子标题和期望的一致 result = base_page.gettext(*home_page.title_loc) try: self.assertEqual(result, "haotest") logger.info("帖子搜索成功") except AssertionError as AE: logger.error("帖子搜索失败") raise AE #用户退出 self.driver.switch_to.window(self.driver.window_handles[2]) login_page.click_logout()
def test_homepage_case5(self): """私募基金管理人HFMI指数""" homepage = HomePage(self.driver) homepage.homepage_welcome() time.sleep(2) # 断言,私募基金管理人HFMI指数 error_mes = homepage.find_element( 'xpath=>//*[@id="join"]/div/div/div[2]/div/div[2]/div[12]').text try: assert error_mes == u'HFMI指数持续招募中,请扫描下方二维码' print('私募基金管理人HFMI指数 pass.') except Exception as e: print('私募基金管理人HFMI指数 fail', format(e)) print(error_mes) time.sleep(2)
def VOP_DL(self): """ 系统登录页面切换到VOP :return: """ homepage = HomePage(self.driver) list = BrowserEngine.readjson(self) user = list['username'] pwd = list['passwd'] homepage.input_username(user) homepage.input_password(pwd) homepage.click_login() time.sleep(2) homepage.get_windows_img() logger.info('前置处理-登录')
def test_homepage_case1(self): """公募数据""" homepage = HomePage(self.driver) homepage.homepage_public() time.sleep(2) # 断言,公募数据 error_mes = homepage.find_element( 'xpath=>//*[@id="num2"]/div/div[1]/span[2]').text # 基金公司值含1 try: assert error_mes != u'--' print('公募数据 pass.') except Exception as e: print('公募数据 fail', format(e)) print(error_mes) time.sleep(2)
def test_p(self, test_set): homepage = HomePage(self.dt) homepage.shoitem().click self.dt.find_element_by_css_selector("a[class*='btn-primary']").click() self.dt.find_element_by_css_selector( "button[class*='btn-success']").click() self.dt.find_element_by_xpath("//input[@id='country']").send_keys( "ind") wait = WebDriverWait(self.dt, 6) check = CheckOut(self.dt) check.checkit().click self.dt.find_element_by_css_selector( "input[class*='btn-success']").click() suc = self.dt.find_element_by_css_selector(".alert-success").text assert "Success! Thank you!" in suc
def test_homepage_case4(self): """私募分策略业绩指数情况""" homepage = HomePage(self.driver) homepage.homepage_dropdown() time.sleep(2) # 断言,私募分策略业绩指数情况 error_mes = homepage.find_element( 'xpath=>//*[@id="dropLoad"]/div[1]/div[1]/div[2]' ).text # 宏观策略私募指数值为2303.72 try: assert error_mes != u'--' print('私募分策略业绩指数情况 pass.') except Exception as e: print('私募分策略业绩指数情况 fail', format(e)) print(error_mes) time.sleep(2)
def test_VOP_QXFP_ADDOrg(self): """ VOP添加员工用例:搜索员工,添加员工,删除员工 :return: """ self.VOP_DL() homepage = HomePage(self.driver) qxpage = QXFP(self.driver) self.driver.implicitly_wait(5) qxpage.isElementExist() self.driver.implicitly_wait(1) qxpage.switch_to_QXFP() logger.info("切换到VOP权限分配页面") time.sleep(2) ''' qxpage.add_organization("自动测试添加") logger.info("添加组织-自动测试添加") time.sleep(1) qxpage.select_otime_lastyear() logger.info("填写开始时间为上一年") time.sleep(1) qxpage.confirm() logger.info("已添加组织,截图并开始断言") time.sleep(2) homepage.get_windows_img() # 调用基类截图方法 ''' try: keyword = "自动测试添加" qxpage.search(keyword) time.sleep(1) self.driver.implicitly_wait(2) # assert '' in homepage.get_page_title() # 调用页面对象继承基类中的获取页面标题方法 elem = self.driver.find_element_by_css_selector('div[title = "' + keyword + '"]') logger.info("断言-通过搜索判断是否查询到已添加的组织,有则通过") # self.assertEqual(str(elem.text), keyword) self.assertEqual(str(elem.text), '错误的') logger.info("搜索到添加的组织,用例通过") print('Test Pass.') except Exception as e: logger.info("无法搜索到添加的组织,用例失败") homepage.get_windows_img() print('Test Fail.', format(e)) raise AssertionError
class TestHomePage(TestBase): log = TestBase.get_logger() """Test case to verify Home page Title""" def test_home_page_title(self): self.lp = LoginPage(self.driver) hp = self.lp.do_login(TestData.USER_NAME, TestData.PASSWORD) act_home_page_title = hp.get_home_page_title(TestData.EXP_HP_TITLE) if act_home_page_title == TestData.EXP_HP_TITLE: self.log.info("Expected title is same as Actual Title, hence test case passed") assert True else: self.log.error("Expected title is not same to Expected Title, hence test case Failed") assert False """Test case to verify logged in user Name""" def test_home_page_logged_user(self): self.hp = HomePage(self.driver) act_home_page_logged_user_name = self.hp.get_hp_logged_in_user() if act_home_page_logged_user_name == TestData.EXP_HP_LOGGED_USER_NAME: self.log.info("Expected logged in user is same as Actual logged in user, hence passed") assert True else: self.log.error("Expected logged in user not equals to Actual logged in user, hence Failed") assert False """Test case to verify if logout link is present""" def test_home_page_logout_link(self): self.hp = HomePage(self.driver) act_home_page_logout_link = self.hp.get_logout_link() if act_home_page_logout_link is True: self.log.info("Logout link is present , hence Test case passed") assert True else: self.log.error("Logout link is not visible , hence Test case Failed") assert False
def test_homepage_case6(self): """基金研究院""" homepage = HomePage(self.driver) homepage.homepage_link() time.sleep(2) homepage.current_handel() time.sleep(2) # 断言,基金研究院 try: assert u"首页" not in homepage.get_page_title() print('基金研究院 pass.') except Exception as e: print('基金研究院 fail.', format(e)) time.sleep(5)
def test_homepage_case3(self): """私募综合业绩指数""" homepage = HomePage(self.driver) homepage.homepage_index() time.sleep(2) # 断言,私募综合业绩指数 try: homepage.find_element( "xpath=>//*[text()='南华商品指数']").is_selected() # 判断南华商品指数是否被选中 print('私募综合业绩指数 Pass.') except Exception as e: print('私募综合业绩指数 fail', format(e)) time.sleep(2)
def test_buy_now(self): # 在当当网首页搜索儿童睡前故事 homepage = HomePage(self.driver) homepage.type_search("儿童睡前故事") homepage.search_submit() # 在搜索结果中点击第一个商品 item_list = ItemList(self.driver) # item_list.item_click() item_list.item_add() # 在商品详情页面 # item_details = ItemDetails(self.driver) # 加入购物车 # item_details.add_cart() # 点击立即购买 # item_details.buy_now() # 在结算页面,点击去支付 checkout = CheckOut(self.driver) checkout.pay()
def test_toolbar_04(self): homepage = HomePage(self.driver) analysispage = AnalysisPage(self.driver) homepage.type_search("甲醛") # 输入框中输入甲醛 homepage.send_submit_btn() # 点击搜索按钮 homepage.click_config_2() # 点击实体筛选框2(此处根据搜索结果来排列,当前化学品位于筛选框第2) homepage.click_choose_all() # 点击勾选 所有 (当前化学品只有1条) homepage.click_analysis_button() # d点击进入图谱分析界面 analysispage.right_click_node() time.sleep(1) analysispage.move_el_huanxing_huagong() time.sleep(1) analysispage.click_shaixuan1() analysispage.click_province() analysispage.click_province_2() #点击天津 analysispage.click_size() analysispage.click_size_2() #点击微型企业 analysispage.click_sx_relation() analysispage.click_sx_relation_2() #点击关系 进口 analysispage.click_chemical_sxbutton() BasePage.get_windows_img1(self) # 调用基类截图方法
def test_toolbar_47(self): homepage = HomePage(self.driver) analysispage = AnalysisPage(self.driver) homepage.type_search("甲醛") # 输入框中输入甲醛 homepage.send_submit_btn() # 点击搜索按钮 homepage.click_config_2() # 点击实体筛选框2(此处根据搜索结果来排列,当前化学品位于筛选框第2) homepage.click_choose_all() # 点击勾选 所有 (当前化学品只有1条) homepage.click_analysis_button() # d点击进入图谱分析界面 time.sleep(3) analysispage.click_add_shiti() analysispage.type_addshiti_input("甲醇") time.sleep(3) analysispage.click_addshiti_search() time.sleep(1) analysispage.type_inputpage1("4") analysispage.enter_confirm() #敲击键盘enter time.sleep(2) analysispage.click_marquee_3() #勾选选框3 analysispage.click_add_analysis() #添加分析 BasePage.get_windows_img1(self) # 调用基类截图方法
def test_toolbar_02(self): homepage = HomePage(self.driver) analysispage = AnalysisPage(self.driver) homepage.type_search("甲醛") # 输入框中输入甲醛5t6 homepage.send_submit_btn() # 点击搜索按钮 homepage.click_config_2() # 点击实体筛选框2(此处根据搜索结果来排列,当前化学品位于筛选框第2) homepage.click_choose_all() # 点击勾选 所有 (当前化学品只有1条) homepage.click_analysis_button() # d点击进入图谱分析界面 analysispage.right_click_node() time.sleep(1) analysispage.move_el_huanxing_huagong() # analysispage.click_#点击化工企业显示 BasePage.get_windows_img1(self) # 调用基类截图方法
def test_toolbar_35(self): homepage = HomePage(self.driver) analysispage = AnalysisPage(self.driver) homepage.type_search("甲醛") # 输入框中输入甲醛 homepage.send_submit_btn() # 点击搜索按钮 homepage.click_config_2() # 点击实体筛选框2(此处根据搜索结果来排列,当前化学品位于筛选框第2) homepage.click_choose_all() # 点击勾选 所有 (当前化学品只有1条) homepage.click_analysis_button() # d点击进入图谱分析界面 # analysispage.点击筛选 关闭按钮 BasePage.get_windows_img1(self) # 调用基类截图方法
def test_toolbar_22(self): homepage = HomePage(self.driver) analysispage = AnalysisPage(self.driver) homepage.type_search("甲醛") # 输入框中输入甲醛 homepage.send_submit_btn() # 点击搜索按钮 homepage.click_config_2() # 点击实体筛选框2(此处根据搜索结果来排列,当前化学品位于筛选框第2) homepage.click_choose_all() # 点击勾选 所有 (当前化学品只有1条) homepage.click_analysis_button() # d点击进入图谱分析界面 #移动到环形菜单 事故信息 #点击事故信息 筛选 analysispage.click_accident() analysispage.click_accident_3() #事故类型 爆炸 #点击事故信息 取消 按钮 BasePage.get_windows_img1(self) # 调用基类截图方法
def test_toolbar_25(self): homepage = HomePage(self.driver) analysispage = AnalysisPage(self.driver) homepage.type_search("甲醛") # 输入框中输入甲醛 homepage.send_submit_btn() # 点击搜索按钮 homepage.click_config_2() # 点击实体筛选框2(此处根据搜索结果来排列,当前化学品位于筛选框第2) homepage.click_choose_all() # 点击勾选 所有 (当前化学品只有1条) homepage.click_analysis_button() # d点击进入图谱分析界面 analysispage.acclick_node() #点击甲醛节点 analysispage.click_details() #点击 查看详情 time.sleep(2) analysispage.click_fallback() #点击回退 BasePage.get_windows_img1(self) # 调用基类截图方法
def test_toolbar_12(self): homepage = HomePage(self.driver) analysispage = AnalysisPage(self.driver) homepage.type_search("甲醛") # 输入框中输入甲醛 homepage.send_submit_btn() # 点击搜索按钮 homepage.click_config_2() # 点击实体筛选框2(此处根据搜索结果来排列,当前化学品位于筛选框第2) homepage.click_choose_all() # 点击勾选 所有 (当前化学品只有1条) homepage.click_analysis_button() # d点击进入图谱分析界面 #移动到环形菜单 重大危险源 #点击重大危险源 筛选 analysispage.click_dangerous() analysispage.click_dangerous_2() #危险等级 2 # analysispage.click_dangerous_sxbutton()#点击筛选按钮 BasePage.get_windows_img1(self) # 调用基类截图方法
def test_toolbar_62(self): homepage = HomePage(self.driver) analysispage = AnalysisPage(self.driver) homepage.type_search("甲醛") # 输入框中输入甲醛 homepage.send_submit_btn() # 点击搜索按钮 homepage.click_config_2() # 点击实体筛选框2(此处根据搜索结果来排列,当前化学品位于筛选框第2) homepage.click_choose_all() # 点击勾选 所有 (当前化学品只有1条) homepage.click_analysis_button() # d点击进入图谱分析界面 analysispage.click_choice() time.sleep(3) analysispage.acclick_node1() #单节点进行反应链分析 天然气节点 analysispage.acclick_node4() # 水节点 不同类型节点进行反应链分析 analysispage.click_reaction() BasePage.get_windows_img1(self) # 调用基类截图方法
def test_home_screen_components(self): home_page = HomePage(self.driver) home_page.validate_search_container_is_present() home_page.validate_upper_footer_links_are_present() home_page.validate_lower_footer_links_are_present()
def test_VOP_DL(self): #用例注意test开头 """ 登陆系统并切换到VOP :return: """ homepage = HomePage(self.driver) list = BrowserEngine.readjson(self) user = list['username'] pwd = list['passwd'] homepage.input_username(user) homepage.input_password(pwd) homepage.click_login() time.sleep(2) homepage.get_windows_img() logger.info('loginpage已截图') try: elem = self.driver.find_element_by_id('timeInfo') #assert '' in homepage.get_page_title() # 调用页面对象继承基类中的获取页面标题方法 assert (user) in self.driver.page_source #self.assertEqual(str(elem.text), '李嘉华') print('Test Pass.') except Exception as e: print('Test Fail.', format(e)) homepage.get_windows_img() raise AssertionError
def test_toolbar_58(self): homepage = HomePage(self.driver) analysispage = AnalysisPage(self.driver) homepage.type_search("甲醛") # 输入框中输入甲醛 homepage.send_submit_btn() # 点击搜索按钮 homepage.click_config_2() # 点击实体筛选框2(此处根据搜索结果来排列,当前化学品位于筛选框第2) homepage.click_choose_all() # 点击勾选 所有 (当前化学品只有1条) homepage.click_analysis_button() # d点击进入图谱分析界面 analysispage.click_choice() time.sleep(3) analysispage.acclick_node1() analysispage.acclick_node2() #多节点进行路径分析 analysispage.acclick_node3() analysispage.click_path_analysis() # 默认是最短路径,深度为2, analysispage.click_confirm() #点击确定按钮 BasePage.get_windows_img1(self) # 调用基类截图方法
def test_toolbar_04(self): homepage = HomePage(self.driver) analysispage = AnalysisPage(self.driver) homepage.type_search("甲醛") # 输入框中输入甲醛 homepage.send_submit_btn() # 点击搜索按钮 homepage.click_config_2() # 点击实体筛选框2(此处根据搜索结果来排列,当前化学品位于筛选框第2) homepage.click_choose_all() # 点击勾选 所有 (当前化学品只有1条) homepage.click_analysis_button() # d点击进入图谱分析界面 analysispage.click_kuang_xuan()
def test_toolbar_42(self): homepage = HomePage(self.driver) analysispage = AnalysisPage(self.driver) homepage.type_search("甲醛") # 输入框中输入甲醛 homepage.send_submit_btn() # 点击搜索按钮 homepage.click_config_2() # 点击实体筛选框2(此处根据搜索结果来排列,当前化学品位于筛选框第2) homepage.click_choose_all() # 点击勾选 所有 (当前化学品只有1条) homepage.click_analysis_button() # d点击进入图谱分析界面 time.sleep(3) analysispage.click_add_shiti() analysispage.type_addshiti_input("asguosiagn") #无效字母 time.sleep(3) analysispage.click_addshiti_search() BasePage.get_windows_img1(self) # 调用基类截图方法
def test_toolbar_45(self): homepage = HomePage(self.driver) analysispage = AnalysisPage(self.driver) homepage.type_search("甲醛") # 输入框中输入甲醛 homepage.send_submit_btn() # 点击搜索按钮 homepage.click_config_2() # 点击实体筛选框2(此处根据搜索结果来排列,当前化学品位于筛选框第2) homepage.click_choose_all() # 点击勾选 所有 (当前化学品只有1条) homepage.click_analysis_button() # d点击进入图谱分析界面 time.sleep(3) analysispage.click_add_shiti() analysispage.type_addshiti_input("aslgduoi2134liuon@##$%") #字母加数字加特殊符号 time.sleep(3) analysispage.click_addshiti_search() analysispage.click_addshiti_close() #g关闭按钮 BasePage.get_windows_img1(self) # 调用基类截图方法
def test_toolbar_01(self): homepage = HomePage(self.driver) analysispage = AnalysisPage(self.driver) homepage.type_search("甲醛") # 输入框中输入甲醛5t6 homepage.send_submit_btn() # 点击搜索按钮 homepage.click_config_2() # 点击实体筛选框2(此处根据搜索结果来排列,当前化学品位于筛选框第2) homepage.click_choose_all() # 点击勾选 所有 (当前化学品只有1条) homepage.click_analysis_button() # d点击进入图谱分析界面 analysispage.right_click_node() time.sleep(1) # huagong=(self.driver).find_elements_by_link_text('化工企业') # webdriver.ActionChains(self.driver).move_to_element(huagong) analysispage.ac() time.sleep(3) # shaixuan=(self.driver).find_element_by_class_name('secondPiePath') # shaixuan.click() # analysispage.move_el_ring_huagong() # time.sleep(1) # analysispage.click_huagong_shaixuan() BasePage.get_windows_img1(self) # 调用基类截图方法
def test_toolbar_36(self): homepage = HomePage(self.driver) analysispage = AnalysisPage(self.driver) homepage.type_search("甲醛") # 输入框中输入甲醛 homepage.send_submit_btn() # 点击搜索按钮 homepage.click_config_2() # 点击实体筛选框2(此处根据搜索结果来排列,当前化学品位于筛选框第2) homepage.click_choose_all() # 点击勾选 所有 (当前化学品只有1条) homepage.click_analysis_button() # d点击进入图谱分析界面 time.sleep(3) analysispage.click_choice() analysispage.acclick_node3() time.sleep(1) analysispage.click_qie_ge() analysispage.click_filter() analysispage.click_entity_1() analysispage.click_entity_1() #先删除节点,然后过滤掉化学品,然后取消过滤 BasePage.get_windows_img1(self) # 调用基类截图方法
def do_login(self, username, password): self.do_send_keys(self.__textbox_username, username) self.do_send_keys(self.__textbox_password, password) self.do_click(self.__button_login) return HomePage(self.driver)