class TestLogin(unittest.TestCase): # SetUp测试环境 def setUp(self): '''获取driver对象,登录应用''' self._driver = Driver().get_driver self.__init_login_activity() #TearDown测试环境 def tearDown(self): '''重置driver''' Driver().reset_driver() # 关闭当前session,仅供单条case测试使用,多条的时候注释掉此行 Driver().close_driver() #初始化方法,进入我的班级页面 def __init_login_activity(self): # 登录双师应用 self._driver = Driver().get_driver() _ele_login_account = self._driver.find_element_by_id(RES.ID_ASSIST_LOGIN_ACCOUNT) _ele_login_password = self._driver.find_element_by_id(RES.ID_ASSIST_LOGIN_PASSWORD) _ele_login_denglu = self._driver.find_element_by_id(RES.ID_ASSIST_LOGIN_DENGLU) if _ele_login_account.text == "18211155659": _ele_login_denglu.click() else: _ele_login_account.send_keys("18211155659") _ele_login_password.send_keys("123456") _ele_login_denglu.click() def test_01(self): print "test11111111111111111111"
def find_all_student_list(self): ''' 找出所有学生列表 :return:返回第一行学生信息 ''' work_list = Driver().get_driver().find_element_by_id('com.xes.drawpanel:id/student_ListView') work_list1 = work_list.find_elements_by_class_name('android.widget.LinearLayout') print len(work_list1) # work_list = Driver().get_driver().find_elements_by_android_uiautomator( # "new UiSelector().className(\"android.widget.ListView\")" # ".childSelector(new UiSelector().className(\"android.widget.LinearLayout\"))") return work_list1[0]
class TestMyClass(unittest.TestCase): # SetUp测试环境 def setUp(self): '''获取driver对象,进入被测页面''' self._driver = Driver().get_driver() self.__init_Login_activity() # TearDown测试环境 def tearDown(self): # 重置driver,清空driver累积状态,供同时运行多条case使用 Driver().reset_driver() # 关闭当前session,仅供单条case测试使用,多条的时候注释掉此行 # Driver().close_driver() # 初始化方法,登录账户 def __init_Login_activity(self): _driver = LRES.login_account() # 点击我的班级 Driver().get_driver().find_element_by_id(RES.ID_CLASS).click() # C-11: 验证老师名字 def test_11_TeacherName(self): _exp_teacher_name = RES.teacher_name _act_teacher_name = self._driver.find_element_by_id(RES.ID_TEACHER).text.encode('utf8') print _act_teacher_name assert _exp_teacher_name == _act_teacher_name, \ '老师名字与期望不符,exp=%s, act=%s' % (_exp_teacher_name, _act_teacher_name) # C-12: 验证班级名字 def test_12_ClassName(self): _exp_class_name = RES.class_name _act_class_name = self._driver.find_element_by_id(RES.ID_CLASS_NAME).text.encode('utf8') print _act_class_name assert _exp_class_name == _act_class_name, \ '班级名字与期望不符,exp=%s, act=%s' % (_exp_class_name, _act_class_name) # C-13: 验证班级人数 def test_13_StuNo(self): _exp_stu_no = RES.stu_no _act_stu_no = self._driver.find_element_by_id(RES.ID_STU_NO).text.encode('utf8') print _act_stu_no assert _exp_stu_no == _act_stu_no, \ '班级人数与期望不符,exp=%s, act=%s' % (_exp_stu_no, _act_stu_no)
def __init_login_activity(self): # 登录双师应用 self._driver = Driver().get_driver() _ele_login_account = self._driver.find_element_by_id(RES.ID_ASSIST_LOGIN_ACCOUNT) _ele_login_password = self._driver.find_element_by_id(RES.ID_ASSIST_LOGIN_PASSWORD) _ele_login_denglu = self._driver.find_element_by_id(RES.ID_ASSIST_LOGIN_DENGLU) if _ele_login_account.text == "18211155659": _ele_login_denglu.click() else: _ele_login_account.send_keys("18211155659") _ele_login_password.send_keys("123456") _ele_login_denglu.click()
def click_submit_button(self): # 定义对号 right_button = Driver().get_driver().find_element_by_id(RES.ID_RIGHT) # 定义提交按钮并点击 submit_button = Driver().get_driver().find_element_by_id(RES.ID_SUBMIT) # 点击对号 right_button.click() # 点击提交按钮 submit_button.click()
def login_account(cls): driver = Driver().get_driver() __username = driver.find_element_by_id(RES.ID_LOGIN_USERNAME) # print 'username' + __username.text __pwd = driver.find_element_by_id(RES.ID_LOGIN_PASSED) # print 'pwd' + __pwd.text if __username.text == '输入账号. 正在编辑。': __username.send_keys(RES.USERNAME) if __pwd.text == 'Enter password.. 轻敲两次以编辑。': __pwd.send_keys(RES.PWD) driver.find_element_by_id(RES.ID_LOGIN_BUTTON).click() try: _ele_mywork = driver.find_element_by_name('我的工作') # print '登录成功' except: assert False, \ '登录失败'
def setUp(self): '''获取driver对象,登录应用''' self._driver = Driver().get_driver self.__init_login_activity()
def setUp(self): '''获取driver对象,进入被测页面''' self._driver = Driver().get_driver()
class TestLogin(unittest.TestCase): # SetUp测试环境 def setUp(self): '''获取driver对象,进入被测页面''' self._driver = Driver().get_driver() # TearDown测试环境 def tearDown(self): '''重置driver''' Driver().reset_driver() # C-11: 验证登录用户名输入框中的文字 def test_11_defaultTextOfLoginNameInput(self): _exp_username_text = '输入账号. 正在编辑。' _act_username_text = self._driver.find_element_by_id(RES.ID_LOGIN_USERNAME).text.encode('utf8') print _act_username_text assert _exp_username_text == _act_username_text, \ '登录用户名输入框中的文字与设计不符,exp=%s, act=%s' % (_exp_username_text, _act_username_text) # C-12: 验证登录密码输入框中的文字 def test_12_defaultTextOfLoginPwdInput(self): _exp_pwd_text = 'Enter password.. 轻敲两次以编辑。' _act_pwd_text = self._driver.find_element_by_id(RES.ID_LOGIN_PASSED).text.encode('utf8') print _act_pwd_text assert _exp_pwd_text == _act_pwd_text, \ '登录密码输入框中的文字与设计不符,exp=%s, act=%s' % (_exp_pwd_text, _act_pwd_text) #C-13: 验证登录按钮上的文字 def test_13_defaultTextOfLoginButtonText(self): _exp_Login_text = '登陆' _act_login_text = self._driver.find_element_by_id(RES.ID_LOGIN_BUTTON).text.encode('utf8') print _act_login_text assert _exp_Login_text == _act_login_text, \ '登录按钮上的文字与设计不符,exp=%s, act=%s' % (_exp_Login_text, _act_login_text) #C-14: 验证版本号 def test_14_defaultTextOfVersionText(self): _exp_version_text = RES.VERSION _act_version_text = self._driver.find_element_by_id(RES.ID_VERSION_NO).text.encode('utf8') print _act_version_text assert _exp_version_text == _act_version_text, \ '版本号与期望不符,exp=%s, act=%s' % (_exp_version_text, _act_version_text) #C-15: 验证登录,输入用户名密码点登录 def test_15_Login(self): self._driver.find_element_by_id(RES.ID_LOGIN_USERNAME).send_keys(RES.USERNAME) self._driver.find_element_by_id(RES.ID_LOGIN_PASSED).send_keys(RES.PWD) self._driver.find_element_by_id(RES.ID_LOGIN_BUTTON).click() try: _ele_mywork = self._driver.find_element_by_name("我的工作") print '登录成功' except: assert False, \ '登录失败'
def setUp(self): '''获取driver对象,进入被测页面''' self._driver = Driver().get_driver() self.__init_drawpanel_activity()
class TestDrawpanel(unittest.TestCase): # SetUp测试环境 def setUp(self): '''获取driver对象,进入被测页面''' self._driver = Driver().get_driver() self.__init_drawpanel_activity() # TearDown测试环境 def tearDown(self): # 重置driver,清空driver累积状态,供同时运行多条case使用 Driver().reset_driver() # 关闭当前session,仅供单条case测试使用,多条的时候注释掉此行 # Driver().close_driver() # 初始化方法,登录账户 # 点击批改进入批改页面 def __init_drawpanel_activity(self): _driver = LRES.login_account() WRES.find_and_click_draw_button() # C-11: 验证没有批改作业的时候学生名字显示 # 期望是无学生 def test_11_NoWork(self): _exp_student_name = u'无学生' _act_student_name = self._driver.find_element_by_id(RES.ID_STUDENT_NAME).text.encode('utf-8') print u'请查看没有待批改作业的批改截图:' # 给截图加上时间戳,防止重复命名的覆盖 photo().take_screeshot() assert _exp_student_name == _act_student_name, \ '期望的没作业时候的学生名字与设计不符,exp=%s, act=%s' % (_exp_student_name, _act_student_name) # C-12: 获取提交作业的学生情况,试卷情况并打印 def test_12_ClickFeedBack(self): feed_back_button = self._driver.find_element_by_id(RES.ID_IS_FEEDBACK) print u'标记按钮初始内容为:' + feed_back_button.text.encode('utf-8') feed_back_button.click() _exp_feed_back_content = u'已标记' _act_feed_back_content = feed_back_button.text.encode('utf-8') print u'标记按钮初始内容为:' + _act_feed_back_content assert _exp_feed_back_content == _act_feed_back_content, \ '期望的标记按钮名字与设计不符,exp=%s, act=%s' % (_exp_feed_back_content, _act_feed_back_content) # C-13: 获取提交作业的学生情况,试卷情况并打印 def test_13_GetStudentInfoandPaperInfo(self): # 获取提交作业的学生姓名 _act_student_name = self._driver.find_element_by_id(RES.ID_STUDENT_NAME).text.encode('utf-8') print u'提交作业的学生名字:' + _act_student_name # 获取提交作业的试卷名字 _act_paper_name = self._driver.find_element_by_id(RES.ID_PAPER_NAME).text.encode('utf-8') print u'提交作业的试卷名字:' + _act_paper_name # 获取提交作业的试卷题号 _act_question_no = self._driver.find_element_by_id(RES.ID_QUESTION_NO).text.encode('utf-8') print U'提交作业的试卷题号:' + _act_question_no # 截图 photo().take_screeshot() # C-14: 点击提交按钮弹出分数选择框 def test_14_ClickSubmitDialog(self): RES().click_submit_button() if findsomething().find_by_message(self._driver, u'1分', 2, 1): print u'点击提交后弹出框正确!' else: print u'点击提交后弹出框错误!' # C-15: 查看错题原因是否显示完全 def test_15_CheckWrongReason(self): RES().click_submit_button() photo().take_screeshot() for reason in RES().wrong_list: if findsomething().find_by_message(self._driver, reason, 2, 1): print '错题原因' + reason + '存在' else: print '错题原因' + reason + '不存在' # C-16: 查看分数是否显示完全 def test_16_CheckScoreList(self): RES().click_submit_button() for score in RES().score_list: if findsomething().find_by_message(self._driver, score, 2, 1): print '分数' + score + '存在' else: print '分数' + score + '不存在' # C-17: 查看确认取消是否显示完全 def test_17_CheckButtonList(self): RES().click_submit_button() for button in RES().button_list: if findsomething().find_by_message(self._driver, button, 2, 1): print '按钮' + button + '存在' else: print '按钮' + button + '不存在' # C-18: 点击弹出框的取消按钮 def test_18_ClickCancelButton(self): RES().click_submit_button() photo().take_screeshot() cancel_button = self._driver.find_element_by_id(RES.ID_CANCEl) cancel_button.click() if findsomething().find_by_message(self._driver, u'提交', 2, 1): print u'取消功能正常,弹出框关闭' else: print u'取消功能不正常,弹出框没有关闭' # C-19: 批改作业 def test_19_DrawWork(self): RES.draw_work()
def draw_work(self): ''' 画几笔,用用橡皮擦 录音,播放播音 选择对错 提交 :return: ''' # 定义driver res_driver = Driver().get_driver() # 定义对号 right_button = res_driver.find_element_by_id(RES.ID_RIGHT) # 定义错号 wrong_button = res_driver.find_element_by_id(RES.ID_WRONG) # 定义半对 right_wrong_button = res_driver.find_element_by_id(RES.ID_RIGHT_WRONG) # 结果列表 result = [right_button, wrong_button, right_wrong_button] # 定义提交按钮并点击 submit_button = res_driver.find_element_by_id(RES.ID_SUBMIT) # 定义铅笔/橡皮按钮 pen_erase_button = res_driver.find_element_by_id(RES.ID_PEN) # 定义录音/停止按钮 record_button = res_driver.find_element_by_id(RES.ID_RECORD) # 定义播放按钮 record_play_button = res_driver.find_element_by_id(RES.ID_RECORD_PLAY) # 定义查看题目按钮 question_see_button = res_driver.find_element_by_id(RES.ID_QUESTION_SEE) # 定义标记按钮 feedback_button = res_driver.find_element_by_id(RES.ID_IS_FEEDBACK) # 用笔画3笔 res_driver.swipe(661, 473, 1821, 473) res_driver.swipe(661, 1358, 1821, 1358) res_driver.swipe(996, 318, 996, 1323) res_driver.swipe(1530, 318, 1530, 1323) # 点击铅笔按钮变为橡皮擦 pen_erase_button.click() # 擦除一条线 res_driver.swipe(1530, 318, 1530, 1323) # 录音按钮 record_button.click() # 设置录音时间5s res_driver.implicitly_wait(5) # 再次点击停止录音 record_button.click() # 点击录音播放按钮 record_play_button.click() # 设置播放录音时间5s res_driver.implicitly_wait(5) # 点击查看题目 question_see_button.click() if findsomething().find_by_message(res_driver, u'原题', 2, 1): print u'查看题目功能正常' else: print u'查看题目功能不正常' # 定义关闭查看题目按钮 question_close_button = res_driver.find_element_by_id('com.xes.drawpanel:id/diss_window') # 关闭查看题目 question_close_button.click() # 随机选择一个答题结果 result[random.randint(0, 2)].click() # 点击标记按钮 feedback_button.click() # 点击提交按钮 submit_button.click() # 知识点出错 show_submit1 = res_driver.find_element_by_id(RES.ID_SHOW_SUBMIT1) # 分析能力弱 show_submit2 = res_driver.find_element_by_id(RES.ID_SHOW_SUBMIT2) # 基础概念模糊 show_submit3 = res_driver.find_element_by_id(RES.ID_SHOW_SUBMIT3) # 计算失误 show_submit4 = res_driver.find_element_by_id(RES.ID_SHOW_SUBMIT4) # 学习习惯较差 show_submit5 = res_driver.find_element_by_id(RES.ID_SHOW_SUBMIT5) # 马虎粗心 show_submit6 = res_driver.find_element_by_id(RES.ID_SHOW_SUBMIT6) # 态度不端正 show_submit7 = res_driver.find_element_by_id(RES.ID_SHOW_SUBMIT7) # 其它 show_submit8 = res_driver.find_element_by_id(RES.ID_SHOW_SUBMIT8) # 1分 show_score1 = res_driver.find_element_by_id(RES.ID_SHOW_SCORE1) # 2分 show_score2 = res_driver.find_element_by_id(RES.ID_SHOW_SCORE2) # 3分 show_score3 = res_driver.find_element_by_id(RES.ID_SHOW_SCORE3) # 4分 show_score4 = res_driver.find_element_by_id(RES.ID_SHOW_SCORE4) # 5分 show_score5 = res_driver.find_element_by_id(RES.ID_SHOW_SCORE5) # 6分 show_score6 = res_driver.find_element_by_id(RES.ID_SHOW_SCORE6) # 7分 show_score7 = res_driver.find_element_by_id(RES.ID_SHOW_SCORE7) # 8分 show_score8 = res_driver.find_element_by_id(RES.ID_SHOW_SCORE8) # 9分 show_score9 = res_driver.find_element_by_id(RES.ID_SHOW_SCORE9) # 10分 show_score10 = res_driver.find_element_by_id(RES.ID_SHOW_SCORE10) # 取消 cancel_button = res_driver.find_element_by_id(RES.ID_CANCEl) # 确认 yes_button = res_driver.find_element_by_id(RES.ID_YES) # 定义出错原因list wrong_button_list = [show_submit1, show_submit2, show_submit3, show_submit4, \ show_submit5, show_submit6, show_submit7, show_submit8] # 定义分数列表 score_button_list = [show_score1, show_score2, show_score3, show_score4, show_score5, \ show_score6, show_score7, show_score8, show_score9, show_score10] # 随机选择一个错题原因 wrong_button_list[random.randint(0, 7)].click() # 随机选择一个分数 score_button_list[random.randint(0, 9)].click() # 取消关闭对话框 cancel_button.click() # 再次点击提交按钮 submit_button.click() # 随机选择一个错题原因 wrong_button_list[random.randint(0, 7)].click() # 随机选择一个分数 score_button_list[random.randint(0, 9)].click() # 点击确认提交作业 yes_button.click()
class TestSearch(unittest.TestCase): #SetUp测试环境 def setUp(self): '''获取driver对象,进入被测页面''' self._driver = Driver().get_driver() self.__init_serch_activity() #TearDown测试环境 def tearDown(self): '''重置driver''' Driver().reset_driver() #初始化方法,启动搜索页面 def __init_serch_activity(self): '''获取并点击位于首页的搜索入口图标''' _ele_search_img = self._driver.find_element_by_id(RES.ID_SEARCH_ENTRY_IMG) _ele_search_img.click() #页面常用组建 self._ele_search_input = self._driver.find_element_by_id(RES.ID_SEARCH_INPUT) #C-11: 验证搜索输入框中的文字 def test_11_defaultTextOfSearchInput(self): _exp_text = '搜索书名或作者' _act_text = self._ele_search_input.text.encode('utf8') assert _exp_text == _act_text, \ '搜索输入框中的文字与设计不符,exp=%s, act=%s' %(_exp_text, _act_text) #C-12: 验证搜索,搜索:烦人修仙传 def test_12_searchTargetBook(self): _exp_bookName = u'凡人修仙传' self._ele_search_input.send_keys(_exp_bookName) self._driver.find_element_by_id(RES.ID_SEARCH_SUBMIT).click() _act_rstText = self._driver.find_element_by_id(RES.ID_SEARCH_RST_TEXT).text assert _act_rstText == _exp_bookName, \ '搜索跳转后的输入框文字与所输入的书名不一致, exp=%s, axt=%s' % (_exp_bookName, _act_rstText) _act_rstCount = self._driver.find_element_by_id(RES.ID_SEARCH_RST_COUNT).text assert _act_rstCount != u'0本', \ '搜索跳转后的输入框数量显示小于1' #C-13: 验证搜索历史,前置case:C-12 def test_13_searchHistoryTitle(self): try: _ele_searchHistory = self._driver.find_element_by_id(RES.ID_SEARCH_HISTORY) print _ele_searchHistory.text except: assert False, \ '未发现搜索历史栏目' #C-14: 清空搜索记录, 前置case:C-12 def test_13_cleanHistoryList(self): _ele_cleanHistory = self._driver.find_element_by_id(RES.ID_CLEAN_HISTORY) _ele_cleanHistory.click() self._driver.find_element_by_id(RES.ID_CLEAN_CONFIRM).click() try: _ele_cleanHistory = self._driver.find_element_by_id(RES.ID_SEARCH_HISTORY) print _ele_cleanHistory.text except: return assert True, \ '发现清空搜索记录按钮' #C-13: 验证每次进入获取的热搜词贴都是随机不同的 def test_21_hotWordsTag(self): _hot_words_id = 'com.esbook.reader:id/tv_hot_word_search_item' _hot_words_tags = self._driver.find_elements_by_id(_hot_words_id) for _hot_wods in _hot_words_tags: print _hot_wods.text self._driver.back() self._driver.back() _ele_search_img = self._driver.find_element_by_id(RES.ID_SEARCH_IMG_MAIN) _ele_search_img.click() _hot_words_tags = self._driver.find_elements_by_id(_hot_words_id) for _hot_wods in _hot_words_tags: print _hot_wods.text
class TestMyWork(unittest.TestCase): # SetUp测试环境 def setUp(self): '''获取driver对象,进入被测页面''' self._driver = Driver().get_driver() self.__init_Login_activity() # TearDown测试环境 def tearDown(self): # 重置driver,清空driver累积状态,供同时运行多条case使用 # Driver().reset_driver() # 关闭当前session,仅供单条case测试使用,多条的时候注释掉此行 Driver().close_driver() # 初始化方法,登录账户 def __init_Login_activity(self): _driver = LRES.login_account() # C-11: 验证试卷名字 def test_11_PaperName(self): _exp_paper_name = RES.paper_name _act_paper_name = RES.find_all_work().find_element_by_id(RES.ID_PAPER_TITLE).text.encode('utf8') print _act_paper_name assert _exp_paper_name == _act_paper_name, \ '试卷名字与期望不符,exp=%s, act=%s' % (_exp_paper_name, _act_paper_name) # C-12: 验证老师名字 def test_12_TeacherName(self): _exp_teacher_name = RES.teacher_name _act_teacher_name = RES.find_all_work().find_element_by_id(RES.ID_TEACHER_NAME).text.encode('utf8') print _act_teacher_name assert _exp_teacher_name == _act_teacher_name, \ '主讲老师名字与期望不符,exp=%s, act=%s' % (_exp_teacher_name, _act_teacher_name) # C-13: 验证班级名字 def test_13_ClassName(self): _exp_class_name = RES.class_name # _act_class_name = self.__find_All_Work().find_element_by_ _act_class_name = RES.find_all_work().find_element_by_id(RES.ID_CLASS).text.encode('utf8') print _act_class_name assert _exp_class_name == _act_class_name, \ '班级名字与期望不符,exp=%s, act=%s' % (_exp_class_name, _act_class_name) # C-14: 验证发布时间 def test_14_PubTime(self): _exp_pub_time = RES.pub_time _act_pub_time = RES.find_all_work().find_element_by_id(RES.ID_PUB_TIME).text.encode('utf8') print _act_pub_time assert _exp_pub_time == _act_pub_time, \ '发布时间与期望不符,exp=%s, act=%s' % (_exp_pub_time, _act_pub_time) # C-15: 验证班级人数 def test_15_Class_No(self): _exp_class_no = RES.class_no _act_class_no = RES.find_all_work().find_element_by_id(RES.ID_CLASS_NUM).text.encode('utf8') print _act_class_no assert _exp_class_no == _act_class_no[-1], \ '班级人数与期望不符,exp=%s, act=%s' % (_exp_class_no, _act_class_no[-1]) # C-16: 验证提交人数和未提交人数之和是否为班级总人数 def test_16_Class_No(self): _submit_no = RES.find_all_work().find_element_by_id(RES.ID_SUBMIT_NUM).text.encode('utf8') # _submit_no.subString(-1) _not_submit_no = RES.find_all_work().find_element_by_id(RES.ID_NO_SUBMIT).text.encode('utf8') # 分别截取最后一个字符 assert string.atoi(_submit_no[-1]) + string.atoi(_not_submit_no[-1]) == string.atoi(RES.class_no), \ '提交人数与未提交人数之和和班级总人数不符,exp=%d, act=%d' % ( string.atoi(_submit_no[-1]) + string.atoi(_not_submit_no[-1]), RES.class_no) #C-17: 验证批改按钮为批改(1)的时候试卷状态应该为待批改,批改(0)的时候试卷状态应该为已完成 def test_17_Paper_Status_Pigai(self): RES.get_paper_status() # C-18: 验证待批作业数目 def test_18_Ready_To_Pigai(self): _exp_ready_pigai = '0' _act_ready_pigai = self._driver.find_element_by_id(RES.ID_READY_TO_PIGAI).text.encode('utf-8') print '待批数量:' + _act_ready_pigai assert _exp_ready_pigai == _act_ready_pigai, \ '待批数目与期望不符,exp=%s, act=%s' % (_exp_ready_pigai, _act_ready_pigai) #C-19: 点击作业原题与答案按钮 def test_19_Question_Check(self): question = RES.find_all_work().find_element_by_id(RES.ID_QUESTION) question.click() play_button = self._driver.find_element_by_id(RES.ID_PLAY) play_button.click() # message = '无语音解析'.encode('utf-8') __driver = self._driver # RES.find_toast(u"无语音解析",5, 1, self._driver) print RES.wait_toast_by_message(self._driver, "无语音解析", 5, 0.00001) # RES().wait_activity(u"无语音解析",5, 1) # Find_Toast.wait_toast_by_message(u"无语音解析",5, 1) # Find_Toast.find_toast(u"无语音解析",5, 0.5, self._driver) # WebDriverWait(driver, 5, 0.5).until(expected_conditions.presence_of_element_located((By.PARTIAL_LINK_TEXT, message))) self._driver.swipe(2106, 1209, 240, 1209) play_button.click() #C-20: 找到发布按钮并发布作业 def test_20_Publish_Work(self): RES.find_and_click_pub_button() #C-21: 找到批改按钮并批改作业 def test_21_Draw_Work(self): ''' 没作业的时候打印没有待批改作业 有作业的时候开始批改作业 :return: ''' RES.find_and_click_draw_button() student_name = self._driver.find_element_by_id(RES.ID_STUDENT_NAME).text.encode('utf-8') if student_name == u'无学生': print '现在没有待批改作业' else: #批改作业在testmywork中 pass # RES_DrawPanel.draw_work() #C-22: 获取作业列表数目 def test_22_Get_Work_No(self): list_panel_id = 'com.xes.drawpanel:id/live_ListView' # item_className = 'android.widget.LinearLayout' item_className = 'com.xes.drawpanel:id/rll' # a = Driver().get_driver().find_element_by_id(list_panel_id).find_elements_by_class_name(item_className) # print len(a) # b = a[0].find_elements_by_class_name('android.widget.TextView') # for tst in b: # print tst.text.encode('utf-8') # stu_info = E.element_scroll(Driver().get_driver(), list_panel_id, item_className) stu_info = E.element_scroll_to_find_button(Driver().get_driver(), list_panel_id, item_className) stu_no = len(stu_info) # stu_no = len(E.element_scroll(Driver().get_driver(), list_panel_id, item_className)) print '作业列表数量:' + str(stu_no) #C-23: 获取作业列表数目 def test_23_Get_Work_No(self): list_panel_id = 'com.xes.drawpanel:id/live_ListView' item_className = 'com.xes.drawpanel:id/rll' a = Driver().get_driver().find_element_by_id(list_panel_id).find_elements_by_id(item_className) print FRES.find_all_button(a[0])