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