def test_course_org_fav(self): '''课程组织,页面及数量的变化''' '''暂时不完成''' self.login() self.click(BaseEle.link_courses) ele = self.driver.find_elements_by_xpath( "//*[@class='left layout']//*[contains(@class,'box')]/div[*]/a/h2") ele[0].click() self.js("window.scrollTo(100,250);") self.sleep(1) fav_text = self.get_text("id=>jsRightBtn") # 收藏状态 与数据库对比 # 2、读取数据库信息 result = DB().show_data_all_course("add_time") # print(result[0]) # 3、读取状态 fav_status = DB().show_course_user_fav(user_name="admin123", fav_id=result[0]['id'], fav_type=1) # 4、读取收藏数量 before_fav_nums = int(result[0]['fav_nums']) print("fav_status: %s, before_fav_nums: %d" % (fav_status, before_fav_nums)) # 收藏状态 与数据库对比 self.assertEqual(fav_status, fav_text, "点击前,收藏状态与数据库不一致!")
def test_course_orginfo(self): '''课程机构信息''' '''暂时不写''' self.login() self.click(BaseEle.link_courses) ele = self.driver.find_elements_by_xpath( "//*[@class='left layout']//*[contains(@class,'box')]/div[*]/a/h2") ele[0].click() self.js("window.scrollTo(100,250);") self.sleep(1) org_name = str(self.get_text("xpath=>//*[@class='center']")) courses = str( self.get_text("xpath=>//*[@class='clear']/ul/li[1]/span")).split( ":")[1].strip(' ') teachers = str( self.get_text("xpath=>//*[@class='clear']/ul/li[2]/span")).split( ":")[1].strip(' ') address = str(self.get_text( "xpath=>//*[@class='clear']/ul/li[3]")).split(":")[1].strip(' ') print(org_name) print(courses) print(teachers) print(address) # 读取数据库信息 result = DB().show_data_all_course("add_time") print(result[0]) course_org_id = result[0]["course_org_id"]
def test_teacher_list(self): ''' 页面右方的教师排名 :return: ''' self.login() self.click(BaseEle.link_teachers) ele = self.driver.find_elements_by_xpath(BaseEle.list_teacher) ele[0].click() self.js(BaseEle.swipe_windows) self.sleep(1) # 教师排行榜 teacher_list = "//*[@class='fr list']//*[@class='des']/dd/a/h1" hot_teachers = self.driver.find_elements_by_xpath(teacher_list) result = DB().showdata_all_teachers('click_nums', 'desc') i = 0 for hot_teacher in hot_teachers: print(hot_teacher.text) self.assertTrue( str(hot_teacher.text).__contains__(str(result[i]['name'])), "不相等") i = i + 1
def test_sort_click_nums(self): '''默认排序''' self.login() self.click(BaseEle.link_orgs) self.driver.find_element_by_partial_link_text("课程数").click() ele = self.driver.find_elements_by_xpath(BaseEle.list_orgs) l = [] num = len(ele) for i in range(0, num): print(i) l.append(ele[i].text) print("-------") print(l) self.sleep(3) print("-------") result = DB().show_all_orgs('course_num', 'desc') i = 0 for txt in l: name = str(result[i]['name']) print(name) self.assertTrue( str(txt).__contains__(name), name + " : " + txt + "不一致") i += 1
def test_sort_addtime(self): '''默认排序''' self.login() self.click(BaseEle.link_teachers) self.click("link_text=>全部") ele = self.driver.find_elements_by_xpath(BaseEle.list_teacher) l = [] num = len(ele) for i in range(0, num): print(i) l.append(ele[i].text) print("-------") print(l) self.sleep(3) print("-------") result = DB().showdata_all_teachers("id", 'asc') i = 0 for txt in l: name = str(result[i]['name']) print(name) self.assertTrue( str(txt).__contains__(name), name + " : " + txt + "不一致") i += 1
def test_sort_click_nums(self): '''热门排序''' self.login() self.click(BaseEle.link_courses) self.click("link_text=>最热门") ele = self.driver.find_elements_by_xpath( "//*[@class='left layout']//*[contains(@class,'box')]/div[*]/a/h2") l = [] num = len(ele) for i in range(0, num): print(i) l.append(ele[i].text) print("-------") print(l) self.sleep(3) print("-------") result = DB().show_data_all_course("click_nums") i = 0 for txt in l: name = str(result[i]['name']) self.assertEqual(name, str(txt), name + " : " + txt + "不一致") i += 1
def test_search_org(self): self.login() self.search('org', "python") self.sleep(2) num = self.get_text("xpath=>//span[@class='key']") first_org = self.get_text("xpath=>//*[@class='clearfix']/a/h1") result = DB().show_data_org("python") self.assertEqual(num, str(len(result)), "数量不一致") self.assertEqual(first_org, result[0]['name'], "搜索出的第一个机构名称不一致")
def test_search_course(self): self.login() self.search('course', "python") self.sleep(2) ls = self.get_text( "xpath=>//*[@id='content']/div[@class='group_list']/div[@class='box']/div[1]/a/h2" ) self.sleep(2) result = DB().show_data_course("python") self.assertEqual(ls, result[0]['name'], "搜索结果不匹配")
def test_search_teacher(self): self.login() self.search('teacher', u"大") self.sleep(2) num = self.get_text("xpath=>//span[@class='key']") first_org = self.get_text( "xpath=>//*[@class='left']//*[contains(@href,'/org/teacher/detail/')]/h1" ) result = DB().show_data_teacher("大") self.assertEqual(num, str(len(result)), "数量不一致") self.assertTrue(first_org.__contains__(result[0]['name']), "搜索出的第一个机构名称不一致")
def test_teacher_detail(self): ''' 第一个,所有信息匹对 :return: ''' self.login() self.click(BaseEle.link_teachers) ele = self.driver.find_elements_by_xpath(BaseEle.list_teacher) ele[0].click() self.js(BaseEle.swipe_windows) self.sleep(1) # 教师排行榜 teacher_list = "xpath=>//*[@class='fr list']//*[@class='des']/dd/a/h1" teacher_name = "xpath=>//*[@class='fl list']//*[@class='des']/dd/a/h1" work_years = "xpath=>//*[@class='fl list']//*[@class='des']/dd/ul/li[1]" work_company = "xpath=>//*[@class='fl list']//*[@class='des']/dd/ul/li[2]" work_positon = "xpath=>//*[@class='fl list']//*[@class='des']/dd/ul/li[3]" points = "xpath=>//*[@class='fl list']//*[@class='des']/dd/ul/li[4]" result = DB().showdata_all_teachers('id', 'asc', self.get_text(teacher_name)[:-4]) print(result) self.assertTrue( str(self.get_text(teacher_name)).__contains__( str(result[0]['name'])), "不相等") self.assertTrue( str(self.get_text(work_years)).__contains__( str(result[0]['work_years'])), "不相等") self.assertTrue( str(self.get_text(work_company)).__contains__( str(result[0]['work_company'])), "不相等") self.assertTrue( str(self.get_text(work_positon)).__contains__( str(result[0]['work_positon'])), "不相等") self.assertTrue( str(self.get_text(points)).__contains__(str(result[0]['points'])), "不相等")
def test_course_detail(self): ''' 最新,第一个,所有信息匹对 :return: ''' self.login() self.click(BaseEle.link_courses) ele = self.driver.find_elements_by_xpath( "//*[@class='left layout']//*[contains(@class,'box')]/div[*]/a/h2") ele[0].click() self.js(BaseEle.swipe_windows) self.sleep(1) print("test start") print("title ", self.get_text("xpath=>//*[@class='des']/h1")) print("title2 ", self.get_text("xpath=>//*[@class='des']/span[@class='key']")) print("难度 ", self.get_text("xpath=>//*[@class='des']/div/span/i")) print("学习人数 ", self.get_text("xpath=>//*[@class='des']/div/span[2]")) print("时长 ", self.get_text("xpath=>//ul[@class='parameter']/li[1]/span[2]")) print("章节数 ", self.get_text("xpath=>//ul[@class='parameter']/li[2]/span[2]")) print("课程类别 ", self.get_text("xpath=>//ul[@class='parameter']/li[3]/span[2]")) print( "学习用户 ", self.get_display("xpath=>//ul[@class='parameter']/li[4]/span[2]")) print("detail ", self.get_text("xpath=>//*[@class='left layout']/div[2]/p")) print("test end") # 读取数据库结果 result = DB().show_data_all_course("add_time") print("test start") self.assertEqual(self.get_text("xpath=>//*[@class='des']/h1"), result[0]['name'], "不相等") self.assertEqual( self.get_text("xpath=>//*[@class='des']/span[@class='key']"), result[0]['desc']) self.assertEqual( self.get_text("xpath=>//*[@class='left layout']/div[2]/p"), result[0]['detail']) self.assertEqual( self.get_text("xpath=>//ul[@class='parameter']/li[1]/span[2]"), str(result[0]['learn_times'])) self.assertEqual( self.get_text("xpath=>//ul[@class='parameter']/li[3]/span[2]"), result[0]['category']) # 学习人数 students = self.get_text( "xpath=>//*[@class='des']/div/span[2]").__str__() students = students.split(":")[1] self.assertEqual(students, str(result[0]['students'])) # 章节数 lession_num = self.get_text( "xpath=>//ul[@class='parameter']/li[2]/span[2]") lessions = DB().show_lession_num(int(result[0]["id"])) self.assertEqual(int(lession_num), lessions[0]['lession_num']) # 等级 degree = self.choices(result[0]["degree"]) self.assertEqual(self.get_text("xpath=>//*[@class='des']/div/span/i"), degree) print("test end")
def test_course_fav(self): '''课程收藏,页面及数量的变化''' self.login() self.click(BaseEle.link_courses) ele = self.driver.find_elements_by_xpath( "//*[@class='left layout']//*[contains(@class,'box')]/div[*]/a/h2") ele[0].click() self.js("window.scrollTo(100,250);") self.sleep(1) # 点击前状态获取 # 1、获取文字 fav_text = self.get_text("id=>jsLeftBtn") # 2、读取数据库信息 result = DB().show_data_all_course("add_time") # print(result[0]) # 3、读取状态 fav_status = DB().show_course_user_fav(user_name="admin123", fav_id=result[0]['id'], fav_type=1) # 4、读取收藏数量 before_fav_nums = int(result[0]['fav_nums']) print("fav_status: %s, before_fav_nums: %d" % (fav_status, before_fav_nums)) # 收藏状态 与数据库对比 self.assertEqual(fav_status, fav_text, "点击前,收藏状态与数据库不一致!") # 点击后状态 self.click("id=>jsLeftBtn") self.F5() # 点击前状态获取 # 1、获取文字 fav_text = self.get_text("id=>jsLeftBtn") # 2、读取数据库信息 result = DB().show_data_all_course("add_time") # print(result[0]) # 3、读取状态 fav_status = DB().show_course_user_fav(user_name="admin123", fav_id=result[0]['id'], fav_type=1) after_fav_nums = int(result[0]['fav_nums']) print("fav_status: %s, before_fav_nums: %d" % (fav_status, after_fav_nums)) # 收藏状态 与数据库对比 self.assertEqual(fav_status, fav_text, "点击后,收藏状态与数据库不一致!") # 最后一次 收藏/已收藏按钮的文字,收藏量增加或减少 if str(fav_text).__eq__("收藏"): print("收藏") if before_fav_nums >= 1: self.assertEqual(before_fav_nums, after_fav_nums + 1, "点击后,收藏数量错误!") else: self.assertEqual(0, after_fav_nums, "点击后,收藏数量错误!") else: print("已收藏") self.assertEqual(before_fav_nums, after_fav_nums - 1, "点击后,收藏数量错误!")