Esempio n. 1
0
    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, "点击前,收藏状态与数据库不一致!")
Esempio n. 2
0
    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"]
Esempio n. 3
0
    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
Esempio n. 4
0
    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
Esempio n. 5
0
    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
Esempio n. 6
0
    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
Esempio n. 7
0
    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'], "搜索出的第一个机构名称不一致")
Esempio n. 8
0
    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'], "搜索结果不匹配")
Esempio n. 9
0
    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']),
                        "搜索出的第一个机构名称不一致")
Esempio n. 10
0
    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'])),
            "不相等")
Esempio n. 11
0
    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")
Esempio n. 12
0
    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,
                             "点击后,收藏数量错误!")